chart2/source/inc/TitleHelper.hxx | 13 +++++++------ chart2/source/tools/ObjectIdentifier.cxx | 28 +++++++++++++++------------- chart2/source/tools/TitleHelper.cxx | 21 ++++++++++----------- 3 files changed, 32 insertions(+), 30 deletions(-)
New commits: commit ed9b410a1932fabfd335ab0b613be6595af6a5a2 Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Sun Jan 23 20:02:44 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Mon Jan 24 07:04:56 2022 +0100 use more concrete types in chart2, ChartModel Change-Id: I823641fe7dc2038da90dab8b4e4e3ad3652c1934 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128833 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/chart2/source/inc/TitleHelper.hxx b/chart2/source/inc/TitleHelper.hxx index c85b5ce1a3ff..f6978674be0a 100644 --- a/chart2/source/inc/TitleHelper.hxx +++ b/chart2/source/inc/TitleHelper.hxx @@ -19,6 +19,7 @@ #pragma once #include <com/sun/star/uno/Reference.h> +#include <rtl/ref.hxx> #include <rtl/ustring.hxx> #include "charttoolsdllapi.hxx" @@ -57,24 +58,24 @@ public: static css::uno::Reference< css::chart2::XTitle > getTitle( eTitleType nTitleIndex - , const css::uno::Reference< css::frame::XModel >& xModel ); + , const rtl::Reference< ::chart::ChartModel >& xModel ); static css::uno::Reference< css::chart2::XTitle > createTitle( eTitleType nTitleIndex , const OUString& rTitleText - , const css::uno::Reference< css::frame::XModel >& xModel + , const rtl::Reference< ::chart::ChartModel >& xModel , const css::uno::Reference< css::uno::XComponentContext > & xContext , ReferenceSizeProvider * pRefSizeProvider = nullptr ); static css::uno::Reference< css::chart2::XTitle > createOrShowTitle( eTitleType nTitleIndex , const OUString& rTitleText - , const css::uno::Reference< css::frame::XModel >& xModel + , const rtl::Reference< ::chart::ChartModel >& xModel , const css::uno::Reference< css::uno::XComponentContext > & xContex ); static void removeTitle( eTitleType nTitleIndex - , const css::uno::Reference< css::frame::XModel >& xModel ); + , const rtl::Reference< ::chart::ChartModel >& xModel ); static OUString getCompleteString( const css::uno::Reference< css::chart2::XTitle >& xTitle ); static void setCompleteString( const OUString& rNewText @@ -88,9 +89,9 @@ public: static bool getTitleType( eTitleType& rType , const css::uno::Reference< css::chart2::XTitle >& xTitle - , const css::uno::Reference< css::frame::XModel >& xModel ); + , const rtl::Reference< ::chart::ChartModel >& xModel ); static void hideTitle( eTitleType nTitleIndex, - const css::uno::Reference< css::frame::XModel > & xModel); + const rtl::Reference< ::chart::ChartModel > & xModel); }; } //namespace chart diff --git a/chart2/source/tools/ObjectIdentifier.cxx b/chart2/source/tools/ObjectIdentifier.cxx index 8983e7ef427a..a9bdb598e693 100644 --- a/chart2/source/tools/ObjectIdentifier.cxx +++ b/chart2/source/tools/ObjectIdentifier.cxx @@ -214,7 +214,7 @@ void lcl_parseSeriesIndices( sal_Int32& rnChartTypeIndex, sal_Int32& rnSeriesInd void lcl_getDiagramAndCooSys( const OUString& rObjectCID , const Reference< frame::XModel >& xChartModel , rtl::Reference< Diagram >& xDiagram - , Reference< XCoordinateSystem >& xCooSys ) + , rtl::Reference< BaseCoordinateSystem >& xCooSys ) { sal_Int32 nDiagramIndex = -1; sal_Int32 nCooSysIndex = -1; @@ -225,8 +225,8 @@ void lcl_getDiagramAndCooSys( const OUString& rObjectCID if( nCooSysIndex > -1 ) { - uno::Sequence< Reference< XCoordinateSystem > > aCooSysList( xDiagram->getCoordinateSystems() ); - if( nCooSysIndex < aCooSysList.getLength() ) + const std::vector< rtl::Reference< BaseCoordinateSystem > > aCooSysList( xDiagram->getBaseCoordinateSystems() ); + if( nCooSysIndex < static_cast<sal_Int32>(aCooSysList.size()) ) xCooSys = aCooSysList[nCooSysIndex]; } } @@ -386,6 +386,8 @@ OUString ObjectIdentifier::createClassifiedIdentifierForObject( OUString aParentParticle; const OUString aDragMethodServiceName; const OUString aDragParameterString; + auto pModel = dynamic_cast<ChartModel*>(xChartModel.get()); + assert(!xChartModel || pModel); try { @@ -394,7 +396,7 @@ OUString ObjectIdentifier::createClassifiedIdentifierForObject( if( xTitle.is() ) { TitleHelper::eTitleType aTitleType; - if( TitleHelper::getTitleType( aTitleType, xTitle, xChartModel ) ) + if( TitleHelper::getTitleType( aTitleType, xTitle, pModel ) ) { eObjectType = OBJECTTYPE_TITLE; aParentParticle = lcl_getTitleParentParticle( aTitleType ); @@ -1162,6 +1164,8 @@ Reference< beans::XPropertySet > ObjectIdentifier::getObjectPropertySet( return nullptr; if(!xChartModel.is()) return nullptr; + auto pModel = dynamic_cast<ChartModel*>(xChartModel.get()); + assert(pModel); Reference< beans::XPropertySet > xObjectProperties; try @@ -1170,22 +1174,20 @@ Reference< beans::XPropertySet > ObjectIdentifier::getObjectPropertySet( OUString aParticleID = ObjectIdentifier::getParticleID( rObjectCID ); rtl::Reference< Diagram > xDiagram; - Reference< XCoordinateSystem > xCooSys; - lcl_getDiagramAndCooSys( rObjectCID, xChartModel, xDiagram, xCooSys ); + rtl::Reference< BaseCoordinateSystem > xCooSys; + lcl_getDiagramAndCooSys( rObjectCID, pModel, xDiagram, xCooSys ); switch(eObjectType) { case OBJECTTYPE_PAGE: { - Reference< XChartDocument > xChartDocument( xChartModel, uno::UNO_QUERY ); - if( xChartDocument.is()) - xObjectProperties.set( xChartDocument->getPageBackground() ); + xObjectProperties.set( pModel->getPageBackground() ); } break; case OBJECTTYPE_TITLE: { TitleHelper::eTitleType aTitleType = getTitleTypeForCID( rObjectCID ); - Reference< XTitle > xTitle( TitleHelper::getTitle( aTitleType, xChartModel ) ); + Reference< XTitle > xTitle( TitleHelper::getTitle( aTitleType, pModel ) ); xObjectProperties.set( xTitle, uno::UNO_QUERY ); } break; @@ -1345,7 +1347,7 @@ Reference< XAxis > ObjectIdentifier::getAxisForCID( , const Reference< frame::XModel >& xChartModel ) { rtl::Reference< Diagram > xDiagram; - Reference< XCoordinateSystem > xCooSys; + rtl::Reference< BaseCoordinateSystem > xCooSys; lcl_getDiagramAndCooSys( rObjectCID, xChartModel, xDiagram, xCooSys ); sal_Int32 nDimensionIndex = -1; @@ -1362,7 +1364,7 @@ Reference< XDataSeries > ObjectIdentifier::getDataSeriesForCID( Reference< XDataSeries > xSeries; rtl::Reference< Diagram > xDiagram; - Reference< XCoordinateSystem > xCooSys; + rtl::Reference< BaseCoordinateSystem > xCooSys; lcl_getDiagramAndCooSys( rObjectCID, xChartModel, xDiagram, xCooSys ); sal_Int32 nChartTypeIndex = -1; @@ -1386,7 +1388,7 @@ rtl::Reference< Diagram > ObjectIdentifier::getDiagramForCID( , const uno::Reference< frame::XModel >& xChartModel ) { rtl::Reference< Diagram > xDiagram; - Reference< XCoordinateSystem > xCooSys; + rtl::Reference< BaseCoordinateSystem > xCooSys; lcl_getDiagramAndCooSys( rObjectCID, xChartModel, xDiagram, xCooSys ); return xDiagram; diff --git a/chart2/source/tools/TitleHelper.cxx b/chart2/source/tools/TitleHelper.cxx index 0078e0a29a6c..2a66c72171f2 100644 --- a/chart2/source/tools/TitleHelper.cxx +++ b/chart2/source/tools/TitleHelper.cxx @@ -154,19 +154,18 @@ uno::Reference< XTitle > TitleHelper::getTitle( TitleHelper::eTitleType nTitleIn } uno::Reference< XTitle > TitleHelper::getTitle( TitleHelper::eTitleType nTitleIndex - , const uno::Reference< frame::XModel >& xModel ) + , const rtl::Reference<ChartModel>& xModel ) { uno::Reference< XTitled > xTitled; if(nTitleIndex == TitleHelper::MAIN_TITLE) { - xTitled.set( xModel, uno::UNO_QUERY ); + xTitled = xModel; } else { - uno::Reference< XChartDocument > xChartDoc( xModel, uno::UNO_QUERY ); - uno::Reference< XDiagram > xDiagram; - if( xChartDoc.is()) - xDiagram.set( xChartDoc->getFirstDiagram()); + rtl::Reference< Diagram > xDiagram; + if( xModel.is()) + xDiagram = xModel->getFirstChartDiagram(); xTitled = lcl_getTitleParent( nTitleIndex, xDiagram ); } if( xTitled.is()) @@ -177,7 +176,7 @@ uno::Reference< XTitle > TitleHelper::getTitle( TitleHelper::eTitleType nTitleIn uno::Reference< XTitle > TitleHelper::createOrShowTitle( TitleHelper::eTitleType eTitleType , const OUString& rTitleText - , const uno::Reference< frame::XModel >& xModel + , const rtl::Reference<ChartModel>& xModel , const uno::Reference< uno::XComponentContext > & xContext ) { uno::Reference< chart2::XTitle > xTitled( TitleHelper::getTitle( eTitleType, xModel ) ); @@ -196,7 +195,7 @@ uno::Reference< XTitle > TitleHelper::createOrShowTitle( uno::Reference< XTitle > TitleHelper::createTitle( TitleHelper::eTitleType eTitleType , const OUString& rTitleText - , const uno::Reference< frame::XModel >& xModel + , const rtl::Reference<ChartModel>& xModel , const uno::Reference< uno::XComponentContext > & xContext , ReferenceSizeProvider * pRefSizeProvider ) { @@ -386,7 +385,7 @@ void TitleHelper::setCompleteString( const OUString& rNewText } void TitleHelper::removeTitle( TitleHelper::eTitleType nTitleIndex - , const css::uno::Reference< css::frame::XModel >& xModel ) + , const rtl::Reference<ChartModel>& xModel ) { uno::Reference< XTitled > xTitled( lcl_getTitleParent( nTitleIndex, xModel ) ); if( xTitled.is()) @@ -418,7 +417,7 @@ bool TitleHelper::getTitleType( eTitleType& rType bool TitleHelper::getTitleType( eTitleType& rType , const css::uno::Reference< css::chart2::XTitle >& xTitle - , const css::uno::Reference< css::frame::XModel >& xModel ) + , const rtl::Reference<ChartModel>& xModel ) { if( !xTitle.is() || !xModel.is() ) return false; @@ -438,7 +437,7 @@ bool TitleHelper::getTitleType( eTitleType& rType } void TitleHelper::hideTitle( TitleHelper::eTitleType nTitleIndex - , const css::uno::Reference< css::frame::XModel >& xModel) + , const rtl::Reference<ChartModel>& xModel) { uno::Reference< chart2::XTitle > xTitled( TitleHelper::getTitle( nTitleIndex, xModel ) ); if( xTitled.is())