summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-01-23 20:02:44 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-01-24 07:04:56 +0100
commited9b410a1932fabfd335ab0b613be6595af6a5a2 (patch)
tree97770e3d36ef64fdfa8c9b6eb3d4b58be061231e
parent86a9c860410351125708543c1050bfc0977d3b97 (diff)
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.grandin@collabora.co.uk>
-rw-r--r--chart2/source/inc/TitleHelper.hxx13
-rw-r--r--chart2/source/tools/ObjectIdentifier.cxx28
-rw-r--r--chart2/source/tools/TitleHelper.cxx21
3 files changed, 32 insertions, 30 deletions
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())