chart2/source/inc/chartview/ExplicitValueProvider.hxx | 5 +++ chart2/source/view/axes/VCartesianCoordinateSystem.cxx | 2 - chart2/source/view/axes/VCartesianCoordinateSystem.hxx | 2 - chart2/source/view/axes/VCoordinateSystem.cxx | 5 +-- chart2/source/view/axes/VPolarCoordinateSystem.cxx | 2 - chart2/source/view/axes/VPolarCoordinateSystem.hxx | 2 - chart2/source/view/inc/VCoordinateSystem.hxx | 6 +-- chart2/source/view/main/ChartView.cxx | 26 +++++++++++------ chart2/source/view/main/VLegend.cxx | 2 - 9 files changed, 33 insertions(+), 19 deletions(-)
New commits: commit 4007a8135a689221e30b69b849beea674a8e63d0 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Sun Jan 23 13:46:32 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sun Jan 23 14:44:17 2022 +0100 use more concrete types in chart2, ChartModel Change-Id: Icee63a8a9d2e63f05064506df6c2d36314fe05c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128802 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/chart2/source/inc/chartview/ExplicitValueProvider.hxx b/chart2/source/inc/chartview/ExplicitValueProvider.hxx index f367271e3b80..a84b2e30813b 100644 --- a/chart2/source/inc/chartview/ExplicitValueProvider.hxx +++ b/chart2/source/inc/chartview/ExplicitValueProvider.hxx @@ -20,6 +20,7 @@ #include <com/sun/star/awt/Rectangle.hpp> #include <chartview/chartviewdllapi.hxx> +#include <rtl/ref.hxx> #include <memory> @@ -79,6 +80,10 @@ public: const css::uno::Reference< css::chart2::XAxis >& xAxis , const css::uno::Reference< css::chart2::XCoordinateSystem > & xCorrespondingCoordinateSystem , const css::uno::Reference< css::chart2::XChartDocument>& xChartDoc); + static sal_Int32 getExplicitNumberFormatKeyForAxis( + const css::uno::Reference< css::chart2::XAxis >& xAxis + , const css::uno::Reference< css::chart2::XCoordinateSystem > & xCorrespondingCoordinateSystem + , const rtl::Reference< ::chart::ChartModel>& xChartDoc); static sal_Int32 getExplicitNumberFormatKeyForDataLabel( const css::uno::Reference< css::beans::XPropertySet >& xSeriesOrPointProp ); diff --git a/chart2/source/view/axes/VCartesianCoordinateSystem.cxx b/chart2/source/view/axes/VCartesianCoordinateSystem.cxx index 71c280f45007..3f7f7ca0f663 100644 --- a/chart2/source/view/axes/VCartesianCoordinateSystem.cxx +++ b/chart2/source/view/axes/VCartesianCoordinateSystem.cxx @@ -98,7 +98,7 @@ void VCartesianCoordinateSystem::createGridShapes() } void VCartesianCoordinateSystem::createVAxisList( - const uno::Reference<chart2::XChartDocument> & xChartDoc + const rtl::Reference<::chart::ChartModel> & xChartDoc , const awt::Size& rFontReferenceSize , const awt::Rectangle& rMaximumSpaceForLabels , bool bLimitSpaceForLabels diff --git a/chart2/source/view/axes/VCartesianCoordinateSystem.hxx b/chart2/source/view/axes/VCartesianCoordinateSystem.hxx index e26239225261..e9d684821445 100644 --- a/chart2/source/view/axes/VCartesianCoordinateSystem.hxx +++ b/chart2/source/view/axes/VCartesianCoordinateSystem.hxx @@ -31,7 +31,7 @@ public: virtual ~VCartesianCoordinateSystem() override; virtual void createVAxisList( - const css::uno::Reference< css::chart2::XChartDocument> &ChartDoc + const rtl::Reference<::chart::ChartModel> &ChartDoc , const css::awt::Size& rFontReferenceSize , const css::awt::Rectangle& rMaximumSpaceForLabels , bool bLimitSpaceForLabels ) override; diff --git a/chart2/source/view/axes/VCoordinateSystem.cxx b/chart2/source/view/axes/VCoordinateSystem.cxx index 44f17c7d915f..f98f66502857 100644 --- a/chart2/source/view/axes/VCoordinateSystem.cxx +++ b/chart2/source/view/axes/VCoordinateSystem.cxx @@ -22,6 +22,7 @@ #include "VCartesianCoordinateSystem.hxx" #include "VPolarCoordinateSystem.hxx" #include <BaseCoordinateSystem.hxx> +#include <ChartModel.hxx> #include <ScaleAutomatism.hxx> #include <ShapeFactory.hxx> #include <servicenames_coosystems.hxx> @@ -322,7 +323,7 @@ sal_Int32 VCoordinateSystem::getMaximumAxisIndexByDimension( sal_Int32 nDimensio } void VCoordinateSystem::createVAxisList( - const uno::Reference<chart2::XChartDocument> & /* xChartDoc */ + const rtl::Reference<::chart::ChartModel> & /* xChartDoc */ , const awt::Size& /* rFontReferenceSize */ , const awt::Rectangle& /* rMaximumSpaceForLabels */ , bool /* bLimitSpaceForLabels */ @@ -547,7 +548,7 @@ void VCoordinateSystem::setSeriesNamesForAxis( const Sequence< OUString >& rSeri sal_Int32 VCoordinateSystem::getNumberFormatKeyForAxis( const Reference< chart2::XAxis >& xAxis - , const Reference<chart2::XChartDocument>& xChartDoc) + , const rtl::Reference<::chart::ChartModel>& xChartDoc) { return ExplicitValueProvider::getExplicitNumberFormatKeyForAxis( xAxis, m_xCooSysModel, xChartDoc); diff --git a/chart2/source/view/axes/VPolarCoordinateSystem.cxx b/chart2/source/view/axes/VPolarCoordinateSystem.cxx index 5bc585097b77..20304555611a 100644 --- a/chart2/source/view/axes/VPolarCoordinateSystem.cxx +++ b/chart2/source/view/axes/VPolarCoordinateSystem.cxx @@ -66,7 +66,7 @@ uno::Sequence< sal_Int32 > VPolarCoordinateSystem::getCoordinateSystemResolution } void VPolarCoordinateSystem::createVAxisList( - const uno::Reference<chart2::XChartDocument> & xChartDoc + const rtl::Reference<::chart::ChartModel> & xChartDoc , const awt::Size& rFontReferenceSize , const awt::Rectangle& rMaximumSpaceForLabels , bool //bLimitSpaceForLabels diff --git a/chart2/source/view/axes/VPolarCoordinateSystem.hxx b/chart2/source/view/axes/VPolarCoordinateSystem.hxx index 95c1094260c9..9659660a5e8c 100644 --- a/chart2/source/view/axes/VPolarCoordinateSystem.hxx +++ b/chart2/source/view/axes/VPolarCoordinateSystem.hxx @@ -35,7 +35,7 @@ public: , const css::awt::Size& rPageResolution ) override; virtual void createVAxisList( - const css::uno::Reference< css::chart2::XChartDocument> & xChartDoc + const rtl::Reference<::chart::ChartModel> & xChartDoc , const css::awt::Size& rFontReferenceSize , const css::awt::Rectangle& rMaximumSpaceForLabels , bool bLimitSpaceForLabels ) override; diff --git a/chart2/source/view/inc/VCoordinateSystem.hxx b/chart2/source/view/inc/VCoordinateSystem.hxx index 2beac4a05631..24ebc0336da0 100644 --- a/chart2/source/view/inc/VCoordinateSystem.hxx +++ b/chart2/source/view/inc/VCoordinateSystem.hxx @@ -32,6 +32,7 @@ namespace chart { class ExplicitCategoriesProvider; } namespace chart { class ScaleAutomatism; } +namespace chart { class ChartModel; } namespace com::sun::star::awt { struct Rectangle; } namespace com::sun::star::awt { struct Size; } namespace com::sun::star::beans { class XPropertySet; } @@ -115,7 +116,7 @@ public: * Create "view" axis objects 'VAxis' from the coordinate system model. */ virtual void createVAxisList( - const css::uno::Reference< css::chart2::XChartDocument> & xChartDoc + const rtl::Reference<::chart::ChartModel> & xChartDoc , const css::awt::Size& rFontReferenceSize , const css::awt::Rectangle& rMaximumSpaceForLabels , bool bLimitSpaceForLabels ); @@ -152,8 +153,7 @@ protected: //methods sal_Int32 getNumberFormatKeyForAxis( const css::uno::Reference< css::chart2::XAxis >& xAxis - , const css::uno::Reference< - css::chart2::XChartDocument>& xChartDoc); + , const rtl::Reference<::chart::ChartModel>& xChartDoc); private: //methods static void impl_adjustDimension( sal_Int32& rDimensionIndex ); diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx index de1dc6db0fa0..112bb1b91b42 100644 --- a/chart2/source/view/main/ChartView.cxx +++ b/chart2/source/view/main/ChartView.cxx @@ -414,7 +414,7 @@ VCoordinateSystem* addCooSysToList( std::vector< std::unique_ptr<VCoordinateSyst if(!pVCooSys) return nullptr; - OUString aCooSysParticle( ObjectIdentifier::createParticleForCoordinateSystem( xCooSys, rChartModel ) ); + OUString aCooSysParticle( ObjectIdentifier::createParticleForCoordinateSystem( xCooSys, &rChartModel ) ); pVCooSys->setParticle(aCooSysParticle); pVCooSys->setExplicitCategoriesProvider( new ExplicitCategoriesProvider(xCooSys, rChartModel) ); @@ -1400,7 +1400,6 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D SeriesPlottersType& rSeriesPlotterList = rParam.mpSeriesPlotterContainer->getSeriesPlotterList(); //create VAxis, so they can give necessary information for automatic scaling - uno::Reference<chart2::XChartDocument> const xChartDoc(&mrChartModel); uno::Reference<util::XNumberFormatsSupplier> const xNumberFormatsSupplier( mrChartModel.getNumberFormatsSupplier()); size_t nC = 0; @@ -1416,7 +1415,7 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D pVCooSys->set3DWallPositions( eLeftWallPos, eBackWallPos, eBottomPos ); } - pVCooSys->createVAxisList(xChartDoc, rPageSize, rParam.maRemainingSpace, rParam.mbUseFixedInnerSize); + pVCooSys->createVAxisList(&mrChartModel, rPageSize, rParam.maRemainingSpace, rParam.mbUseFixedInnerSize); } // - prepare list of all axis and how they are used @@ -1818,7 +1817,16 @@ bool lcl_getPropertySwapXAndYAxis( const rtl::Reference< Diagram >& xDiagram ) sal_Int32 ExplicitValueProvider::getExplicitNumberFormatKeyForAxis( const Reference< chart2::XAxis >& xAxis , const Reference< chart2::XCoordinateSystem > & xCorrespondingCoordinateSystem - , const Reference<chart2::XChartDocument>& xChartDoc) + , const css::uno::Reference< css::chart2::XChartDocument>& xChartDoc) +{ + return AxisHelper::getExplicitNumberFormatKeyForAxis( xAxis, xCorrespondingCoordinateSystem, xChartDoc + , true /*bSearchForParallelAxisIfNothingIsFound*/ ); +} + +sal_Int32 ExplicitValueProvider::getExplicitNumberFormatKeyForAxis( + const Reference< chart2::XAxis >& xAxis + , const Reference< chart2::XCoordinateSystem > & xCorrespondingCoordinateSystem + , const rtl::Reference<::chart::ChartModel>& xChartDoc) { return AxisHelper::getExplicitNumberFormatKeyForAxis( xAxis, xCorrespondingCoordinateSystem, xChartDoc , true /*bSearchForParallelAxisIfNothingIsFound*/ ); @@ -1888,28 +1896,28 @@ awt::Rectangle ExplicitValueProvider::AddSubtractAxisTitleSizes( if( xTitle_Height.is() ) { - OUString aCID_X( ObjectIdentifier::createClassifiedIdentifierForObject( xTitle_Height, rModel ) ); + OUString aCID_X( ObjectIdentifier::createClassifiedIdentifierForObject( xTitle_Height, &rModel ) ); nTitleSpaceHeight = pExplicitValueProvider->getRectangleOfObject( aCID_X, true ).Height; if( nTitleSpaceHeight ) nTitleSpaceHeight+=lcl_getDiagramTitleSpace(); } if( xTitle_Width.is() ) { - OUString aCID_Y( ObjectIdentifier::createClassifiedIdentifierForObject( xTitle_Width, rModel ) ); + OUString aCID_Y( ObjectIdentifier::createClassifiedIdentifierForObject( xTitle_Width, &rModel ) ); nTitleSpaceWidth = pExplicitValueProvider->getRectangleOfObject( aCID_Y, true ).Width; if(nTitleSpaceWidth) nTitleSpaceWidth+=lcl_getDiagramTitleSpace(); } if( xSecondTitle_Height.is() ) { - OUString aCID_X( ObjectIdentifier::createClassifiedIdentifierForObject( xSecondTitle_Height, rModel ) ); + OUString aCID_X( ObjectIdentifier::createClassifiedIdentifierForObject( xSecondTitle_Height, &rModel ) ); nSecondTitleSpaceHeight = pExplicitValueProvider->getRectangleOfObject( aCID_X, true ).Height; if( nSecondTitleSpaceHeight ) nSecondTitleSpaceHeight+=lcl_getDiagramTitleSpace(); } if( xSecondTitle_Width.is() ) { - OUString aCID_Y( ObjectIdentifier::createClassifiedIdentifierForObject( xSecondTitle_Width, rModel ) ); + OUString aCID_Y( ObjectIdentifier::createClassifiedIdentifierForObject( xSecondTitle_Width, &rModel ) ); nSecondTitleSpaceWidth += pExplicitValueProvider->getRectangleOfObject( aCID_Y, true ).Width; if( nSecondTitleSpaceWidth ) nSecondTitleSpaceWidth+=lcl_getDiagramTitleSpace(); @@ -2109,7 +2117,7 @@ std::shared_ptr<VTitle> lcl_createTitle( TitleHelper::eTitleType eType bYAxisTitle = true; } apVTitle = std::make_shared<VTitle>(xTitle); - OUString aCID = ObjectIdentifier::createClassifiedIdentifierForObject(xTitle, rModel); + OUString aCID = ObjectIdentifier::createClassifiedIdentifierForObject(xTitle, &rModel); apVTitle->init(xPageShapes, aCID); apVTitle->createShapes(awt::Point(0, 0), rPageSize, aTextMaxWidth, bYAxisTitle); awt::Size aTitleUnrotatedSize = apVTitle->getUnrotatedSize(); diff --git a/chart2/source/view/main/VLegend.cxx b/chart2/source/view/main/VLegend.cxx index 1dfe3653e4d1..ce2bb99047a4 100644 --- a/chart2/source/view/main/VLegend.cxx +++ b/chart2/source/view/main/VLegend.cxx @@ -918,7 +918,7 @@ void VLegend::createShapes( try { //create shape and add to page - OUString aLegendParticle( ObjectIdentifier::createParticleForLegend( mrModel ) ); + OUString aLegendParticle( ObjectIdentifier::createParticleForLegend( &mrModel ) ); m_xShape = ShapeFactory::createGroup2D( m_xTarget, ObjectIdentifier::createClassifiedIdentifierForParticle( aLegendParticle ) );