summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2022-01-23 13:46:32 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-01-23 14:44:17 +0100
commit4007a8135a689221e30b69b849beea674a8e63d0 (patch)
treed581b5b660337a923faff3a09e964c067740179f
parentbc518de4b9ae9d5985b3706dd4fbf60a0d6e1a79 (diff)
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.grandin@collabora.co.uk>
-rw-r--r--chart2/source/inc/chartview/ExplicitValueProvider.hxx5
-rw-r--r--chart2/source/view/axes/VCartesianCoordinateSystem.cxx2
-rw-r--r--chart2/source/view/axes/VCartesianCoordinateSystem.hxx2
-rw-r--r--chart2/source/view/axes/VCoordinateSystem.cxx5
-rw-r--r--chart2/source/view/axes/VPolarCoordinateSystem.cxx2
-rw-r--r--chart2/source/view/axes/VPolarCoordinateSystem.hxx2
-rw-r--r--chart2/source/view/inc/VCoordinateSystem.hxx6
-rw-r--r--chart2/source/view/main/ChartView.cxx26
-rw-r--r--chart2/source/view/main/VLegend.cxx2
9 files changed, 33 insertions, 19 deletions
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 ) );