summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-01-23 16:17:20 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-01-23 20:19:56 +0100
commitb274c175a2f57cc414ccff127a2199692fc3b3b4 (patch)
tree998bd87610928659c0cb5037b21eb1a5f7a772f5
parent218acb48df79101392c2cc3a030ddb5dcee878c7 (diff)
use more concrete types in chart2, Diagram
Change-Id: I78b0e12e469ff17974b6ba176336d1a5f39afce5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128827 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--chart2/source/inc/ChartTypeTemplate.hxx7
-rw-r--r--chart2/source/model/main/ChartModel_Persistence.cxx2
-rw-r--r--chart2/source/model/template/BarChartTypeTemplate.cxx3
-rw-r--r--chart2/source/model/template/BarChartTypeTemplate.hxx2
-rw-r--r--chart2/source/model/template/ChartTypeTemplate.cxx38
-rw-r--r--chart2/source/model/template/ColumnLineChartTypeTemplate.cxx47
-rw-r--r--chart2/source/model/template/ColumnLineChartTypeTemplate.hxx2
-rw-r--r--chart2/source/model/template/LineChartTypeTemplate.cxx3
-rw-r--r--chart2/source/model/template/LineChartTypeTemplate.hxx2
-rw-r--r--chart2/source/model/template/NetChartTypeTemplate.cxx3
-rw-r--r--chart2/source/model/template/NetChartTypeTemplate.hxx2
-rw-r--r--chart2/source/model/template/PieChartTypeTemplate.cxx3
-rw-r--r--chart2/source/model/template/PieChartTypeTemplate.hxx2
-rw-r--r--chart2/source/model/template/ScatterChartTypeTemplate.cxx3
-rw-r--r--chart2/source/model/template/ScatterChartTypeTemplate.hxx2
-rw-r--r--chart2/source/model/template/StockChartTypeTemplate.cxx6
-rw-r--r--chart2/source/model/template/StockChartTypeTemplate.hxx2
-rw-r--r--chart2/source/tools/DiagramHelper.cxx4
18 files changed, 58 insertions, 75 deletions
diff --git a/chart2/source/inc/ChartTypeTemplate.hxx b/chart2/source/inc/ChartTypeTemplate.hxx
index 665b2709984c..2bcd1f256515 100644
--- a/chart2/source/inc/ChartTypeTemplate.hxx
+++ b/chart2/source/inc/ChartTypeTemplate.hxx
@@ -93,14 +93,13 @@ public:
OOO_DLLPUBLIC_CHARTTOOLS
void changeDiagram(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
+ const rtl::Reference< ::chart::Diagram >& xDiagram );
void changeDiagramData(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
const css::uno::Reference< css::chart2::data::XDataSource >& xDataSource,
const css::uno::Sequence< css::beans::PropertyValue >& aArguments );
virtual bool matchesTemplate(
- const css::uno::Reference<
- css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties );
virtual rtl::Reference< ::chart::ChartType >
getChartTypeForNewSeries( const std::vector<
diff --git a/chart2/source/model/main/ChartModel_Persistence.cxx b/chart2/source/model/main/ChartModel_Persistence.cxx
index 7d891996d9b5..a9eb264292c3 100644
--- a/chart2/source/model/main/ChartModel_Persistence.cxx
+++ b/chart2/source/model/main/ChartModel_Persistence.cxx
@@ -728,7 +728,7 @@ void SAL_CALL ChartModel::modified( const lang::EventObject& rEvenObject)
Reference<chart2::data::XDataSource> xDataSource(xDataProvider->createDataSource(aArguments));
rtl::Reference< ::chart::ChartTypeManager > xChartTypeManager = getTypeManager();
- Reference<chart2::XDiagram> xDiagram(getFirstDiagram());
+ rtl::Reference<Diagram> xDiagram(getFirstChartDiagram());
DiagramHelper::tTemplateWithServiceName aTemplateAndService = DiagramHelper::getTemplateForDiagram(xDiagram, xChartTypeManager);
aTemplateAndService.xChartTypeTemplate->changeDiagramData(xDiagram, xDataSource, aArguments);
diff --git a/chart2/source/model/template/BarChartTypeTemplate.cxx b/chart2/source/model/template/BarChartTypeTemplate.cxx
index 84d1f06a5cbe..266c07434319 100644
--- a/chart2/source/model/template/BarChartTypeTemplate.cxx
+++ b/chart2/source/model/template/BarChartTypeTemplate.cxx
@@ -19,6 +19,7 @@
#include "BarChartTypeTemplate.hxx"
#include "ColumnChartType.hxx"
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <servicenames_charttypes.hxx>
#include <DataSeriesHelper.hxx>
@@ -165,7 +166,7 @@ bool BarChartTypeTemplate::isSwapXAndY() const
// ____ ChartTypeTemplate ____
bool BarChartTypeTemplate::matchesTemplate(
- const Reference< chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties )
{
bool bResult = ChartTypeTemplate::matchesTemplate( xDiagram, bAdaptProperties );
diff --git a/chart2/source/model/template/BarChartTypeTemplate.hxx b/chart2/source/model/template/BarChartTypeTemplate.hxx
index fc12eb94b685..4364743082fe 100644
--- a/chart2/source/model/template/BarChartTypeTemplate.hxx
+++ b/chart2/source/model/template/BarChartTypeTemplate.hxx
@@ -64,7 +64,7 @@ protected:
// ____ ChartTypeTemplate ____
virtual bool matchesTemplate(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties ) override;
virtual rtl::Reference< ::chart::ChartType >
getChartTypeForNewSeries( const std::vector<
diff --git a/chart2/source/model/template/ChartTypeTemplate.cxx b/chart2/source/model/template/ChartTypeTemplate.cxx
index cabeedb76304..a2451a430b3d 100644
--- a/chart2/source/model/template/ChartTypeTemplate.cxx
+++ b/chart2/source/model/template/ChartTypeTemplate.cxx
@@ -27,6 +27,7 @@
#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <AxisIndexDefines.hxx>
+#include <BaseCoordinateSystem.hxx>
#include <unonames.hxx>
#include <com/sun/star/uno/XComponentContext.hpp>
@@ -177,7 +178,7 @@ bool ChartTypeTemplate::supportsCategories()
return true;
}
-void ChartTypeTemplate::changeDiagram( const uno::Reference< XDiagram >& xDiagram )
+void ChartTypeTemplate::changeDiagram( const rtl::Reference< Diagram >& xDiagram )
{
if( ! xDiagram.is())
return;
@@ -228,18 +229,9 @@ void ChartTypeTemplate::changeDiagram( const uno::Reference< XDiagram >& xDiagra
std::vector< rtl::Reference< ChartType > > aOldChartTypesSeq =
DiagramHelper::getChartTypesFromDiagram(xDiagram);
- Reference< XCoordinateSystemContainer > xCoordSysCnt( xDiagram, uno::UNO_QUERY );
- OSL_ASSERT( xCoordSysCnt.is());
- if( xCoordSysCnt.is())
+ for( rtl::Reference< BaseCoordinateSystem > const & coords : xDiagram->getBaseCoordinateSystems() )
{
- const Sequence< Reference< XCoordinateSystem > > aCooSysSeq(
- xCoordSysCnt->getCoordinateSystems());
- for( Reference< XCoordinateSystem > const & coords : aCooSysSeq )
- {
- Reference< XChartTypeContainer > xContainer( coords, uno::UNO_QUERY );
- if( xContainer.is() )
- xContainer->setChartTypes( Sequence< Reference< XChartType > >() );
- }
+ coords->setChartTypes( Sequence< Reference< XChartType > >() );
}
FillDiagram( xDiagram, aSeriesSeq, aData.Categories, aOldChartTypesSeq );
@@ -251,7 +243,7 @@ void ChartTypeTemplate::changeDiagram( const uno::Reference< XDiagram >& xDiagra
}
void ChartTypeTemplate::changeDiagramData(
- const Reference< chart2::XDiagram >& xDiagram,
+ const rtl::Reference< Diagram >& xDiagram,
const Reference< chart2::data::XDataSource >& xDataSource,
const Sequence< beans::PropertyValue >& aArguments )
{
@@ -301,7 +293,7 @@ void ChartTypeTemplate::changeDiagramData(
}
bool ChartTypeTemplate::matchesTemplate(
- const Reference< chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool /* bAdaptProperties */ )
{
bool bResult = false;
@@ -311,13 +303,11 @@ bool ChartTypeTemplate::matchesTemplate(
try
{
- Reference< XCoordinateSystemContainer > xCooSysCnt(
- xDiagram, uno::UNO_QUERY_THROW );
- Sequence< Reference< XCoordinateSystem > > aCooSysSeq(
- xCooSysCnt->getCoordinateSystems());
+ const std::vector< rtl::Reference< BaseCoordinateSystem > > & aCooSysSeq(
+ xDiagram->getBaseCoordinateSystems());
// need to have at least one coordinate system
- bResult = aCooSysSeq.hasElements();
+ bResult = !aCooSysSeq.empty();
if( bResult )
{
std::vector< rtl::Reference< ChartType > > aFormerlyUsedChartTypes;
@@ -327,18 +317,14 @@ bool ChartTypeTemplate::matchesTemplate(
const OUString aChartTypeToMatch = xOldCT->getChartType();
const sal_Int32 nDimensionToMatch = getDimension();
- for( sal_Int32 nCooSysIdx=0; bResult && (nCooSysIdx < aCooSysSeq.getLength()); ++nCooSysIdx )
+ for( sal_Int32 nCooSysIdx=0; bResult && (nCooSysIdx < static_cast<sal_Int32>(aCooSysSeq.size())); ++nCooSysIdx )
{
// match dimension
bResult = bResult && (aCooSysSeq[nCooSysIdx]->getDimension() == nDimensionToMatch);
- Reference< XChartTypeContainer > xCTCnt( aCooSysSeq[nCooSysIdx], uno::UNO_QUERY_THROW );
- Sequence< Reference< XChartType > > aChartTypeSeq( xCTCnt->getChartTypes());
- for( sal_Int32 nCTIdx=0; bResult && (nCTIdx < aChartTypeSeq.getLength()); ++nCTIdx )
+ std::vector< rtl::Reference< ChartType > > aChartTypeSeq( aCooSysSeq[nCooSysIdx]->getChartTypes2());
+ for( sal_Int32 nCTIdx=0; bResult && (nCTIdx < static_cast<sal_Int32>(aChartTypeSeq.size())); ++nCTIdx )
{
- if (!aChartTypeSeq[nCTIdx].is())
- return false;
-
// match chart type
bResult = bResult && aChartTypeSeq[nCTIdx]->getChartType() == aChartTypeToMatch;
bool bFound=false;
diff --git a/chart2/source/model/template/ColumnLineChartTypeTemplate.cxx b/chart2/source/model/template/ColumnLineChartTypeTemplate.cxx
index 181012dfa63b..26ba46b7afa9 100644
--- a/chart2/source/model/template/ColumnLineChartTypeTemplate.cxx
+++ b/chart2/source/model/template/ColumnLineChartTypeTemplate.cxx
@@ -21,6 +21,8 @@
#include "ColumnChartType.hxx"
#include "LineChartType.hxx"
#include <CommonConverters.hxx>
+#include <BaseCoordinateSystem.hxx>
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <DataSeriesHelper.hxx>
#include <servicenames_charttypes.hxx>
@@ -271,7 +273,7 @@ StackMode ColumnLineChartTypeTemplate::getStackMode( sal_Int32 nChartTypeIndex )
// ____ XChartTypeTemplate ____
bool ColumnLineChartTypeTemplate::matchesTemplate(
- const uno::Reference< XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties )
{
bool bResult = false;
@@ -281,35 +283,27 @@ bool ColumnLineChartTypeTemplate::matchesTemplate(
try
{
- Reference< chart2::XChartType > xColumnChartType;
- Reference< XCoordinateSystem > xColumnChartCooSys;
- Reference< chart2::XChartType > xLineChartType;
+ rtl::Reference< ChartType > xColumnChartType;
+ rtl::Reference< BaseCoordinateSystem > xColumnChartCooSys;
+ rtl::Reference< ChartType > xLineChartType;
sal_Int32 nNumberOfChartTypes = 0;
- Reference< XCoordinateSystemContainer > xCooSysCnt(
- xDiagram, uno::UNO_QUERY_THROW );
- const Sequence< Reference< XCoordinateSystem > > aCooSysSeq(
- xCooSysCnt->getCoordinateSystems());
- for( Reference< XCoordinateSystem > const & coords : aCooSysSeq )
+ for( rtl::Reference< BaseCoordinateSystem > const & coords : xDiagram->getBaseCoordinateSystems() )
{
- Reference< XChartTypeContainer > xCTCnt( coords, uno::UNO_QUERY_THROW );
- const Sequence< Reference< XChartType > > aChartTypeSeq( xCTCnt->getChartTypes());
- for( Reference< XChartType > const & chartType : aChartTypeSeq )
+ const std::vector< rtl::Reference< ChartType > > aChartTypeSeq( coords->getChartTypes2());
+ for( rtl::Reference< ChartType > const & chartType : aChartTypeSeq )
{
- if( chartType.is())
+ ++nNumberOfChartTypes;
+ if( nNumberOfChartTypes > 2 )
+ break;
+ OUString aCTService = chartType->getChartType();
+ if( aCTService == CHART2_SERVICE_NAME_CHARTTYPE_COLUMN )
{
- ++nNumberOfChartTypes;
- if( nNumberOfChartTypes > 2 )
- break;
- OUString aCTService = chartType->getChartType();
- if( aCTService == CHART2_SERVICE_NAME_CHARTTYPE_COLUMN )
- {
- xColumnChartType.set( chartType );
- xColumnChartCooSys.set( coords );
- }
- else if( aCTService == CHART2_SERVICE_NAME_CHARTTYPE_LINE )
- xLineChartType.set( chartType );
+ xColumnChartType = chartType;
+ xColumnChartCooSys = coords;
}
+ else if( aCTService == CHART2_SERVICE_NAME_CHARTTYPE_LINE )
+ xLineChartType = chartType;
}
if( nNumberOfChartTypes > 2 )
break;
@@ -334,10 +328,9 @@ bool ColumnLineChartTypeTemplate::matchesTemplate(
if( bResult && bAdaptProperties )
{
- Reference< XDataSeriesContainer > xSeriesContainer( xLineChartType, uno::UNO_QUERY );
- if( xSeriesContainer.is() )
+ if( xLineChartType.is() )
{
- sal_Int32 nNumberOfLines = xSeriesContainer->getDataSeries().getLength();
+ sal_Int32 nNumberOfLines = xLineChartType->getDataSeries().getLength();
setFastPropertyValue_NoBroadcast( PROP_COL_LINE_NUMBER_OF_LINES, uno::Any( nNumberOfLines ));
}
}
diff --git a/chart2/source/model/template/ColumnLineChartTypeTemplate.hxx b/chart2/source/model/template/ColumnLineChartTypeTemplate.hxx
index 42705776cce4..a8854a779d9d 100644
--- a/chart2/source/model/template/ColumnLineChartTypeTemplate.hxx
+++ b/chart2/source/model/template/ColumnLineChartTypeTemplate.hxx
@@ -57,7 +57,7 @@ protected:
// ____ XChartTypeTemplate ____
virtual bool matchesTemplate(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties ) override;
virtual rtl::Reference< ::chart::ChartType >
getChartTypeForNewSeries( const std::vector<
diff --git a/chart2/source/model/template/LineChartTypeTemplate.cxx b/chart2/source/model/template/LineChartTypeTemplate.cxx
index be8a81ad17bb..9629ab9e471b 100644
--- a/chart2/source/model/template/LineChartTypeTemplate.cxx
+++ b/chart2/source/model/template/LineChartTypeTemplate.cxx
@@ -19,6 +19,7 @@
#include "LineChartTypeTemplate.hxx"
#include "LineChartType.hxx"
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <servicenames_charttypes.hxx>
#include <DataSeriesHelper.hxx>
@@ -201,7 +202,7 @@ StackMode LineChartTypeTemplate::getStackMode( sal_Int32 /* nChartTypeIndex */ )
// ____ ChartTypeTemplate ____
bool LineChartTypeTemplate::matchesTemplate(
- const uno::Reference< chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties )
{
bool bResult = ChartTypeTemplate::matchesTemplate( xDiagram, bAdaptProperties );
diff --git a/chart2/source/model/template/LineChartTypeTemplate.hxx b/chart2/source/model/template/LineChartTypeTemplate.hxx
index 976c878328a3..55d0a23c0fb3 100644
--- a/chart2/source/model/template/LineChartTypeTemplate.hxx
+++ b/chart2/source/model/template/LineChartTypeTemplate.hxx
@@ -58,7 +58,7 @@ protected:
// ____ XChartTypeTemplate ____
virtual bool matchesTemplate(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties ) override;
virtual rtl::Reference< ::chart::ChartType >
getChartTypeForNewSeries( const std::vector<
diff --git a/chart2/source/model/template/NetChartTypeTemplate.cxx b/chart2/source/model/template/NetChartTypeTemplate.cxx
index 4cfffb66b838..222456629783 100644
--- a/chart2/source/model/template/NetChartTypeTemplate.cxx
+++ b/chart2/source/model/template/NetChartTypeTemplate.cxx
@@ -20,6 +20,7 @@
#include "NetChartTypeTemplate.hxx"
#include "FilledNetChartType.hxx"
#include "NetChartType.hxx"
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <servicenames_charttypes.hxx>
#include <DataSeriesHelper.hxx>
@@ -87,7 +88,7 @@ void NetChartTypeTemplate::applyStyle(
// ____ ChartTypeTemplate ____
bool NetChartTypeTemplate::matchesTemplate(
- const Reference< chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties )
{
bool bResult = ChartTypeTemplate::matchesTemplate( xDiagram, bAdaptProperties );
diff --git a/chart2/source/model/template/NetChartTypeTemplate.hxx b/chart2/source/model/template/NetChartTypeTemplate.hxx
index 7643cd7d5efe..6b57e3fe0890 100644
--- a/chart2/source/model/template/NetChartTypeTemplate.hxx
+++ b/chart2/source/model/template/NetChartTypeTemplate.hxx
@@ -40,7 +40,7 @@ public:
protected:
// ____ ChartTypeTemplate ____
virtual bool matchesTemplate(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties ) override;
virtual rtl::Reference< ::chart::ChartType >
getChartTypeForNewSeries( const std::vector<
diff --git a/chart2/source/model/template/PieChartTypeTemplate.cxx b/chart2/source/model/template/PieChartTypeTemplate.cxx
index 49f92d14dfc3..320d41f9227a 100644
--- a/chart2/source/model/template/PieChartTypeTemplate.cxx
+++ b/chart2/source/model/template/PieChartTypeTemplate.cxx
@@ -21,6 +21,7 @@
#include "PieChartType.hxx"
#include <CommonConverters.hxx>
#include <ChartType.hxx>
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <servicenames_charttypes.hxx>
#include <DataSeriesHelper.hxx>
@@ -317,7 +318,7 @@ void PieChartTypeTemplate::createChartTypes(
// ____ XChartTypeTemplate ____
bool PieChartTypeTemplate::matchesTemplate(
- const uno::Reference< chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties )
{
bool bResult = ChartTypeTemplate::matchesTemplate( xDiagram, bAdaptProperties );
diff --git a/chart2/source/model/template/PieChartTypeTemplate.hxx b/chart2/source/model/template/PieChartTypeTemplate.hxx
index 62d28c293a45..307b0ee23f1d 100644
--- a/chart2/source/model/template/PieChartTypeTemplate.hxx
+++ b/chart2/source/model/template/PieChartTypeTemplate.hxx
@@ -58,7 +58,7 @@ protected:
// ____ XChartTypeTemplate ____
virtual bool matchesTemplate(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties ) override;
virtual rtl::Reference< ::chart::ChartType >
getChartTypeForNewSeries( const std::vector<
diff --git a/chart2/source/model/template/ScatterChartTypeTemplate.cxx b/chart2/source/model/template/ScatterChartTypeTemplate.cxx
index c2b2d4e68035..b6ebf646e7e4 100644
--- a/chart2/source/model/template/ScatterChartTypeTemplate.cxx
+++ b/chart2/source/model/template/ScatterChartTypeTemplate.cxx
@@ -21,6 +21,7 @@
#include "ScatterChartType.hxx"
#include "XYDataInterpreter.hxx"
#include <ChartType.hxx>
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <servicenames_charttypes.hxx>
#include <DataSeriesHelper.hxx>
@@ -230,7 +231,7 @@ bool ScatterChartTypeTemplate::supportsCategories()
}
bool ScatterChartTypeTemplate::matchesTemplate(
- const Reference< chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties )
{
bool bResult = ChartTypeTemplate::matchesTemplate( xDiagram, bAdaptProperties );
diff --git a/chart2/source/model/template/ScatterChartTypeTemplate.hxx b/chart2/source/model/template/ScatterChartTypeTemplate.hxx
index 7f9decd0341d..e72bd007d771 100644
--- a/chart2/source/model/template/ScatterChartTypeTemplate.hxx
+++ b/chart2/source/model/template/ScatterChartTypeTemplate.hxx
@@ -57,7 +57,7 @@ protected:
// ____ XChartTypeTemplate ____
virtual bool supportsCategories() override;
virtual bool matchesTemplate(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties ) override;
virtual rtl::Reference< ::chart::ChartType >
getChartTypeForNewSeries( const std::vector<
diff --git a/chart2/source/model/template/StockChartTypeTemplate.cxx b/chart2/source/model/template/StockChartTypeTemplate.cxx
index 43018fe8b657..afacb1c3b633 100644
--- a/chart2/source/model/template/StockChartTypeTemplate.cxx
+++ b/chart2/source/model/template/StockChartTypeTemplate.cxx
@@ -364,15 +364,13 @@ void StockChartTypeTemplate::createChartTypes(
// ____ ChartTypeTemplate ____
bool StockChartTypeTemplate::matchesTemplate(
- const uno::Reference< XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool /* bAdaptProperties */ )
{
bool bResult = false;
if( ! xDiagram.is())
return bResult;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
try
{
@@ -387,7 +385,7 @@ bool StockChartTypeTemplate::matchesTemplate(
Reference< chart2::XChartType > xLineChartType;
sal_Int32 nNumberOfChartTypes = 0;
- for( rtl::Reference< BaseCoordinateSystem > const & coords : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & coords : xDiagram->getBaseCoordinateSystems() )
{
const Sequence< Reference< XChartType > > aChartTypeSeq( coords->getChartTypes());
for( Reference< XChartType > const & chartType : aChartTypeSeq )
diff --git a/chart2/source/model/template/StockChartTypeTemplate.hxx b/chart2/source/model/template/StockChartTypeTemplate.hxx
index 61a4017250dd..5ea72f65fb8d 100644
--- a/chart2/source/model/template/StockChartTypeTemplate.hxx
+++ b/chart2/source/model/template/StockChartTypeTemplate.hxx
@@ -71,7 +71,7 @@ protected:
// ____ XChartTypeTemplate ____
virtual bool matchesTemplate(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bAdaptProperties ) override;
virtual rtl::Reference< ::chart::ChartType >
getChartTypeForNewSeries( const std::vector<
diff --git a/chart2/source/tools/DiagramHelper.cxx b/chart2/source/tools/DiagramHelper.cxx
index b47fe41b0140..f7440c8ec1c0 100644
--- a/chart2/source/tools/DiagramHelper.cxx
+++ b/chart2/source/tools/DiagramHelper.cxx
@@ -85,6 +85,8 @@ DiagramHelper::tTemplateWithServiceName
if( ! (xChartTypeManager.is() && xDiagram.is()))
return aResult;
+ auto pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
+ assert(pDiagram);
Sequence< OUString > aServiceNames( xChartTypeManager->getAvailableServiceNames());
const sal_Int32 nLength = aServiceNames.getLength();
@@ -98,7 +100,7 @@ DiagramHelper::tTemplateWithServiceName
rtl::Reference< ::chart::ChartTypeTemplate > xTempl =
xChartTypeManager->createTemplate( aServiceNames[ i ] );
- if (xTempl.is() && xTempl->matchesTemplate(xDiagram, true))
+ if (xTempl.is() && xTempl->matchesTemplate(pDiagram, true))
{
aResult.xChartTypeTemplate = xTempl;
aResult.sServiceName = aServiceNames[ i ];