diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-01-19 12:39:26 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-01-19 13:46:01 +0100 |
commit | f0f87108ab1560558c5b11185acc2bdfde150b8a (patch) | |
tree | 0956d440c14d31973eacb49dfe6ca53abd4780ff /chart2/source/tools/ChartModelHelper.cxx | |
parent | 3170fba5dff3ea5cc67ea94f51a0dd5458f01edd (diff) |
use more concrete types in chart2, Diagram
Change-Id: I870f6d9fa4c0b51cf7c887199079fdbabbca1fec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128597
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'chart2/source/tools/ChartModelHelper.cxx')
-rw-r--r-- | chart2/source/tools/ChartModelHelper.cxx | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/chart2/source/tools/ChartModelHelper.cxx b/chart2/source/tools/ChartModelHelper.cxx index 2d684b059355..71f35969e5d0 100644 --- a/chart2/source/tools/ChartModelHelper.cxx +++ b/chart2/source/tools/ChartModelHelper.cxx @@ -19,6 +19,7 @@ #include <ChartModelHelper.hxx> #include <DiagramHelper.hxx> +#include <Diagram.hxx> #include <DataSourceHelper.hxx> #include <ControllerLockGuard.hxx> #include <RangeHighlighter.hxx> @@ -80,7 +81,7 @@ uno::Reference< chart2::data::XDataProvider > ChartModelHelper::createInternalDa return new InternalDataProvider( xChartDoc, bConnectToModel, bDefaultDataInColumns ); } -uno::Reference< XDiagram > ChartModelHelper::findDiagram( const uno::Reference< frame::XModel >& xModel ) +rtl::Reference< Diagram > ChartModelHelper::findDiagram( const uno::Reference< frame::XModel >& xModel ) { uno::Reference< XChartDocument > xChartDoc( xModel, uno::UNO_QUERY ); if( xChartDoc.is()) @@ -88,12 +89,16 @@ uno::Reference< XDiagram > ChartModelHelper::findDiagram( const uno::Reference< return nullptr; } -uno::Reference< XDiagram > ChartModelHelper::findDiagram( const uno::Reference< chart2::XChartDocument >& xChartDoc ) +rtl::Reference< Diagram > ChartModelHelper::findDiagram( const uno::Reference< chart2::XChartDocument >& xChartDoc ) { try { - if( xChartDoc.is()) - return xChartDoc->getFirstDiagram(); + if( !xChartDoc ) + return nullptr; + uno::Reference<chart2::XDiagram> xDiagram = xChartDoc->getFirstDiagram(); + ::chart::Diagram* pDiagram = dynamic_cast<::chart::Diagram*>(xDiagram.get()); + assert(!xDiagram || pDiagram); + return pDiagram; } catch( const uno::Exception & ) { @@ -118,7 +123,7 @@ uno::Reference< XCoordinateSystem > ChartModelHelper::getFirstCoordinateSystem( uno::Reference< XCoordinateSystem > ChartModelHelper::getFirstCoordinateSystem( const uno::Reference< frame::XModel >& xModel ) { uno::Reference< XCoordinateSystem > XCooSys; - uno::Reference< XCoordinateSystemContainer > xCooSysCnt( ChartModelHelper::findDiagram( xModel ), uno::UNO_QUERY ); + rtl::Reference< Diagram > xCooSysCnt( ChartModelHelper::findDiagram( xModel ), uno::UNO_QUERY ); if( xCooSysCnt.is() ) { uno::Sequence< uno::Reference< XCoordinateSystem > > aCooSysSeq( xCooSysCnt->getCoordinateSystems() ); @@ -145,7 +150,7 @@ std::vector< uno::Reference< XDataSeries > > ChartModelHelper::getDataSeries( { std::vector< uno::Reference< XDataSeries > > aResult; - uno::Reference< XDiagram > xDiagram = ChartModelHelper::findDiagram( xChartDoc ); + rtl::Reference< Diagram > xDiagram = ChartModelHelper::findDiagram( xChartDoc ); if( xDiagram.is()) aResult = DiagramHelper::getDataSeriesFromDiagram( xDiagram ); @@ -199,17 +204,13 @@ bool ChartModelHelper::isIncludeHiddenCells( const uno::Reference< frame::XModel { bool bIncluded = true; // hidden cells are included by default. - uno::Reference< chart2::XDiagram > xDiagram( ChartModelHelper::findDiagram(xChartModel) ); + rtl::Reference< Diagram > xDiagram( ChartModelHelper::findDiagram(xChartModel) ); if (!xDiagram.is()) return bIncluded; - uno::Reference< beans::XPropertySet > xProp( xDiagram, uno::UNO_QUERY ); - if (!xProp.is()) - return bIncluded; - try { - xProp->getPropertyValue("IncludeHiddenCells") >>= bIncluded; + xDiagram->getPropertyValue("IncludeHiddenCells") >>= bIncluded; } catch( const beans::UnknownPropertyException& ) { |