summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-01-22 19:29:36 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-01-23 10:18:19 +0100
commitafc49a652ec2eb5cce7a68918b6c5e6d9e8c2813 (patch)
treec6b66e820b0247f313330fee7b3fbe4d876621ef
parent0f64a9ade726880c945047b590134910775e5845 (diff)
use more concrete types in chart2, Diagram
Change-Id: Ic3e54f0d82e4cfd0e8eee08214800ce7f1427d25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128791 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--chart2/source/inc/ChartTypeTemplate.hxx4
-rw-r--r--chart2/source/model/main/ChartModel_Persistence.cxx10
-rw-r--r--chart2/source/model/template/ChartTypeTemplate.cxx11
3 files changed, 12 insertions, 13 deletions
diff --git a/chart2/source/inc/ChartTypeTemplate.hxx b/chart2/source/inc/ChartTypeTemplate.hxx
index 123fec2c8f6a..331298a0e8da 100644
--- a/chart2/source/inc/ChartTypeTemplate.hxx
+++ b/chart2/source/inc/ChartTypeTemplate.hxx
@@ -39,6 +39,7 @@ namespace com::sun::star::uno { class XComponentContext; }
namespace chart
{
class ChartType;
+class Diagram;
/** For creating diagrams and modifying existing diagrams. A base class that
implements XChartTypeTemplate and offers some tooling for classes that
@@ -82,7 +83,8 @@ public:
const OUString & rServiceName );
virtual ~ChartTypeTemplate() override;
- virtual css::uno::Reference< css::chart2::XDiagram > createDiagramByDataSource(
+ OOO_DLLPUBLIC_CHARTTOOLS
+ rtl::Reference< ::chart::Diagram > createDiagramByDataSource(
const css::uno::Reference< css::chart2::data::XDataSource >& xDataSource,
const css::uno::Sequence< css::beans::PropertyValue >& aArguments );
/// denotes if the chart needs categories at the first scale
diff --git a/chart2/source/model/main/ChartModel_Persistence.cxx b/chart2/source/model/main/ChartModel_Persistence.cxx
index 975ffaeb1d81..7d891996d9b5 100644
--- a/chart2/source/model/main/ChartModel_Persistence.cxx
+++ b/chart2/source/model/main/ChartModel_Persistence.cxx
@@ -27,6 +27,7 @@
#include <DataSourceHelper.hxx>
#include <AxisHelper.hxx>
#include <ThreeDHelper.hxx>
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <BaseCoordinateSystem.hxx>
@@ -402,7 +403,7 @@ void ChartModel::insertDefaultChart()
beans::PropertyState_DIRECT_VALUE ) };
}
- Reference< chart2::XDiagram > xDiagram( xTemplate->createDiagramByDataSource( xDataSource, aParam ) );
+ rtl::Reference< Diagram > xDiagram( xTemplate->createDiagramByDataSource( xDataSource, aParam ) );
setFirstDiagram( xDiagram );
@@ -430,11 +431,10 @@ void ChartModel::insertDefaultChart()
xDiagram->setLegend( xLegend );
// set simple 3D look
- Reference< beans::XPropertySet > xDiagramProperties( xDiagram, uno::UNO_QUERY );
- if( xDiagramProperties.is() )
+ if( xDiagram.is() )
{
- xDiagramProperties->setPropertyValue( "RightAngledAxes", uno::Any( true ));
- xDiagramProperties->setPropertyValue( "D3DScenePerspective", uno::Any( drawing::ProjectionMode_PARALLEL ));
+ xDiagram->setPropertyValue( "RightAngledAxes", uno::Any( true ));
+ xDiagram->setPropertyValue( "D3DScenePerspective", uno::Any( drawing::ProjectionMode_PARALLEL ));
ThreeDHelper::setScheme( xDiagram, ThreeDLookScheme::ThreeDLookScheme_Realistic );
}
diff --git a/chart2/source/model/template/ChartTypeTemplate.cxx b/chart2/source/model/template/ChartTypeTemplate.cxx
index 38c8466e49e7..44f33ace9e1e 100644
--- a/chart2/source/model/template/ChartTypeTemplate.cxx
+++ b/chart2/source/model/template/ChartTypeTemplate.cxx
@@ -24,6 +24,7 @@
#include <ChartType.hxx>
#include <AxisHelper.hxx>
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <AxisIndexDefines.hxx>
#include <unonames.hxx>
@@ -137,20 +138,16 @@ ChartTypeTemplate::~ChartTypeTemplate()
{}
// ____ ChartTypeTemplate ____
-uno::Reference< XDiagram > ChartTypeTemplate::createDiagramByDataSource(
+rtl::Reference< Diagram > ChartTypeTemplate::createDiagramByDataSource(
const uno::Reference< data::XDataSource >& xDataSource,
const uno::Sequence< beans::PropertyValue >& aArguments )
{
- Reference< XDiagram > xDia;
+ rtl::Reference< Diagram > xDia;
try
{
// create diagram
- xDia.set(
- GetComponentContext()->getServiceManager()->createInstanceWithContext(
- "com.sun.star.chart2.Diagram",
- GetComponentContext() ),
- uno::UNO_QUERY_THROW );
+ xDia = new Diagram(GetComponentContext());
// modify diagram
Reference< chart2::XDataInterpreter > xInterpreter( getDataInterpreter());