summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chart2/source/controller/chartapiwrapper/ChartDataWrapper.cxx2
-rw-r--r--chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx5
-rw-r--r--chart2/source/controller/dialogs/DataBrowserModel.cxx2
-rw-r--r--chart2/source/controller/dialogs/DialogModel.cxx14
-rw-r--r--chart2/source/controller/dialogs/dlg_DataSource.cxx3
-rw-r--r--chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx24
-rw-r--r--chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx6
-rw-r--r--chart2/source/controller/inc/ObjectHierarchy.hxx6
-rw-r--r--chart2/source/controller/main/ObjectHierarchy.cxx7
-rw-r--r--chart2/source/controller/sidebar/ChartSeriesPanel.cxx2
-rw-r--r--chart2/source/inc/AxisHelper.hxx7
-rw-r--r--chart2/source/inc/ChartTypeTemplate.hxx2
-rw-r--r--chart2/source/inc/DataSourceHelper.hxx3
-rw-r--r--chart2/source/inc/DiagramHelper.hxx55
-rw-r--r--chart2/source/inc/RegressionCurveHelper.hxx3
-rw-r--r--chart2/source/inc/ThreeDHelper.hxx34
-rw-r--r--chart2/source/model/template/BarChartTypeTemplate.cxx5
-rw-r--r--chart2/source/model/template/BarChartTypeTemplate.hxx2
-rw-r--r--chart2/source/model/template/ChartTypeTemplate.cxx10
-rw-r--r--chart2/source/tools/AxisHelper.cxx8
-rw-r--r--chart2/source/tools/DataSourceHelper.cxx8
-rw-r--r--chart2/source/tools/DiagramHelper.cxx150
-rw-r--r--chart2/source/tools/RangeHighlighter.cxx15
-rw-r--r--chart2/source/tools/ReferenceSizeProvider.cxx9
-rw-r--r--chart2/source/tools/RegressionCurveHelper.cxx2
-rw-r--r--chart2/source/tools/ThreeDHelper.cxx164
-rw-r--r--chart2/source/tools/TitleHelper.cxx14
-rw-r--r--chart2/source/view/diagram/VDiagram.cxx30
-rw-r--r--chart2/source/view/inc/VDiagram.hxx9
-rw-r--r--chart2/source/view/main/ChartView.cxx25
30 files changed, 283 insertions, 343 deletions
diff --git a/chart2/source/controller/chartapiwrapper/ChartDataWrapper.cxx b/chart2/source/controller/chartapiwrapper/ChartDataWrapper.cxx
index 3b0a56818e77..3afac39a2ce8 100644
--- a/chart2/source/controller/chartapiwrapper/ChartDataWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/ChartDataWrapper.cxx
@@ -647,7 +647,7 @@ void ChartDataWrapper::applyData( lcl_Operator& rDataOperator )
return;
uno::Reference< chart2::data::XDataSource > xSource( xDataProvider->createDataSource( aArguments ) );
- uno::Reference< chart2::XDiagram > xDia( xChartDoc->getFirstDiagram() );
+ rtl::Reference< Diagram > xDia( xChartDoc->getFirstChartDiagram() );
if( xDia.is() )
xDia->setDiagramData( xSource, aArguments );
diff --git a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
index 1054d20b3088..b3263d45c090 100644
--- a/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx
@@ -25,6 +25,7 @@
#include "WallFloorWrapper.hxx"
#include "MinMaxLineWrapper.hxx"
#include "UpDownBarWrapper.hxx"
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <DataSourceHelper.hxx>
#include <ChartModelHelper.hxx>
@@ -438,7 +439,7 @@ struct StaticDiagramWrapperPropertyArray : public rtl::StaticAggregate< Sequence
{
};
-bool lcl_isXYChart( const Reference< chart2::XDiagram >& rDiagram )
+bool lcl_isXYChart( const rtl::Reference< ::chart::Diagram >& rDiagram )
{
bool bRet = false;
rtl::Reference< ::chart::ChartType > xChartType( ::chart::DiagramHelper::getChartTypeByIndex( rDiagram, 0 ) );
@@ -453,7 +454,7 @@ bool lcl_isXYChart( const Reference< chart2::XDiagram >& rDiagram )
sal_Int32 lcl_getNewAPIIndexForOldAPIIndex(
sal_Int32 nOldAPIIndex
- , const Reference< chart2::XDiagram >& xDiagram )
+ , const rtl::Reference< ::chart::Diagram >& xDiagram )
{
sal_Int32 nNewAPIIndex = nOldAPIIndex;
diff --git a/chart2/source/controller/dialogs/DataBrowserModel.cxx b/chart2/source/controller/dialogs/DataBrowserModel.cxx
index 6171c1c87242..c7f91e490dcf 100644
--- a/chart2/source/controller/dialogs/DataBrowserModel.cxx
+++ b/chart2/source/controller/dialogs/DataBrowserModel.cxx
@@ -205,7 +205,7 @@ private:
OUString m_aRole;
};
-bool lcl_ShowCategoriesAsDataLabel( const Reference< chart2::XDiagram > & xDiagram )
+bool lcl_ShowCategoriesAsDataLabel( const rtl::Reference< ::chart::Diagram > & xDiagram )
{
return !DiagramHelper::isCategoryDiagram(xDiagram);
}
diff --git a/chart2/source/controller/dialogs/DialogModel.cxx b/chart2/source/controller/dialogs/DialogModel.cxx
index 165c4f39a654..a68f75d077b6 100644
--- a/chart2/source/controller/dialogs/DialogModel.cxx
+++ b/chart2/source/controller/dialogs/DialogModel.cxx
@@ -233,7 +233,7 @@ Reference< XDataSeries > lcl_CreateNewSeries(
const uno::Reference< XChartType > & xChartType,
sal_Int32 nNewSeriesIndex,
sal_Int32 nTotalNumberOfSeriesInCTGroup,
- const Reference< XDiagram > & xDiagram,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
const rtl::Reference< ::chart::ChartTypeTemplate > & xTemplate,
bool bCreateDataCachedSequences )
{
@@ -548,7 +548,7 @@ void DialogModel::moveSeries(
m_aTimerTriggeredControllerLock.startTimer();
ControllerLockGuardUNO aLockedControllers( m_xChartDocument );
- Reference< XDiagram > xDiagram( m_xChartDocument->getFirstDiagram());
+ rtl::Reference< Diagram > xDiagram( m_xChartDocument->getFirstChartDiagram());
DiagramHelper::moveSeries( xDiagram, xSeries, eDirection==MoveDirection::Down );
}
@@ -563,7 +563,7 @@ Reference< chart2::XDataSeries > DialogModel::insertSeriesAfter(
try
{
- Reference< chart2::XDiagram > xDiagram( m_xChartDocument->getFirstDiagram() );
+ rtl::Reference< Diagram > xDiagram( m_xChartDocument->getFirstChartDiagram() );
ThreeDLookScheme e3DScheme = ThreeDHelper::detectScheme( xDiagram );
sal_Int32 nSeriesInChartType = 0;
@@ -614,7 +614,7 @@ Reference< data::XLabeledDataSequence > DialogModel::getCategories() const
{
if( m_xChartDocument.is())
{
- Reference< chart2::XDiagram > xDiagram( m_xChartDocument->getFirstDiagram());
+ rtl::Reference< Diagram > xDiagram( m_xChartDocument->getFirstChartDiagram());
xResult.set( DiagramHelper::getCategoriesFromDiagram( xDiagram ));
}
}
@@ -630,7 +630,7 @@ void DialogModel::setCategories( const Reference< chart2::data::XLabeledDataSequ
if( !m_xChartDocument.is())
return;
- Reference< chart2::XDiagram > xDiagram( m_xChartDocument->getFirstDiagram());
+ rtl::Reference< Diagram > xDiagram( m_xChartDocument->getFirstChartDiagram());
if( !xDiagram.is())
return;
@@ -663,7 +663,7 @@ bool DialogModel::isCategoryDiagram() const
{
bool bRet = false;
if( m_xChartDocument.is())
- bRet = DiagramHelper::isCategoryDiagram( m_xChartDocument->getFirstDiagram() );
+ bRet = DiagramHelper::isCategoryDiagram( m_xChartDocument->getFirstChartDiagram() );
return bRet;
}
@@ -724,7 +724,7 @@ void DialogModel::setData(
m_xTemplate->getDataInterpreter());
if( xInterpreter.is())
{
- Reference< chart2::XDiagram > xDiagram( m_xChartDocument->getFirstDiagram() );
+ rtl::Reference< Diagram > xDiagram( m_xChartDocument->getFirstChartDiagram() );
ThreeDLookScheme e3DScheme = ThreeDHelper::detectScheme( xDiagram );
std::vector< Reference< XDataSeries > > aSeriesToReUse(
diff --git a/chart2/source/controller/dialogs/dlg_DataSource.cxx b/chart2/source/controller/dialogs/dlg_DataSource.cxx
index 7c804ba8a235..b67044705213 100644
--- a/chart2/source/controller/dialogs/dlg_DataSource.cxx
+++ b/chart2/source/controller/dialogs/dlg_DataSource.cxx
@@ -24,6 +24,7 @@
#include <ChartTypeTemplateProvider.hxx>
#include <ChartTypeManager.hxx>
#include <ChartTypeTemplate.hxx>
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include "DialogModel.hxx"
#include <ChartModel.hxx>
@@ -63,7 +64,7 @@ DocumentChartTypeTemplateProvider::DocumentChartTypeTemplateProvider(
if( !xDoc.is())
return;
- Reference< chart2::XDiagram > xDia( xDoc->getFirstDiagram());
+ rtl::Reference< Diagram > xDia( xDoc->getFirstChartDiagram());
if( xDia.is())
{
DiagramHelper::tTemplateWithServiceName aResult(
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx b/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx
index 3135a2b0db2d..a47cebe9c8a4 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx
@@ -19,6 +19,7 @@
#include "tp_3D_SceneGeometry.hxx"
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <ChartType.hxx>
#include <ChartTypeHelper.hxx>
@@ -47,9 +48,9 @@ void lcl_SetMetricFieldLimits(weld::MetricSpinButton& rField, sal_Int64 nLimit)
}
ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage(weld::Container* pParent,
- const uno::Reference< beans::XPropertySet > & xSceneProperties,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
ControllerLockHelper & rControllerLockHelper)
- : m_xSceneProperties( xSceneProperties )
+ : m_xDiagram( xDiagram )
, m_aAngleTimer("chart2 ThreeD_SceneGeometry_TabPage m_aAngleTimer")
, m_aPerspectiveTimer("chart2 ThreeD_SceneGeometry_TabPage m_aPerspectiveTimer")
, m_nXRotation(0)
@@ -69,7 +70,7 @@ ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage(weld::Container* pPar
, m_xMFPerspective(m_xBuilder->weld_metric_spin_button("MTR_FLD_PERSPECTIVE", FieldUnit::PERCENT))
{
double fXAngle, fYAngle, fZAngle;
- ThreeDHelper::getRotationAngleFromDiagram( m_xSceneProperties, fXAngle, fYAngle, fZAngle );
+ ThreeDHelper::getRotationAngleFromDiagram( m_xDiagram, fXAngle, fYAngle, fZAngle );
fXAngle = basegfx::rad2deg(fXAngle);
fYAngle = basegfx::rad2deg(fYAngle);
@@ -100,12 +101,12 @@ ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage(weld::Container* pPar
m_xMFZRotation->connect_value_changed( aAngleEditedLink );
drawing::ProjectionMode aProjectionMode = drawing::ProjectionMode_PERSPECTIVE;
- m_xSceneProperties->getPropertyValue( "D3DScenePerspective" ) >>= aProjectionMode;
+ m_xDiagram->getPropertyValue( "D3DScenePerspective" ) >>= aProjectionMode;
m_xCbxPerspective->set_active( aProjectionMode == drawing::ProjectionMode_PERSPECTIVE );
m_xCbxPerspective->connect_toggled( LINK( this, ThreeD_SceneGeometry_TabPage, PerspectiveToggled ));
sal_Int32 nPerspectivePercentage = 20;
- m_xSceneProperties->getPropertyValue( "Perspective" ) >>= nPerspectivePercentage;
+ m_xDiagram->getPropertyValue( "Perspective" ) >>= nPerspectivePercentage;
m_xMFPerspective->set_value(nPerspectivePercentage, FieldUnit::PERCENT);
m_aPerspectiveTimer.SetTimeout(nTimeout);
@@ -114,11 +115,10 @@ ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage(weld::Container* pPar
m_xMFPerspective->set_sensitive( m_xCbxPerspective->get_active() );
//RightAngledAxes
- uno::Reference< chart2::XDiagram > xDiagram( m_xSceneProperties, uno::UNO_QUERY );
- if (ChartTypeHelper::isSupportingRightAngledAxes(DiagramHelper::getChartTypeByIndex(xDiagram, 0)))
+ if (ChartTypeHelper::isSupportingRightAngledAxes(DiagramHelper::getChartTypeByIndex(m_xDiagram, 0)))
{
bool bRightAngledAxes = false;
- m_xSceneProperties->getPropertyValue( "RightAngledAxes" ) >>= bRightAngledAxes;
+ m_xDiagram->getPropertyValue( "RightAngledAxes" ) >>= bRightAngledAxes;
m_xCbxRightAngledAxes->connect_toggled( LINK( this, ThreeD_SceneGeometry_TabPage, RightAngledAxesToggled ));
m_xCbxRightAngledAxes->set_active( bRightAngledAxes );
RightAngledAxesToggled(*m_xCbxRightAngledAxes);
@@ -160,7 +160,7 @@ void ThreeD_SceneGeometry_TabPage::applyAnglesToModel()
fYAngle = basegfx::deg2rad(fYAngle);
fZAngle = basegfx::deg2rad(fZAngle);
- ThreeDHelper::setRotationAngleToDiagram( m_xSceneProperties, fXAngle, fYAngle, fZAngle );
+ ThreeDHelper::setRotationAngleToDiagram( m_xDiagram, fXAngle, fYAngle, fZAngle );
m_bAngleChangePending = false;
m_aAngleTimer.Stop();
@@ -191,8 +191,8 @@ void ThreeD_SceneGeometry_TabPage::applyPerspectiveToModel()
try
{
- m_xSceneProperties->setPropertyValue( "D3DScenePerspective" , uno::Any( aMode ));
- m_xSceneProperties->setPropertyValue( "Perspective" , uno::Any( static_cast<sal_Int32>(m_xMFPerspective->get_value(FieldUnit::PERCENT)) ));
+ m_xDiagram->setPropertyValue( "D3DScenePerspective" , uno::Any( aMode ));
+ m_xDiagram->setPropertyValue( "Perspective" , uno::Any( static_cast<sal_Int32>(m_xMFPerspective->get_value(FieldUnit::PERCENT)) ));
}
catch( const uno::Exception & )
{
@@ -250,7 +250,7 @@ IMPL_LINK_NOARG(ThreeD_SceneGeometry_TabPage, RightAngledAxesToggled, weld::Togg
m_xMFZRotation->set_value(m_nZRotation, FieldUnit::DEGREE);
}
- ThreeDHelper::switchRightAngledAxes( m_xSceneProperties, m_xCbxRightAngledAxes->get_active() );
+ ThreeDHelper::switchRightAngledAxes( m_xDiagram, m_xCbxRightAngledAxes->get_active() );
}
} //namespace chart
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx b/chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx
index ca7f75ebea0d..4bcdd8ca6237 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx
@@ -20,18 +20,20 @@
#include <vcl/timer.hxx>
#include <vcl/weld.hxx>
+#include <rtl/ref.hxx>
namespace com::sun::star::beans { class XPropertySet; }
namespace chart { class ControllerLockHelper; }
namespace chart
{
+class Diagram;
class ThreeD_SceneGeometry_TabPage
{
public:
ThreeD_SceneGeometry_TabPage(weld::Container* pWindow,
- const css::uno::Reference< css::beans::XPropertySet > & xSceneProperties,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
ControllerLockHelper & rControllerLockHelper);
~ThreeD_SceneGeometry_TabPage();
@@ -54,7 +56,7 @@ private:
void applyAnglesToModel();
void applyPerspectiveToModel();
- css::uno::Reference< css::beans::XPropertySet > m_xSceneProperties;
+ rtl::Reference< ::chart::Diagram > m_xDiagram;
Timer m_aAngleTimer;
Timer m_aPerspectiveTimer;
diff --git a/chart2/source/controller/inc/ObjectHierarchy.hxx b/chart2/source/controller/inc/ObjectHierarchy.hxx
index d8f7747e8bc6..014210c1c839 100644
--- a/chart2/source/controller/inc/ObjectHierarchy.hxx
+++ b/chart2/source/controller/inc/ObjectHierarchy.hxx
@@ -67,17 +67,17 @@ private:
void createAxesTree(
ObjectHierarchy::tChildContainer & rContainer,
const rtl::Reference<::chart::ChartModel> & xChartDoc,
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
+ const rtl::Reference< ::chart::Diagram > & xDiagram );
void createDiagramTree(
ObjectHierarchy::tChildContainer& rContainer,
const rtl::Reference<::chart::ChartModel>& xChartDoc,
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
+ const rtl::Reference< ::chart::Diagram >& xDiagram );
void createDataSeriesTree(
ObjectHierarchy::tChildContainer & rOutDiagramSubContainer,
const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
static void createWallAndFloor(
ObjectHierarchy::tChildContainer & rContainer,
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
+ const rtl::Reference< ::chart::Diagram > & xDiagram );
void createLegendTree(
ObjectHierarchy::tChildContainer & rContainer,
const rtl::Reference<::chart::ChartModel> & xChartDoc,
diff --git a/chart2/source/controller/main/ObjectHierarchy.cxx b/chart2/source/controller/main/ObjectHierarchy.cxx
index b15a90d79b4a..5a8853278f07 100644
--- a/chart2/source/controller/main/ObjectHierarchy.cxx
+++ b/chart2/source/controller/main/ObjectHierarchy.cxx
@@ -214,9 +214,8 @@ void ObjectHierarchy::createLegendTree(
void ObjectHierarchy::createAxesTree(
ObjectHierarchy::tChildContainer & rContainer,
const rtl::Reference<::chart::ChartModel> & xChartDoc,
- const Reference< XDiagram > & xDiagram )
+ const rtl::Reference< Diagram > & xDiagram )
{
- Reference< XCoordinateSystemContainer > xCooSysCnt( xDiagram, uno::UNO_QUERY_THROW );
sal_Int32 nDimensionCount = DiagramHelper::getDimension( xDiagram );
rtl::Reference< ChartType > xChartType( DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) );
bool bSupportsAxesGrids = ChartTypeHelper::isSupportingMainAxis( xChartType, nDimensionCount, 0 );
@@ -278,7 +277,7 @@ void ObjectHierarchy::createAxesTree(
void ObjectHierarchy::createWallAndFloor(
ObjectHierarchy::tChildContainer & rContainer,
- const Reference< XDiagram > & xDiagram )
+ const rtl::Reference< Diagram > & xDiagram )
{
sal_Int32 nDimensionCount = DiagramHelper::getDimension( xDiagram );
bool bIsThreeD = ( nDimensionCount == 3 );
@@ -297,7 +296,7 @@ void ObjectHierarchy::createWallAndFloor(
void ObjectHierarchy::createDiagramTree(
ObjectHierarchy::tChildContainer & rContainer,
const rtl::Reference<::chart::ChartModel> & xChartDoc,
- const Reference< XDiagram > & xDiagram )
+ const rtl::Reference< Diagram > & xDiagram )
{
if( !m_bOrderingForElementSelector )
{
diff --git a/chart2/source/controller/sidebar/ChartSeriesPanel.cxx b/chart2/source/controller/sidebar/ChartSeriesPanel.cxx
index 27878f8926cc..a9a77652d11e 100644
--- a/chart2/source/controller/sidebar/ChartSeriesPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartSeriesPanel.cxx
@@ -222,7 +222,7 @@ void setAttachedAxisType(const rtl::Reference<::chart::ChartModel>&
if (!xDataSeries.is())
return;
- uno::Reference<chart2::XDiagram> xDiagram = xModel->getFirstDiagram();
+ rtl::Reference<Diagram> xDiagram = xModel->getFirstChartDiagram();
DiagramHelper::attachSeriesToAxis(bPrimary, xDataSeries, xDiagram, comphelper::getProcessComponentContext());
}
diff --git a/chart2/source/inc/AxisHelper.hxx b/chart2/source/inc/AxisHelper.hxx
index df3da4c4de5b..61610b5c4b9d 100644
--- a/chart2/source/inc/AxisHelper.hxx
+++ b/chart2/source/inc/AxisHelper.hxx
@@ -40,6 +40,7 @@ namespace chart
{
class BaseCoordinateSystem;
class ChartType;
+class Diagram;
class OOO_DLLPUBLIC_CHARTTOOLS AxisHelper
{
@@ -102,7 +103,7 @@ public:
static void makeGridInvisible( const css::uno::Reference< css::beans::XPropertySet >& xGridProperties );
static void hideAxisIfNoDataIsAttached( const css::uno::Reference< css::chart2::XAxis >& xAxis
- , const css::uno::Reference< css::chart2::XDiagram >& xDiagram);
+ , const rtl::Reference< ::chart::Diagram >& xDiagram);
SAL_DLLPRIVATE static bool areAxisLabelsVisible( const css::uno::Reference< css::beans::XPropertySet >& xAxisProperties );
static bool isAxisVisible( const css::uno::Reference< css::chart2::XAxis >& xAxis );
@@ -172,7 +173,7 @@ public:
getAllGrids( const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
static void getAxisOrGridPossibilities( css::uno::Sequence< sal_Bool >& rPossibilityList
- , const css::uno::Reference< css::chart2::XDiagram>& xDiagram, bool bAxis=true );
+ , const rtl::Reference< ::chart::Diagram>& xDiagram, bool bAxis=true );
static void getAxisOrGridExistence( css::uno::Sequence< sal_Bool >& rExistenceList
, const css::uno::Reference< css::chart2::XDiagram>& xDiagram, bool bAxis=true );
@@ -199,7 +200,7 @@ public:
static void setRTLAxisLayout( const css::uno::Reference< css::chart2::XCoordinateSystem >& xCooSys );
static rtl::Reference< ::chart::ChartType >
- getFirstChartTypeWithSeriesAttachedToAxisIndex( const css::uno::Reference< css::chart2::XDiagram >& xDiagram, const sal_Int32 nAttachedAxisIndex );
+ getFirstChartTypeWithSeriesAttachedToAxisIndex( const rtl::Reference< ::chart::Diagram >& xDiagram, const sal_Int32 nAttachedAxisIndex );
static bool isAxisPositioningEnabled();
};
diff --git a/chart2/source/inc/ChartTypeTemplate.hxx b/chart2/source/inc/ChartTypeTemplate.hxx
index e5594c43bdc3..af70bb84ccb3 100644
--- a/chart2/source/inc/ChartTypeTemplate.hxx
+++ b/chart2/source/inc/ChartTypeTemplate.hxx
@@ -159,7 +159,7 @@ public:
<p>The dimension depends on the value returned by getDimension().</p>
*/
virtual void createCoordinateSystems(
- const css::uno::Reference< css::chart2::XCoordinateSystemContainer > & xOutCooSysCnt );
+ const rtl::Reference< ::chart::Diagram > & xDiagram );
/** Sets categories at the scales of dimension 0 and the percent stacking at
the scales of dimension 1 of all given coordinate systems.
diff --git a/chart2/source/inc/DataSourceHelper.hxx b/chart2/source/inc/DataSourceHelper.hxx
index 950f66e54927..892412cc8d63 100644
--- a/chart2/source/inc/DataSourceHelper.hxx
+++ b/chart2/source/inc/DataSourceHelper.hxx
@@ -35,6 +35,7 @@ namespace com::sun::star::frame { class XModel; }
namespace chart
{
+class Diagram;
class OOO_DLLPUBLIC_CHARTTOOLS DataSourceHelper
{
@@ -79,7 +80,7 @@ public:
pressUsedDataIntoRectangularFormat( const css::uno::Reference< css::chart2::XChartDocument >& xChartDoc );
SAL_DLLPRIVATE static css::uno::Sequence< OUString > getUsedDataRanges(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
+ const rtl::Reference< ::chart::Diagram > & xDiagram );
static css::uno::Sequence< OUString > getUsedDataRanges(
const rtl::Reference<::chart::ChartModel> & xChartModel );
diff --git a/chart2/source/inc/DiagramHelper.hxx b/chart2/source/inc/DiagramHelper.hxx
index a05de767d38d..9f40c536e241 100644
--- a/chart2/source/inc/DiagramHelper.hxx
+++ b/chart2/source/inc/DiagramHelper.hxx
@@ -45,6 +45,7 @@ namespace chart
class ChartType;
class ChartTypeManager;
class ChartTypeTemplate;
+class Diagram;
enum DiagramPositioningMode
{
@@ -71,7 +72,7 @@ public:
*/
static tTemplateWithServiceName
getTemplateForDiagram(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
const rtl::Reference< ::chart::ChartTypeManager > & xChartTypeManager);
/** Sets the "SwapXAndYAxis" property at all coordinate systems found in the
@@ -79,7 +80,7 @@ public:
"vertical==true" for bar charts, "vertical==false" for column charts
*/
- static void setVertical( const css::uno::Reference< css::chart2::XDiagram > & xDiagram,
+ static void setVertical( const rtl::Reference< ::chart::Diagram > & xDiagram,
bool bVertical );
/** Gets the "SwapXAndYAxis" property at all coordinate systems found in the
@@ -87,11 +88,11 @@ public:
"vertical==true" for bar charts, "vertical==false" for column charts
*/
- static bool getVertical( const css::uno::Reference< css::chart2::XDiagram > & xDiagram,
+ static bool getVertical( const rtl::Reference< ::chart::Diagram > & xDiagram,
bool& rbOutFoundResult, bool& rbOutAmbiguousResult );
static StackMode getStackMode(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
bool& rbFound, bool& rbAmbiguous
);
@@ -102,7 +103,7 @@ public:
applies to the first chart type/the bars)
*/
static void setStackMode(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
StackMode eStackMode
);
@@ -125,7 +126,7 @@ public:
dimension is not unique, 0 is returned.
*/
static sal_Int32 getDimension(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
+ const rtl::Reference< ::chart::Diagram > & xDiagram );
/** Sets the dimension of the diagram given.
@@ -135,14 +136,14 @@ public:
XCoordinateSystemContainer of the diagram.
*/
static void setDimension(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
sal_Int32 nNewDimensionCount );
/** Replaces all occurrences of xCooSysToReplace in the tree with
xReplacement in the diagram's tree
*/
SAL_DLLPRIVATE static void replaceCoordinateSystem(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
const css::uno::Reference< css::chart2::XCoordinateSystem > & xCooSysToReplace,
const css::uno::Reference< css::chart2::XCoordinateSystem > & xReplacement );
@@ -151,22 +152,22 @@ public:
static bool attachSeriesToAxis( bool bMainAxis,
const css::uno::Reference< css::chart2::XDataSeries >& xSeries,
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
const css::uno::Reference< css::uno::XComponentContext > & xContext,
bool bAdaptAxes=true );
static css::uno::Reference< css::chart2::XAxis > getAttachedAxis(
const css::uno::Reference< css::chart2::XDataSeries >& xSeries,
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
+ const rtl::Reference< ::chart::Diagram >& xDiagram );
static rtl::Reference< ChartType >
getChartTypeOfSeries(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
const css::uno::Reference< css::chart2::XDataSeries >& xSeries );
static std::vector< css::uno::Reference< css::chart2::XDataSeries > >
getDataSeriesFromDiagram(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
+ const rtl::Reference< ::chart::Diagram > & xDiagram );
/** return all data series in this diagram grouped by chart-types
*/
@@ -174,20 +175,20 @@ public:
css::uno::Sequence<
css::uno::Reference< css::chart2::XDataSeries > > >
getDataSeriesGroups(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
+ const rtl::Reference< ::chart::Diagram > & xDiagram );
static bool isCategoryDiagram(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
+ const rtl::Reference< ::chart::Diagram >& xDiagram );
static void setCategoriesToDiagram(
const css::uno::Reference< css::chart2::data::XLabeledDataSequence >& xCategories,
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
bool bSetAxisType = false, // when this flag is true ...
bool bCategoryAxis = true);// set the AxisType to CATEGORY or back to REALNUMBER
static css::uno::Reference< css::chart2::data::XLabeledDataSequence >
getCategoriesFromDiagram(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
+ const rtl::Reference< ::chart::Diagram > & xDiagram );
static css::uno::Sequence< OUString >
getExplicitSimpleCategories( ChartModel& rModel );
@@ -202,7 +203,7 @@ public:
static void switchToTextCategories(
const rtl::Reference<::chart::ChartModel> & xChartDoc );
- static bool isSupportingDateAxis( const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
+ static bool isSupportingDateAxis( const rtl::Reference< ::chart::Diagram >& xDiagram );
static bool isDateNumberFormat( sal_Int32 nNumberFormat, const css::uno::Reference< css::util::XNumberFormats >& xNumberFormats );
static sal_Int32 getDateNumberFormat( const css::uno::Reference< css::util::XNumberFormatsSupplier >& xNumberFormatsSupplier );
static sal_Int32 getDateTimeInputNumberFormat( const css::uno::Reference< css::util::XNumberFormatsSupplier >& xNumberFormatsSupplier, double fNumber );
@@ -211,11 +212,11 @@ public:
css::util::XNumberFormatsSupplier >& xNumberFormatsSupplier );
static rtl::Reference< ChartType >
- getChartTypeByIndex( const css::uno::Reference< css::chart2::XDiagram >& xDiagram, sal_Int32 nIndex );
+ getChartTypeByIndex( const rtl::Reference< ::chart::Diagram >& xDiagram, sal_Int32 nIndex );
static std::vector< rtl::Reference< ChartType > >
getChartTypesFromDiagram(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
+ const rtl::Reference< ::chart::Diagram > & xDiagram );
SAL_DLLPRIVATE static bool areChartTypesCompatible(
const rtl::Reference< ::chart::ChartType >& xFirstType,
@@ -237,7 +238,7 @@ public:
*
*/
static bool isSeriesMoveable(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
const css::uno::Reference< css::chart2::XDataSeries >& xGivenDataSeries,
bool bForward );
@@ -257,28 +258,28 @@ public:
*
*/
static bool moveSeries(
- const css::uno::Reference< css::chart2::XDiagram >& xDiagram,
+ const rtl::Reference< ::chart::Diagram >& xDiagram,
const css::uno::Reference< css::chart2::XDataSeries >& xGivenDataSeries,
bool bForward );
- static bool isSupportingFloorAndWall( const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
+ static bool isSupportingFloorAndWall( const rtl::Reference< ::chart::Diagram > & xDiagram );
- static bool isPieOrDonutChart( const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
+ static bool isPieOrDonutChart( const rtl::Reference< ::chart::Diagram >& xDiagram );
static sal_Int32 getGeometry3D(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
bool& rbFound, bool& rbAmbiguous );
static void setGeometry3D(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
sal_Int32 nNewGeometry );
//returns integer from constant group css::chart::MissingValueTreatment
static sal_Int32 getCorrectedMissingValueTreatment(
- const css::uno::Reference< css::chart2::XDiagram > & xDiagram,
+ const rtl::Reference< ::chart::Diagram > & xDiagram,
const rtl::Reference< ::chart::ChartType >& xChartType );
- static DiagramPositioningMode getDiagramPositioningMode( const css::uno::Reference< css::chart2::XDiagram > & xDiagram );
+ static DiagramPositioningMode getDiagramPositioningMode( const rtl::Reference< ::chart::Diagram > & xDiagram );
static bool setDiagramPositioning( const rtl::Reference<::chart::ChartModel>& xChartModel,
const css::awt::Rectangle& rPosRect /*100th mm*/ );
diff --git a/chart2/source/inc/RegressionCurveHelper.hxx b/chart2/source/inc/RegressionCurveHelper.hxx
index 318b29d7db36..00a70a5aece4 100644
--- a/chart2/source/inc/RegressionCurveHelper.hxx
+++ b/chart2/source/inc/RegressionCurveHelper.hxx
@@ -33,6 +33,7 @@ namespace com::sun::star::chart2 { class XRegressionCurveContainer; }
namespace com::sun::star::chart2::data { class XDataSource; }
namespace com::sun::star::frame { class XModel; }
namespace chart { class ChartModel; }
+namespace chart { class Diagram; }
namespace chart::RegressionCurveHelper
{
@@ -162,7 +163,7 @@ namespace chart::RegressionCurveHelper
OOO_DLLPUBLIC_CHARTTOOLS std::vector<css::uno::Reference<css::chart2::XRegressionCurve> >
getAllRegressionCurvesNotMeanValueLine(
- const css::uno::Reference<css::chart2::XDiagram>& xDiagram );
+ const rtl::Reference<::chart::Diagram>& xDiagram );
OOO_DLLPUBLIC_CHARTTOOLS void resetEquationPosition(
const css::uno::Reference<css::chart2::XRegressionCurve>& xCurve );
diff --git a/chart2/source/inc/ThreeDHelper.hxx b/chart2/source/inc/ThreeDHelper.hxx
index 93b1c995f388..b5edf986c26d 100644
--- a/chart2/source/inc/ThreeDHelper.hxx
+++ b/chart2/source/inc/ThreeDHelper.hxx
@@ -20,6 +20,7 @@
#pragma once
#include <com/sun/star/drawing/CameraGeometry.hpp>
+#include <rtl/ref.hxx>
#include "charttoolsdllapi.hxx"
namespace com::sun::star::beans { class XPropertySet; }
@@ -27,6 +28,7 @@ namespace com::sun::star::chart2 { class XDiagram; }
namespace chart
{
+class Diagram;
enum class ThreeDLookScheme
{
@@ -61,14 +63,14 @@ public:
const css::uno::Reference< css::beans::XPropertySet >& xSceneProperties
, double& rfXAngleRad, double& rfYAngleRad, double& rfZAngleRad );
static void setRotationAngleToDiagram(
- const css::uno::Reference< css::beans::XPropertySet >& xSceneProperties
+ const rtl::Reference< ::chart::Diagram >& xSceneProperties
, double fXAngleRad, double fYAngleRad, double fZAngleRad );
static void getRotationFromDiagram(
- const css::uno::Reference< css::beans::XPropertySet >& xSceneProperties
+ const rtl::Reference< ::chart::Diagram >& xSceneProperties
, sal_Int32& rnHorizontalAngleDegree, sal_Int32& rnVerticalAngleDegree );
static void setRotationToDiagram(
- const css::uno::Reference< css::beans::XPropertySet >& xSceneProperties
+ const rtl::Reference< ::chart::Diagram >& xSceneProperties
, sal_Int32 nHorizontalAngleDegree, sal_Int32 nVerticalYAngleDegree );
static void switchRightAngledAxes( const css::uno::Reference< css::beans::XPropertySet >& xSceneProperties
@@ -99,29 +101,29 @@ public:
static double CameraDistanceToPerspective( double fCameraDistance );
static double PerspectiveToCameraDistance( double fPerspective );
- static void set3DSettingsToDefault( const css::uno::Reference< css::beans::XPropertySet >& xSceneProperties );
- static void setDefaultRotation( const css::uno::Reference< css::beans::XPropertySet >& xSceneProperties );
- static void setDefaultIllumination( const css::uno::Reference< css::beans::XPropertySet >& xSceneProperties );
+ static void set3DSettingsToDefault( const rtl::Reference< ::chart::Diagram >& xSceneProperties );
+ static void setDefaultRotation( const rtl::Reference< ::chart::Diagram >& xDiagram );
+ static void setDefaultIllumination( const rtl::Reference< ::chart::Diagram >& xDiagram );
static void setDefaultRotation( const css::uno::Reference< css::beans::XPropertySet >& xSceneProperties, bool bPieOrDonut );
- static CuboidPlanePosition getAutomaticCuboidPlanePositionForStandardLeftWall( const css::uno::Reference<
- css::beans::XPropertySet >& xSceneProperties );
- static CuboidPlanePosition getAutomaticCuboidPlanePositionForStandardBackWall(const css::uno::Reference<
- css::beans::XPropertySet >& xSceneProperties );
- static CuboidPlanePosition getAutomaticCuboidPlanePositionForStandardBottom(const css::uno::Reference<
- css::beans::XPropertySet >& xSceneProperties );
+ static CuboidPlanePosition getAutomaticCuboidPlanePositionForStandardLeftWall( const rtl::Reference<
+ ::chart::Diagram >& xDiagram );
+ static CuboidPlanePosition getAutomaticCuboidPlanePositionForStandardBackWall(const rtl::Reference<
+ ::chart::Diagram >& xDiagram );
+ static CuboidPlanePosition getAutomaticCuboidPlanePositionForStandardBottom(const rtl::Reference<
+ ::chart::Diagram >& xDiagram );
- static ThreeDLookScheme detectScheme( const css::uno::Reference< css::chart2::XDiagram >& xDiagram );
- static void setScheme( const css::uno::Reference< css::chart2::XDiagram >& xDiagram
+ static ThreeDLookScheme detectScheme( const rtl::Reference< ::chart::Diagram >& xDiagram );
+ static void setScheme( const rtl::Reference< ::chart::Diagram >& xDiagram
, ThreeDLookScheme aScheme );
//sal_Int32 nRoundedEdges: <0 or >100 -> mixed state
//sal_Int32 nObjectLines: 0->no lines; 1->all lines on; other->mixed state
- static void getRoundedEdgesAndObjectLines( const css::uno::Reference< css::chart2::XDiagram >& xDiagram
+ static void getRoundedEdgesAndObjectLines( const rtl::Reference< ::chart::Diagram >& xDiagram
, sal_Int32& rnRoundedEdges, sal_Int32& rnObjectLines );
- static void setRoundedEdgesAndObjectLines( const css::uno::Reference< css::chart2::XDiagram >& xDiagram
+ static void setRoundedEdgesAndObjectLines( const rtl::Reference< ::chart::Diagram >& xDiagram
, sal_Int32 nRoundedEdges, sal_Int32 nObjectLines );
};
diff --git a/chart2/source/model/template/BarChartTypeTemplate.cxx b/chart2/source/model/template/BarChartTypeTemplate.cxx
index 947df608c78b..4a46b502a2d0 100644
--- a/chart2/source/model/template/BarChartTypeTemplate.cxx
+++ b/chart2/source/model/template/BarChartTypeTemplate.cxx
@@ -288,11 +288,10 @@ void BarChartTypeTemplate::resetStyles(
}
void BarChartTypeTemplate::createCoordinateSystems(
- const Reference< chart2::XCoordinateSystemContainer > & xCooSysCnt )
+ const rtl::Reference< ::chart::Diagram > & xDiagram )
{
- ChartTypeTemplate::createCoordinateSystems( xCooSysCnt );
+ ChartTypeTemplate::createCoordinateSystems( xDiagram );
- Reference< chart2::XDiagram > xDiagram( xCooSysCnt, uno::UNO_QUERY );
DiagramHelper::setVertical( xDiagram, m_eBarDirection == HORIZONTAL );
}
diff --git a/chart2/source/model/template/BarChartTypeTemplate.hxx b/chart2/source/model/template/BarChartTypeTemplate.hxx
index af6e1096a7f1..6c5f66bd9cc3 100644
--- a/chart2/source/model/template/BarChartTypeTemplate.hxx
+++ b/chart2/source/model/template/BarChartTypeTemplate.hxx
@@ -85,7 +85,7 @@ protected:
virtual bool isSwapXAndY() const override;
virtual void createCoordinateSystems(
- const css::uno::Reference< css::chart2::XCoordinateSystemContainer > & xCooSysCnt ) override;
+ const rtl::Reference< ::chart::Diagram > & xDiagram ) override;
private:
StackMode m_eStackMode;
diff --git a/chart2/source/model/template/ChartTypeTemplate.cxx b/chart2/source/model/template/ChartTypeTemplate.cxx
index 997de84ad302..0cb57443441a 100644
--- a/chart2/source/model/template/ChartTypeTemplate.cxx
+++ b/chart2/source/model/template/ChartTypeTemplate.cxx
@@ -489,9 +489,9 @@ bool ChartTypeTemplate::isSwapXAndY() const
}
void ChartTypeTemplate::createCoordinateSystems(
- const Reference< chart2::XCoordinateSystemContainer > & xOutCooSysCnt )
+ const rtl::Reference< ::chart::Diagram > & xDiagram )
{
- if( ! xOutCooSysCnt.is())
+ if( ! xDiagram.is())
return;
std::vector< rtl::Reference< ChartType > > aFormerlyUsedChartTypes;
rtl::Reference< ChartType > xChartType( getChartTypeForNewSeries(aFormerlyUsedChartTypes));
@@ -501,7 +501,7 @@ void ChartTypeTemplate::createCoordinateSystems(
if( ! xCooSys.is())
{
// chart type wants no coordinate systems
- xOutCooSysCnt->setCoordinateSystems( Sequence< Reference< XCoordinateSystem > >());
+ xDiagram->setCoordinateSystems( Sequence< Reference< XCoordinateSystem > >());
return;
}
// #i69680# make grid of first y-axis visible (was in the CooSys CTOR before)
@@ -513,7 +513,7 @@ void ChartTypeTemplate::createCoordinateSystems(
}
Sequence< Reference< XCoordinateSystem > > aCoordinateSystems(
- xOutCooSysCnt->getCoordinateSystems());
+ xDiagram->getCoordinateSystems());
if( aCoordinateSystems.hasElements())
{
@@ -550,7 +550,7 @@ void ChartTypeTemplate::createCoordinateSystems(
// set new coordinate systems
aCoordinateSystems = { xCooSys };
- xOutCooSysCnt->setCoordinateSystems( aCoordinateSystems );
+ xDiagram->setCoordinateSystems( aCoordinateSystems );
}
void ChartTypeTemplate::adaptScales(
diff --git a/chart2/source/tools/AxisHelper.cxx b/chart2/source/tools/AxisHelper.cxx
index 03d15f47b921..2e223831aa98 100644
--- a/chart2/source/tools/AxisHelper.cxx
+++ b/chart2/source/tools/AxisHelper.cxx
@@ -185,7 +185,7 @@ sal_Int32 AxisHelper::getExplicitNumberFormatKeyForAxis(
}
else if( xChartDoc.is() && xChartDoc->hasInternalDataProvider() && nDimensionIndex == 0 ) //maybe date axis
{
- Reference< chart2::XDiagram > xDiagram( xChartDoc->getFirstDiagram() );
+ rtl::Reference< Diagram > xDiagram( xChartDoc->getFirstChartDiagram() );
if( DiagramHelper::isSupportingDateAxis( xDiagram ) )
{
nNumberFormatKey = DiagramHelper::getDateNumberFormat( xChartDoc );
@@ -491,7 +491,7 @@ void AxisHelper::makeAxisInvisible( const Reference< XAxis >& xAxis )
}
}
-void AxisHelper::hideAxisIfNoDataIsAttached( const Reference< XAxis >& xAxis, const Reference< XDiagram >& xDiagram )
+void AxisHelper::hideAxisIfNoDataIsAttached( const Reference< XAxis >& xAxis, const rtl::Reference< Diagram >& xDiagram )
{
//axis is hidden if no data is attached anymore but data is available
bool bOtherSeriesAttachedToThisAxis = false;
@@ -875,7 +875,7 @@ Sequence< Reference< beans::XPropertySet > > AxisHelper::getAllGrids( const Refe
}
void AxisHelper::getAxisOrGridPossibilities( Sequence< sal_Bool >& rPossibilityList
- , const Reference< XDiagram>& xDiagram, bool bAxis )
+ , const rtl::Reference< Diagram>& xDiagram, bool bAxis )
{
rPossibilityList.realloc(6);
sal_Bool* pPossibilityList = rPossibilityList.getArray();
@@ -1123,7 +1123,7 @@ void AxisHelper::setRTLAxisLayout( const Reference< XCoordinateSystem >& xCooSys
}
}
-rtl::Reference< ChartType > AxisHelper::getFirstChartTypeWithSeriesAttachedToAxisIndex( const Reference< chart2::XDiagram >& xDiagram, const sal_Int32 nAttachedAxisIndex )
+rtl::Reference< ChartType > AxisHelper::getFirstChartTypeWithSeriesAttachedToAxisIndex( const rtl::Reference< Diagram >& xDiagram, const sal_Int32 nAttachedAxisIndex )
{
rtl::Reference< ChartType > xChartType;
std::vector< Reference< XDataSeries > > aSeriesVector( DiagramHelper::getDataSeriesFromDiagram( xDiagram ) );
diff --git a/chart2/source/tools/DataSourceHelper.cxx b/chart2/source/tools/DataSourceHelper.cxx
index b21ccd11b254..eda39aa7de78 100644
--- a/chart2/source/tools/DataSourceHelper.cxx
+++ b/chart2/source/tools/DataSourceHelper.cxx
@@ -225,7 +225,9 @@ uno::Reference< chart2::data::XDataSource > DataSourceHelper::pressUsedDataIntoR
std::vector< Reference< chart2::data::XLabeledDataSequence > > aResultVector;
//categories are always the first sequence
- Reference< chart2::XDiagram > xDiagram( xChartDoc->getFirstDiagram());
+ auto pModel = dynamic_cast<ChartModel*>(xChartDoc.get());
+ assert(pModel);
+ rtl::Reference< Diagram > xDiagram( pModel->getFirstChartDiagram());
Reference< chart2::data::XLabeledDataSequence > xCategories( DiagramHelper::getCategoriesFromDiagram( xDiagram ) );
if( xCategories.is() )
@@ -254,7 +256,7 @@ uno::Reference< chart2::data::XDataSource > DataSourceHelper::pressUsedDataIntoR
}
uno::Sequence< OUString > DataSourceHelper::getUsedDataRanges(
- const uno::Reference< chart2::XDiagram > & xDiagram )
+ const rtl::Reference< Diagram > & xDiagram )
{
std::vector< OUString > aResult;
@@ -336,7 +338,7 @@ bool DataSourceHelper::detectRangeSegmentation(
bSomethingDetected = !rOutRangeString.isEmpty();
uno::Reference< chart2::data::XLabeledDataSequence > xCategories(
- DiagramHelper::getCategoriesFromDiagram( xChartModel->getFirstDiagram() ));
+ DiagramHelper::getCategoriesFromDiagram( xChartModel->getFirstChartDiagram() ));
rOutHasCategories = xCategories.is();
}
catch( uno::Exception & )
diff --git a/chart2/source/tools/DiagramHelper.cxx b/chart2/source/tools/DiagramHelper.cxx
index 8a1a5350a227..99618fdd44d2 100644
--- a/chart2/source/tools/DiagramHelper.cxx
+++ b/chart2/source/tools/DiagramHelper.cxx
@@ -78,15 +78,13 @@ namespace chart
DiagramHelper::tTemplateWithServiceName
DiagramHelper::getTemplateForDiagram(
- const Reference< XDiagram > & xDiagram,
+ const rtl::Reference< Diagram > & xDiagram,
const rtl::Reference< ::chart::ChartTypeManager > & xChartTypeManager )
{
DiagramHelper::tTemplateWithServiceName aResult;
if( ! (xChartTypeManager.is() && xDiagram.is()))
return aResult;
- auto pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
Sequence< OUString > aServiceNames( xChartTypeManager->getAvailableServiceNames());
const sal_Int32 nLength = aServiceNames.getLength();
@@ -100,7 +98,7 @@ DiagramHelper::tTemplateWithServiceName
rtl::Reference< ::chart::ChartTypeTemplate > xTempl =
xChartTypeManager->createTemplate( aServiceNames[ i ] );
- if (xTempl.is() && xTempl->matchesTemplate(pDiagram, true))
+ if (xTempl.is() && xTempl->matchesTemplate(xDiagram, true))
{
aResult.xChartTypeTemplate = xTempl;
aResult.sServiceName = aServiceNames[ i ];
@@ -117,7 +115,7 @@ DiagramHelper::tTemplateWithServiceName
}
void DiagramHelper::setVertical(
- const Reference< XDiagram > & xDiagram,
+ const rtl::Reference< Diagram > & xDiagram,
bool bVertical /* = true */ )
{
try
@@ -125,12 +123,9 @@ void DiagramHelper::setVertical(
if (!xDiagram.is())
return;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
-
uno::Any aValue;
aValue <<= bVertical;
- for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : xDiagram->getBaseCoordinateSystems() )
{
bool bChanged = false;
bool bOldSwap = false;
@@ -187,7 +182,7 @@ void DiagramHelper::setVertical(
}
}
-bool DiagramHelper::getVertical( const uno::Reference< chart2::XDiagram > & xDiagram,
+bool DiagramHelper::getVertical( const rtl::Reference< Diagram > & xDiagram,
bool& rbFound, bool& rbAmbiguous )
{
bool bValue = false;
@@ -197,10 +192,7 @@ bool DiagramHelper::getVertical( const uno::Reference< chart2::XDiagram > & xDia
if (!xDiagram.is())
return false;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
-
- for (rtl::Reference<BaseCoordinateSystem> const & coords : pDiagram->getBaseCoordinateSystems())
+ for (rtl::Reference<BaseCoordinateSystem> const & coords : xDiagram->getBaseCoordinateSystems())
{
bool bCurrent = false;
if (coords->getPropertyValue("SwapXAndYAxis") >>= bCurrent)
@@ -221,12 +213,10 @@ bool DiagramHelper::getVertical( const uno::Reference< chart2::XDiagram > & xDia
}
void DiagramHelper::setStackMode(
- const Reference< XDiagram > & xDiagram,
+ const rtl::Reference< Diagram > & xDiagram,
StackMode eStackMode
)
{
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
try
{
bool bValueFound = false;
@@ -249,7 +239,7 @@ void DiagramHelper::setStackMode(
bPercent = true;
//iterate through all coordinate systems
- for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : xDiagram->getBaseCoordinateSystems() )
{
//set correct percent stacking
const sal_Int32 nMaximumScaleIndex = xCooSys->getMaximumAxisIndexByDimension(1);
@@ -297,7 +287,7 @@ void DiagramHelper::setStackMode(
}
}
-StackMode DiagramHelper::getStackMode( const Reference< XDiagram > & xDiagram, bool& rbFound, bool& rbAmbiguous )
+StackMode DiagramHelper::getStackMode( const rtl::Reference< Diagram > & xDiagram, bool& rbFound, bool& rbAmbiguous )
{
rbFound=false;
rbAmbiguous=false;
@@ -306,11 +296,9 @@ StackMode DiagramHelper::getStackMode( const Reference< XDiagram > & xDiagram, b
if( !xDiagram.is() )
return eGlobalStackMode;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
//iterate through all coordinate systems
- for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : xDiagram->getBaseCoordinateSystems() )
{
//iterate through all chart types in the current coordinate system
std::vector< rtl::Reference< ChartType > > aChartTypeList( xCooSys->getChartTypes2() );
@@ -415,19 +403,16 @@ StackMode DiagramHelper::getStackModeFromChartType(
return eStackMode;
}
-sal_Int32 DiagramHelper::getDimension( const Reference< XDiagram > & xDiagram )
+sal_Int32 DiagramHelper::getDimension( const rtl::Reference< Diagram > & xDiagram )
{
// -1: not yet set
sal_Int32 nResult = -1;
if (!xDiagram)
return nResult;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
-
try
{
- for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : xDiagram->getBaseCoordinateSystems() )
{
if(xCooSys.is())
{
@@ -445,13 +430,11 @@ sal_Int32 DiagramHelper::getDimension( const Reference< XDiagram > & xDiagram )
}
void DiagramHelper::setDimension(
- const Reference< XDiagram > & xDiagram,
+ const rtl::Reference< Diagram > & xDiagram,
sal_Int32 nNewDimensionCount )
{
if( ! xDiagram.is())
return;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
if( DiagramHelper::getDimension( xDiagram ) == nNewDimensionCount )
return;
@@ -464,7 +447,7 @@ void DiagramHelper::setDimension(
bool bIsSupportingOnlyDeepStackingFor3D=false;
//change all coordinate systems:
- auto aCoordSystems = pDiagram->getBaseCoordinateSystems();
+ auto aCoordSystems = xDiagram->getBaseCoordinateSystems();
for( rtl::Reference<BaseCoordinateSystem> const & xOldCooSys : aCoordSystems )
{
rtl::Reference< BaseCoordinateSystem > xNewCooSys;
@@ -501,7 +484,7 @@ void DiagramHelper::setDimension(
}
void DiagramHelper::replaceCoordinateSystem(
- const Reference< XDiagram > & xDiagram,
+ const rtl::Reference< Diagram > & xDiagram,
const Reference< XCoordinateSystem > & xCooSysToReplace,
const Reference< XCoordinateSystem > & xReplacement )
{
@@ -510,9 +493,6 @@ void DiagramHelper::replaceCoordinateSystem(
return;
// update the coordinate-system container
- Reference< XCoordinateSystemContainer > xCont( xDiagram, uno::UNO_QUERY );
- if( !xCont.is())
- return;
try
{
@@ -523,8 +503,8 @@ void DiagramHelper::replaceCoordinateSystem(
Reference< XChartTypeContainer > xCTCntReplacement( xReplacement, uno::UNO_QUERY_THROW );
xCTCntReplacement->setChartTypes( xCTCntCooSys->getChartTypes());
- xCont->removeCoordinateSystem( xCooSysToReplace );
- xCont->addCoordinateSystem( xReplacement );
+ xDiagram->removeCoordinateSystem( xCooSysToReplace );
+ xDiagram->addCoordinateSystem( xReplacement );
if( xCategories.is() )
DiagramHelper::setCategoriesToDiagram( xCategories, xDiagram );
@@ -544,7 +524,7 @@ bool DiagramHelper::isSeriesAttachedToMainAxis(
bool DiagramHelper::attachSeriesToAxis( bool bAttachToMainAxis
, const uno::Reference< chart2::XDataSeries >& xDataSeries
- , const uno::Reference< chart2::XDiagram >& xDiagram
+ , const rtl::Reference< Diagram >& xDiagram
, const uno::Reference< uno::XComponentContext > & xContext
, bool bAdaptAxes )
{
@@ -587,28 +567,26 @@ bool DiagramHelper::attachSeriesToAxis( bool bAttachToMainAxis
uno::Reference< XAxis > DiagramHelper::getAttachedAxis(
const uno::Reference< XDataSeries >& xSeries,
- const uno::Reference< XDiagram >& xDiagram )
+ const rtl::Reference< Diagram >& xDiagram )
{
return AxisHelper::getAxis( 1, DiagramHelper::isSeriesAttachedToMainAxis( xSeries ), xDiagram );
}
rtl::Reference< ChartType > DiagramHelper::getChartTypeOfSeries(
- const uno::Reference< chart2::XDiagram >& xDiagram
+ const rtl::Reference< Diagram >& xDiagram
, const uno::Reference< XDataSeries >& xGivenDataSeries )
{
if( !xGivenDataSeries.is() )
return nullptr;
if(!xDiagram.is())
return nullptr;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
//iterate through the model to find the given xSeries
//the found parent indicates the charttype
//iterate through all coordinate systems
- for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : xDiagram->getBaseCoordinateSystems() )
{
//iterate through all chart types in the current coordinate system
const std::vector< rtl::Reference< ChartType > > & aChartTypeList( xCooSys->getChartTypes2() );
@@ -628,17 +606,15 @@ rtl::Reference< ChartType > DiagramHelper::getChartTypeOfSeries(
std::vector< Reference< XDataSeries > >
DiagramHelper::getDataSeriesFromDiagram(
- const Reference< XDiagram > & xDiagram )
+ const rtl::Reference< Diagram > & xDiagram )
{
std::vector< Reference< XDataSeries > > aResult;
if (!xDiagram)
return aResult;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
try
{
- for( rtl::Reference< BaseCoordinateSystem > const & coords : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & coords : xDiagram->getBaseCoordinateSystems() )
{
const Sequence< Reference< XChartType > > aChartTypeSeq( coords->getChartTypes());
for( Reference< XChartType> const & chartType : aChartTypeSeq )
@@ -658,17 +634,15 @@ std::vector< Reference< XDataSeries > >
}
Sequence< Sequence< Reference< XDataSeries > > >
- DiagramHelper::getDataSeriesGroups( const Reference< XDiagram > & xDiagram )
+ DiagramHelper::getDataSeriesGroups( const rtl::Reference< Diagram > & xDiagram )
{
if (!xDiagram)
return {};
vector< Sequence< Reference< XDataSeries > > > aResult;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
//iterate through all coordinate systems
- for( rtl::Reference< BaseCoordinateSystem > const & coords : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & coords : xDiagram->getBaseCoordinateSystems() )
{
//iterate through all chart types in the current coordinate system
const Sequence< Reference< XChartType > > aChartTypeList( coords->getChartTypes() );
@@ -684,19 +658,16 @@ Sequence< Sequence< Reference< XDataSeries > > >
}
rtl::Reference< ChartType >
- DiagramHelper::getChartTypeByIndex( const Reference< XDiagram >& xDiagram, sal_Int32 nIndex )
+ DiagramHelper::getChartTypeByIndex( const rtl::Reference< Diagram >& xDiagram, sal_Int32 nIndex )
{
if (!xDiagram)
return nullptr;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
-
rtl::Reference< ChartType > xChartType;
//iterate through all coordinate systems
sal_Int32 nTypesSoFar = 0;
- for( rtl::Reference< BaseCoordinateSystem > const & coords : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & coords : xDiagram->getBaseCoordinateSystems() )
{
const std::vector< rtl::Reference< ChartType > > & aChartTypeList( coords->getChartTypes2() );
if( nIndex >= 0 && nIndex < static_cast<sal_Int32>(nTypesSoFar + aChartTypeList.size()) )
@@ -760,13 +731,11 @@ std::vector< Reference< XAxis > > lcl_getAxisHoldingCategoriesFromDiagram(
} // anonymous namespace
bool DiagramHelper::isCategoryDiagram(
- const Reference< XDiagram >& xDiagram )
+ const rtl::Reference< Diagram >& xDiagram )
{
try
{
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
- for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : xDiagram->getBaseCoordinateSystems() )
{
for( sal_Int32 nN = xCooSys->getDimension(); nN--; )
{
@@ -795,14 +764,12 @@ bool DiagramHelper::isCategoryDiagram(
void DiagramHelper::setCategoriesToDiagram(
const Reference< chart2::data::XLabeledDataSequence >& xCategories,
- const Reference< XDiagram >& xDiagram,
+ const rtl::Reference< Diagram >& xDiagram,
bool bSetAxisType /* = false */,
bool bCategoryAxis /* = true */ )
{
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
std::vector< Reference< chart2::XAxis > > aCatAxes(
- lcl_getAxisHoldingCategoriesFromDiagram( pDiagram ));
+ lcl_getAxisHoldingCategoriesFromDiagram( xDiagram ));
for (const Reference< chart2::XAxis >& xCatAxis : aCatAxes)
{
@@ -824,16 +791,14 @@ void DiagramHelper::setCategoriesToDiagram(
Reference< data::XLabeledDataSequence >
DiagramHelper::getCategoriesFromDiagram(
- const Reference< XDiagram > & xDiagram )
+ const rtl::Reference< Diagram > & xDiagram )
{
Reference< data::XLabeledDataSequence > xResult;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
try
{
std::vector< Reference< chart2::XAxis > > aCatAxes(
- lcl_getAxisHoldingCategoriesFromDiagram( pDiagram ));
+ lcl_getAxisHoldingCategoriesFromDiagram( xDiagram ));
//search for first categories
if (!aCatAxes.empty())
{
@@ -1049,7 +1014,7 @@ void DiagramHelper::switchToTextCategories( const rtl::Reference<::chart::ChartM
}
}
-bool DiagramHelper::isSupportingDateAxis( const Reference< chart2::XDiagram >& xDiagram )
+bool DiagramHelper::isSupportingDateAxis( const rtl::Reference< Diagram >& xDiagram )
{
return ::chart::ChartTypeHelper::isSupportingDateAxis(
DiagramHelper::getChartTypeByIndex( xDiagram, 0 ), 0 );
@@ -1151,17 +1116,15 @@ sal_Int32 DiagramHelper::getPercentNumberFormat( const Reference< util::XNumberF
std::vector< rtl::Reference< ChartType > >
DiagramHelper::getChartTypesFromDiagram(
- const Reference< XDiagram > & xDiagram )
+ const rtl::Reference< Diagram > & xDiagram )
{
if(!xDiagram)
return {};
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(pDiagram);
std::vector< rtl::Reference< ChartType > > aResult;
try
{
- for( rtl::Reference< BaseCoordinateSystem > const & coords : pDiagram->getBaseCoordinateSystems() )
+ for( rtl::Reference< BaseCoordinateSystem > const & coords : xDiagram->getBaseCoordinateSystems() )
{
const std::vector< rtl::Reference< ChartType > > & aChartTypeSeq( coords->getChartTypes2());
aResult.insert( aResult.end(), aChartTypeSeq.begin(), aChartTypeSeq.end() );
@@ -1352,34 +1315,29 @@ bool lcl_moveSeriesOrCheckIfMoveIsAllowed(
} // anonymous namespace
bool DiagramHelper::isSeriesMoveable(
- const Reference< XDiagram >& xDiagram,
+ const rtl::Reference< Diagram >& xDiagram,
const Reference< XDataSeries >& xGivenDataSeries,
bool bForward )
{
const bool bDoMove = false;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(!xDiagram || pDiagram);
bool bIsMoveable = lcl_moveSeriesOrCheckIfMoveIsAllowed(
- pDiagram, xGivenDataSeries, bForward, bDoMove );
+ xDiagram, xGivenDataSeries, bForward, bDoMove );
return bIsMoveable;
}
-bool DiagramHelper::moveSeries( const Reference< XDiagram >& xDiagram, const Reference< XDataSeries >& xGivenDataSeries, bool bForward )
+bool DiagramHelper::moveSeries( const rtl::Reference< Diagram >& xDiagram, const Reference< XDataSeries >& xGivenDataSeries, bool bForward )
{
const bool bDoMove = true;
- Diagram* pDiagram = dynamic_cast<Diagram*>(xDiagram.get());
- assert(!xDiagram || pDiagram);
bool bMoved = lcl_moveSeriesOrCheckIfMoveIsAllowed(
- pDiagram, xGivenDataSeries, bForward, bDoMove );
+ xDiagram, xGivenDataSeries, bForward, bDoMove );
return bMoved;
}
-bool DiagramHelper::isSupportingFloorAndWall( const Reference<
- chart2::XDiagram >& xDiagram )
+bool DiagramHelper::isSupportingFloorAndWall( const rtl::Reference< Diagram >& xDiagram )
{
//pies and donuts currently do not support this because of wrong files from older versions
//todo: allow this in future again, if fileversion is available for OLE objects (metastream)
@@ -1399,9 +1357,9 @@ bool DiagramHelper::isSupportingFloorAndWall( const Reference<
return true;
}
-bool DiagramHelper::isPieOrDonutChart( const css::uno::Reference< css::chart2::XDiagram >& xDiagram )
+bool DiagramHelper::isPieOrDonutChart( const rtl::Reference< Diagram >& xDiagram )
{
- uno::Reference< chart2::XChartType > xChartType( DiagramHelper::getChartTypeByIndex(
+ rtl::Reference< ChartType > xChartType( DiagramHelper::getChartTypeByIndex(
xDiagram, 0 ) );
if( xChartType .is() )
@@ -1414,7 +1372,7 @@ bool DiagramHelper::isPieOrDonutChart( const css::uno::Reference< css::chart2::X
}
sal_Int32 DiagramHelper::getGeometry3D(
- const uno::Reference< chart2::XDiagram > & xDiagram,
+ const rtl::Reference< Diagram > & xDiagram,
bool& rbFound, bool& rbAmbiguous )
{
sal_Int32 nCommonGeom( DataPointGeometry3D::CUBOID );
@@ -1459,7 +1417,7 @@ sal_Int32 DiagramHelper::getGeometry3D(
}
void DiagramHelper::setGeometry3D(
- const Reference< chart2::XDiagram > & xDiagram,
+ const rtl::Reference< Diagram > & xDiagram,
sal_Int32 nNewGeometry )
{
std::vector< Reference< chart2::XDataSeries > > aSeriesVec(
@@ -1473,15 +1431,14 @@ void DiagramHelper::setGeometry3D(
}
sal_Int32 DiagramHelper::getCorrectedMissingValueTreatment(
- const Reference< chart2::XDiagram > & xDiagram,
+ const rtl::Reference< Diagram > & xDiagram,
const rtl::Reference< ChartType >& xChartType )
{
sal_Int32 nResult = css::chart::MissingValueTreatment::LEAVE_GAP;
const uno::Sequence < sal_Int32 > aAvailableMissingValueTreatments(
ChartTypeHelper::getSupportedMissingValueTreatments( xChartType ) );
- uno::Reference< beans::XPropertySet > xDiaProp( xDiagram, uno::UNO_QUERY );
- if( xDiaProp.is() && (xDiaProp->getPropertyValue( "MissingValueTreatment" ) >>= nResult) )
+ if( xDiagram.is() && (xDiagram->getPropertyValue( "MissingValueTreatment" ) >>= nResult) )
{
//ensure that the set value is supported by this charttype
for( sal_Int32 n : aAvailableMissingValueTreatments )
@@ -1499,20 +1456,19 @@ sal_Int32 DiagramHelper::getCorrectedMissingValueTreatment(
return nResult;
}
-DiagramPositioningMode DiagramHelper::getDiagramPositioningMode( const uno::Reference<
- chart2::XDiagram > & xDiagram )
+DiagramPositioningMode DiagramHelper::getDiagramPositioningMode( const rtl::Reference<
+ Diagram > & xDiagram )
{
DiagramPositioningMode eMode = DiagramPositioningMode_AUTO;
- uno::Reference< beans::XPropertySet > xDiaProps( xDiagram, uno::UNO_QUERY );
- if( xDiaProps.is() )
+ if( xDiagram.is() )
{
RelativePosition aRelPos;
RelativeSize aRelSize;
- if( (xDiaProps->getPropertyValue("RelativePosition") >>= aRelPos ) &&
- (xDiaProps->getPropertyValue("RelativeSize") >>= aRelSize ) )
+ if( (xDiagram->getPropertyValue("RelativePosition") >>= aRelPos ) &&
+ (xDiagram->getPropertyValue("RelativeSize") >>= aRelSize ) )
{
bool bPosSizeExcludeAxes=false;
- xDiaProps->getPropertyValue("PosSizeExcludeAxes") >>= bPosSizeExcludeAxes;
+ xDiagram->getPropertyValue("PosSizeExcludeAxes") >>= bPosSizeExcludeAxes;
if( bPosSizeExcludeAxes )
eMode = DiagramPositioningMode_EXCLUDING;
else
diff --git a/chart2/source/tools/RangeHighlighter.cxx b/chart2/source/tools/RangeHighlighter.cxx
index 5e89b097f2f9..766cbfc91f73 100644
--- a/chart2/source/tools/RangeHighlighter.cxx
+++ b/chart2/source/tools/RangeHighlighter.cxx
@@ -192,21 +192,6 @@ void RangeHighlighter::determineRanges()
}
}
-void RangeHighlighter::fillRangesForDiagram( const Reference< chart2::XDiagram > & xDiagram )
-{
- Sequence< OUString > aSelectedRanges( DataSourceHelper::getUsedDataRanges( xDiagram ));
- m_aSelectedRanges.realloc( aSelectedRanges.getLength());
- auto pSelectedRanges = m_aSelectedRanges.getArray();
- // @todo: merge ranges
- for( sal_Int32 i=0; i<aSelectedRanges.getLength(); ++i )
- {
- pSelectedRanges[i].RangeRepresentation = aSelectedRanges[i];
- pSelectedRanges[i].Index = -1;
- pSelectedRanges[i].PreferredColor = sal_Int32(defaultPreferredColor);
- pSelectedRanges[i].AllowMerginigWithOtherRanges = true;
- }
-}
-
void RangeHighlighter::fillRangesForDiagram( const rtl::Reference< Diagram > & xDiagram )
{
Sequence< OUString > aSelectedRanges( DataSourceHelper::getUsedDataRanges( xDiagram ));
diff --git a/chart2/source/tools/ReferenceSizeProvider.cxx b/chart2/source/tools/ReferenceSizeProvider.cxx
index 46dfb1d593f8..2df37be326a7 100644
--- a/chart2/source/tools/ReferenceSizeProvider.cxx
+++ b/chart2/source/tools/ReferenceSizeProvider.cxx
@@ -93,7 +93,7 @@ void ReferenceSizeProvider::setValuesAtTitle(
void ReferenceSizeProvider::setValuesAtAllDataSeries()
{
- Reference< XDiagram > xDiagram( ChartModelHelper::findDiagram( m_xChartDoc ));
+ rtl::Reference< Diagram > xDiagram( ChartModelHelper::findDiagram( m_xChartDoc ));
// DataSeries/Points
std::vector< Reference< XDataSeries > > aSeries(
@@ -230,14 +230,13 @@ ReferenceSizeProvider::AutoResizeState ReferenceSizeProvider::getAutoResizeState
return eResult;
// diagram is needed by the rest of the objects
- Reference< XDiagram > xDiagram = ChartModelHelper::findDiagram( xChartDoc );
+ rtl::Reference< Diagram > xDiagram = ChartModelHelper::findDiagram( xChartDoc );
if( ! xDiagram.is())
return eResult;
// Sub Title
- Reference< XTitled > xDiaTitled( xDiagram, uno::UNO_QUERY );
- if( xDiaTitled.is())
- impl_getAutoResizeFromTitled( xDiaTitled, eResult );
+ if( xDiagram.is())
+ impl_getAutoResizeFromTitled( xDiagram, eResult );
if( eResult == AUTO_RESIZE_AMBIGUOUS )
return eResult;
diff --git a/chart2/source/tools/RegressionCurveHelper.cxx b/chart2/source/tools/RegressionCurveHelper.cxx
index 52ab1e1785e9..00e846105c7f 100644
--- a/chart2/source/tools/RegressionCurveHelper.cxx
+++ b/chart2/source/tools/RegressionCurveHelper.cxx
@@ -688,7 +688,7 @@ OUString RegressionCurveHelper::getRegressionCurveName( const Reference< XRegres
std::vector< Reference< chart2::XRegressionCurve > >
RegressionCurveHelper::getAllRegressionCurvesNotMeanValueLine(
- const Reference< chart2::XDiagram > & xDiagram )
+ const rtl::Reference< Diagram > & xDiagram )
{
std::vector< Reference< chart2::XRegressionCurve > > aResult;
std::vector< Reference< chart2::XDataSeries > > aSeries( DiagramHelper::getDataSeriesFromDiagram( xDiagram ));
diff --git a/chart2/source/tools/ThreeDHelper.cxx b/chart2/source/tools/ThreeDHelper.cxx
index 6ffa8be980d4..c3397bcde3d8 100644
--- a/chart2/source/tools/ThreeDHelper.cxx
+++ b/chart2/source/tools/ThreeDHelper.cxx
@@ -18,6 +18,7 @@
*/
#include <ThreeDHelper.hxx>
+#include <Diagram.hxx>
#include <DiagramHelper.hxx>
#include <ChartTypeHelper.hxx>
#include <ChartType.hxx>
@@ -48,15 +49,14 @@ using ::rtl::math::tan;
namespace
{
-bool lcl_isRightAngledAxesSetAndSupported( const Reference< beans::XPropertySet >& xSceneProperties )
+bool lcl_isRightAngledAxesSetAndSupported( const rtl::Reference< Diagram >& xDiagram )
{
- if( xSceneProperties.is() )
+ if( xDiagram.is() )
{
bool bRightAngledAxes = false;
- xSceneProperties->getPropertyValue( "RightAngledAxes") >>= bRightAngledAxes;
+ xDiagram->getPropertyValue( "RightAngledAxes") >>= bRightAngledAxes;
if(bRightAngledAxes)
{
- uno::Reference< chart2::XDiagram > xDiagram( xSceneProperties, uno::UNO_QUERY );
if( ChartTypeHelper::isSupportingRightAngledAxes(
DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) ) )
{
@@ -144,31 +144,30 @@ bool lcl_isEqual( const drawing::Direction3D& rA, const drawing::Direction3D& rB
&& ::rtl::math::approxEqual(rA.DirectionZ, rB.DirectionZ);
}
-bool lcl_isLightScheme( const uno::Reference< beans::XPropertySet >& xDiagramProps, bool bRealistic )
+bool lcl_isLightScheme( const rtl::Reference< Diagram >& xDiagram, bool bRealistic )
{
- if(!xDiagramProps.is())
+ if(!xDiagram.is())
return false;
bool bIsOn = false;
- xDiagramProps->getPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_2 ) >>= bIsOn;
+ xDiagram->getPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_2 ) >>= bIsOn;
if(!bIsOn)
return false;
- uno::Reference< chart2::XDiagram > xDiagram( xDiagramProps, uno::UNO_QUERY );
rtl::Reference< ChartType > xChartType( DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) );
sal_Int32 nColor = 0;
- xDiagramProps->getPropertyValue( UNO_NAME_3D_SCENE_LIGHTCOLOR_2 ) >>= nColor;
+ xDiagram->getPropertyValue( UNO_NAME_3D_SCENE_LIGHTCOLOR_2 ) >>= nColor;
if( nColor != ::chart::ChartTypeHelper::getDefaultDirectLightColor( !bRealistic, xChartType ) )
return false;
sal_Int32 nAmbientColor = 0;
- xDiagramProps->getPropertyValue( UNO_NAME_3D_SCENE_AMBIENTCOLOR ) >>= nAmbientColor;
+ xDiagram->getPropertyValue( UNO_NAME_3D_SCENE_AMBIENTCOLOR ) >>= nAmbientColor;
if( nAmbientColor != ::chart::ChartTypeHelper::getDefaultAmbientLightColor( !bRealistic, xChartType ) )
return false;
drawing::Direction3D aDirection(0,0,0);
- xDiagramProps->getPropertyValue( UNO_NAME_3D_SCENE_LIGHTDIRECTION_2 ) >>= aDirection;
+ xDiagram->getPropertyValue( UNO_NAME_3D_SCENE_LIGHTDIRECTION_2 ) >>= aDirection;
drawing::Direction3D aDefaultDirection( bRealistic
? ChartTypeHelper::getDefaultRealisticLightDirection(xChartType)
@@ -177,13 +176,13 @@ bool lcl_isLightScheme( const uno::Reference< beans::XPropertySet >& xDiagramPro
//rotate default light direction when right angled axes are off but supported
{
bool bRightAngledAxes = false;
- xDiagramProps->getPropertyValue( "RightAngledAxes") >>= bRightAngledAxes;
+ xDiagram->getPropertyValue( "RightAngledAxes") >>= bRightAngledAxes;
if(!bRightAngledAxes)
{
if( ChartTypeHelper::isSupportingRightAngledAxes(
DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) ) )
{
- ::basegfx::B3DHomMatrix aRotation( lcl_getCompleteRotationMatrix( xDiagramProps ) );
+ ::basegfx::B3DHomMatrix aRotation( lcl_getCompleteRotationMatrix( xDiagram ) );
BaseGFXHelper::ReduceToRotationMatrix( aRotation );
::basegfx::B3DVector aLightVector( BaseGFXHelper::Direction3DToB3DVector( aDefaultDirection ) );
aLightVector = aRotation*aLightVector;
@@ -195,52 +194,51 @@ bool lcl_isLightScheme( const uno::Reference< beans::XPropertySet >& xDiagramPro
return lcl_isEqual( aDirection, aDefaultDirection );
}
-bool lcl_isRealisticLightScheme( const uno::Reference< beans::XPropertySet >& xDiagramProps )
+bool lcl_isRealisticLightScheme( const rtl::Reference< Diagram >& xDiagram )
{
- return lcl_isLightScheme( xDiagramProps, true /*bRealistic*/ );
+ return lcl_isLightScheme( xDiagram, true /*bRealistic*/ );
}
-bool lcl_isSimpleLightScheme( const uno::Reference< beans::XPropertySet >& xDiagramProps )
+bool lcl_isSimpleLightScheme( const rtl::Reference< Diagram >& xDiagram )
{
- return lcl_isLightScheme( xDiagramProps, false /*bRealistic*/ );
+ return lcl_isLightScheme( xDiagram, false /*bRealistic*/ );
}
-void lcl_setLightsForScheme( const uno::Reference< beans::XPropertySet >& xDiagramProps, const ThreeDLookScheme& rScheme )
+void lcl_setLightsForScheme( const rtl::Reference< Diagram >& xDiagram, const ThreeDLookScheme& rScheme )
{
- if(!xDiagramProps.is())
+ if(!xDiagram.is())
return;
if( rScheme == ThreeDLookScheme::ThreeDLookScheme_Unknown)
return;
- xDiagramProps->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_2, uno::Any( true ) );
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_2, uno::Any( true ) );
- uno::Reference< chart2::XDiagram > xDiagram( xDiagramProps, uno::UNO_QUERY );
rtl::Reference< ChartType > xChartType( DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) );
uno::Any aADirection( rScheme == ThreeDLookScheme::ThreeDLookScheme_Simple
? ChartTypeHelper::getDefaultSimpleLightDirection(xChartType)
: ChartTypeHelper::getDefaultRealisticLightDirection(xChartType) );
- xDiagramProps->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTDIRECTION_2, aADirection );
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTDIRECTION_2, aADirection );
//rotate light direction when right angled axes are off but supported
{
bool bRightAngledAxes = false;
- xDiagramProps->getPropertyValue( "RightAngledAxes") >>= bRightAngledAxes;
+ xDiagram->getPropertyValue( "RightAngledAxes") >>= bRightAngledAxes;
if(!bRightAngledAxes)
{
if( ChartTypeHelper::isSupportingRightAngledAxes( xChartType ) )
{
- ::basegfx::B3DHomMatrix aRotation( lcl_getCompleteRotationMatrix( xDiagramProps ) );
+ ::basegfx::B3DHomMatrix aRotation( lcl_getCompleteRotationMatrix( xDiagram ) );
BaseGFXHelper::ReduceToRotationMatrix( aRotation );
- lcl_RotateLightSource( xDiagramProps, "D3DSceneLightDirection2", "D3DSceneLightOn2", aRotation );
+ lcl_RotateLightSource( xDiagram, "D3DSceneLightDirection2", "D3DSceneLightOn2", aRotation );
}
}
}
sal_Int32 nColor = ::chart::ChartTypeHelper::getDefaultDirectLightColor(
rScheme == ThreeDLookScheme::ThreeDLookScheme_Simple, xChartType);
- xDiagramProps->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTCOLOR_2, uno::Any( nColor ) );
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTCOLOR_2, uno::Any( nColor ) );
sal_Int32 nAmbientColor = ::chart::ChartTypeHelper::getDefaultAmbientLightColor(
rScheme == ThreeDLookScheme::ThreeDLookScheme_Simple, xChartType);
- xDiagramProps->setPropertyValue( UNO_NAME_3D_SCENE_AMBIENTCOLOR, uno::Any( nAmbientColor ) );
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_AMBIENTCOLOR, uno::Any( nAmbientColor ) );
}
bool lcl_isRealisticScheme( drawing::ShadeMode aShadeMode
@@ -259,7 +257,7 @@ bool lcl_isRealisticScheme( drawing::ShadeMode aShadeMode
bool lcl_isSimpleScheme( drawing::ShadeMode aShadeMode
, sal_Int32 nRoundedEdges
, sal_Int32 nObjectLines
- , const uno::Reference< XDiagram >& xDiagram )
+ , const rtl::Reference< Diagram >& xDiagram )
{
if(aShadeMode!=drawing::ShadeMode_FLAT)
return false;
@@ -287,7 +285,7 @@ void lcl_setRealisticScheme( drawing::ShadeMode& rShadeMode
void lcl_setSimpleScheme( drawing::ShadeMode& rShadeMode
, sal_Int32& rnRoundedEdges
, sal_Int32& rnObjectLines
- , const uno::Reference< XDiagram >& xDiagram )
+ , const rtl::Reference< Diagram >& xDiagram )
{
rShadeMode = drawing::ShadeMode_FLAT;
rnRoundedEdges = 0;
@@ -967,7 +965,7 @@ void ThreeDHelper::switchRightAngledAxes( const Reference< beans::XPropertySet >
}
void ThreeDHelper::setRotationAngleToDiagram(
- const Reference< beans::XPropertySet >& xSceneProperties
+ const rtl::Reference< Diagram >& xDiagram
, double fXAngleRad, double fYAngleRad, double fZAngleRad )
{
//the rotation of the camera is not touched but taken into account
@@ -975,18 +973,18 @@ void ThreeDHelper::setRotationAngleToDiagram(
//the light sources will be adapted also
- if( !xSceneProperties.is() )
+ if( !xDiagram.is() )
return;
try
{
//remind old rotation for adaptation of light directions
- ::basegfx::B3DHomMatrix aInverseOldRotation( lcl_getInverseRotationMatrix( xSceneProperties ) );
+ ::basegfx::B3DHomMatrix aInverseOldRotation( lcl_getInverseRotationMatrix( xDiagram ) );
::basegfx::B3DHomMatrix aInverseCameraRotation;
{
::basegfx::B3DTuple aR( BaseGFXHelper::GetRotationFromMatrix(
- lcl_getCameraMatrix( xSceneProperties ) ) );
+ lcl_getCameraMatrix( xDiagram ) ) );
aInverseCameraRotation.rotate( 0.0, 0.0, -aR.getZ() );
aInverseCameraRotation.rotate( 0.0, -aR.getY(), 0.0 );
aInverseCameraRotation.rotate( -aR.getX(), 0.0, 0.0 );
@@ -1000,19 +998,18 @@ void ThreeDHelper::setRotationAngleToDiagram(
BaseGFXHelper::ReduceToRotationMatrix( aSceneRotation );
//set new rotation to transformation matrix
- xSceneProperties->setPropertyValue(
+ xDiagram->setPropertyValue(
"D3DTransformMatrix", uno::Any( BaseGFXHelper::B3DHomMatrixToHomogenMatrix( aSceneRotation )));
//rotate lights if RightAngledAxes are not set or not supported
bool bRightAngledAxes = false;
- xSceneProperties->getPropertyValue( "RightAngledAxes") >>= bRightAngledAxes;
- uno::Reference< chart2::XDiagram > xDiagram( xSceneProperties, uno::UNO_QUERY );
+ xDiagram->getPropertyValue( "RightAngledAxes") >>= bRightAngledAxes;
if(!bRightAngledAxes || !ChartTypeHelper::isSupportingRightAngledAxes(
DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) ) )
{
::basegfx::B3DHomMatrix aNewRotation;
aNewRotation.rotate( fXAngleRad, fYAngleRad, fZAngleRad );
- lcl_rotateLights( aNewRotation*aInverseOldRotation, xSceneProperties );
+ lcl_rotateLights( aNewRotation*aInverseOldRotation, xDiagram );
}
}
catch( const uno::Exception & )
@@ -1021,7 +1018,7 @@ void ThreeDHelper::setRotationAngleToDiagram(
}
}
-void ThreeDHelper::getRotationFromDiagram( const uno::Reference< beans::XPropertySet >& xSceneProperties
+void ThreeDHelper::getRotationFromDiagram( const rtl::Reference< Diagram >& xSceneProperties
, sal_Int32& rnHorizontalAngleDegree, sal_Int32& rnVerticalAngleDegree )
{
double fXAngle, fYAngle, fZAngle;
@@ -1044,7 +1041,7 @@ void ThreeDHelper::getRotationFromDiagram( const uno::Reference< beans::XPropert
rnVerticalAngleDegree = NormAngle180(rnVerticalAngleDegree);
}
-void ThreeDHelper::setRotationToDiagram( const uno::Reference< beans::XPropertySet >& xSceneProperties
+void ThreeDHelper::setRotationToDiagram( const rtl::Reference< Diagram >& xDiagram
, sal_Int32 nHorizontalAngleDegree, sal_Int32 nVerticalYAngleDegree )
{
//todo: x and y is not equal to horz and vert in case of RightAngledAxes==false
@@ -1052,11 +1049,11 @@ void ThreeDHelper::setRotationToDiagram( const uno::Reference< beans::XPropertyS
double fYAngle = basegfx::deg2rad(-1 * nVerticalYAngleDegree);
double fZAngle = 0.0;
- if( !lcl_isRightAngledAxesSetAndSupported( xSceneProperties ) )
+ if( !lcl_isRightAngledAxesSetAndSupported( xDiagram ) )
ThreeDHelper::convertElevationRotationDegToXYZAngleRad(
nHorizontalAngleDegree, -1*nVerticalYAngleDegree, fXAngle, fYAngle, fZAngle );
- ThreeDHelper::setRotationAngleToDiagram( xSceneProperties, fXAngle, fYAngle, fZAngle );
+ ThreeDHelper::setRotationAngleToDiagram( xDiagram, fXAngle, fYAngle, fZAngle );
}
void ThreeDHelper::getCameraDistanceRange( double& rfMinimumDistance, double& rfMaximumDistance )
@@ -1154,7 +1151,7 @@ double ThreeDHelper::PerspectiveToCameraDistance( double fPerspective )
return fRet;
}
-ThreeDLookScheme ThreeDHelper::detectScheme( const uno::Reference< XDiagram >& xDiagram )
+ThreeDLookScheme ThreeDHelper::detectScheme( const rtl::Reference< Diagram >& xDiagram )
{
ThreeDLookScheme aScheme = ThreeDLookScheme::ThreeDLookScheme_Unknown;
@@ -1164,11 +1161,10 @@ ThreeDLookScheme ThreeDHelper::detectScheme( const uno::Reference< XDiagram >& x
//get shade mode and light settings:
drawing::ShadeMode aShadeMode( drawing::ShadeMode_SMOOTH );
- uno::Reference< beans::XPropertySet > xDiagramProps( xDiagram, uno::UNO_QUERY );
try
{
- if( xDiagramProps.is() )
- xDiagramProps->getPropertyValue( "D3DSceneShadeMode" )>>= aShadeMode;
+ if( xDiagram.is() )
+ xDiagram->getPropertyValue( "D3DSceneShadeMode" )>>= aShadeMode;
}
catch( const uno::Exception & )
{
@@ -1177,19 +1173,19 @@ ThreeDLookScheme ThreeDHelper::detectScheme( const uno::Reference< XDiagram >& x
if( lcl_isSimpleScheme( aShadeMode, nRoundedEdges, nObjectLines, xDiagram ) )
{
- if( lcl_isSimpleLightScheme(xDiagramProps) )
+ if( lcl_isSimpleLightScheme(xDiagram) )
aScheme = ThreeDLookScheme::ThreeDLookScheme_Simple;
}
else if( lcl_isRealisticScheme( aShadeMode, nRoundedEdges, nObjectLines ) )
{
- if( lcl_isRealisticLightScheme(xDiagramProps) )
+ if( lcl_isRealisticLightScheme(xDiagram) )
aScheme = ThreeDLookScheme::ThreeDLookScheme_Realistic;
}
return aScheme;
}
-void ThreeDHelper::setScheme( const uno::Reference< XDiagram >& xDiagram, ThreeDLookScheme aScheme )
+void ThreeDHelper::setScheme( const rtl::Reference< Diagram >& xDiagram, ThreeDLookScheme aScheme )
{
if( aScheme == ThreeDLookScheme::ThreeDLookScheme_Unknown )
return;
@@ -1207,18 +1203,17 @@ void ThreeDHelper::setScheme( const uno::Reference< XDiagram >& xDiagram, ThreeD
{
ThreeDHelper::setRoundedEdgesAndObjectLines( xDiagram, nRoundedEdges, nObjectLines );
- uno::Reference< beans::XPropertySet > xProp( xDiagram, uno::UNO_QUERY );
- if( xProp.is() )
+ if( xDiagram.is() )
{
drawing::ShadeMode aOldShadeMode;
- if( ! ( (xProp->getPropertyValue( "D3DSceneShadeMode" )>>=aOldShadeMode) &&
+ if( ! ( (xDiagram->getPropertyValue( "D3DSceneShadeMode" )>>=aOldShadeMode) &&
aOldShadeMode == aShadeMode ))
{
- xProp->setPropertyValue( "D3DSceneShadeMode", uno::Any( aShadeMode ));
+ xDiagram->setPropertyValue( "D3DSceneShadeMode", uno::Any( aShadeMode ));
}
}
- lcl_setLightsForScheme( xProp, aScheme );
+ lcl_setLightsForScheme( xDiagram, aScheme );
}
catch( const uno::Exception & )
{
@@ -1227,16 +1222,15 @@ void ThreeDHelper::setScheme( const uno::Reference< XDiagram >& xDiagram, ThreeD
}
-void ThreeDHelper::set3DSettingsToDefault( const uno::Reference< beans::XPropertySet >& xSceneProperties )
+void ThreeDHelper::set3DSettingsToDefault( const rtl::Reference< Diagram >& xDiagram )
{
- Reference< beans::XPropertyState > xState( xSceneProperties, uno::UNO_QUERY );
- if(xState.is())
+ if(xDiagram.is())
{
- xState->setPropertyToDefault( "D3DSceneDistance");
- xState->setPropertyToDefault( "D3DSceneFocalLength");
+ xDiagram->setPropertyToDefault( "D3DSceneDistance");
+ xDiagram->setPropertyToDefault( "D3DSceneFocalLength");
}
- ThreeDHelper::setDefaultRotation( xSceneProperties );
- ThreeDHelper::setDefaultIllumination( xSceneProperties );
+ ThreeDHelper::setDefaultRotation( xDiagram );
+ ThreeDHelper::setDefaultIllumination( xDiagram );
}
void ThreeDHelper::setDefaultRotation( const uno::Reference< beans::XPropertySet >& xSceneProperties, bool bPieOrDonut )
@@ -1254,28 +1248,28 @@ void ThreeDHelper::setDefaultRotation( const uno::Reference< beans::XPropertySet
uno::Any( BaseGFXHelper::B3DHomMatrixToHomogenMatrix( aSceneRotation )));
}
-void ThreeDHelper::setDefaultRotation( const uno::Reference< beans::XPropertySet >& xSceneProperties )
+void ThreeDHelper::setDefaultRotation( const rtl::Reference< Diagram >& xDiagram )
{
- bool bPieOrDonut( DiagramHelper::isPieOrDonutChart( uno::Reference< XDiagram >(xSceneProperties, uno::UNO_QUERY) ) );
- ThreeDHelper::setDefaultRotation( xSceneProperties, bPieOrDonut );
+ bool bPieOrDonut( DiagramHelper::isPieOrDonutChart( xDiagram ) );
+ ThreeDHelper::setDefaultRotation( xDiagram, bPieOrDonut );
}
-void ThreeDHelper::setDefaultIllumination( const uno::Reference< beans::XPropertySet >& xSceneProperties )
+void ThreeDHelper::setDefaultIllumination( const rtl::Reference<::chart::Diagram>& xDiagram )
{
- if( !xSceneProperties.is() )
+ if( !xDiagram.is() )
return;
drawing::ShadeMode aShadeMode( drawing::ShadeMode_SMOOTH );
try
{
- xSceneProperties->getPropertyValue( "D3DSceneShadeMode" )>>= aShadeMode;
- xSceneProperties->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_1, uno::Any( false ) );
- xSceneProperties->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_3, uno::Any( false ) );
- xSceneProperties->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_4, uno::Any( false ) );
- xSceneProperties->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_5, uno::Any( false ) );
- xSceneProperties->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_6, uno::Any( false ) );
- xSceneProperties->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_7, uno::Any( false ) );
- xSceneProperties->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_8, uno::Any( false ) );
+ xDiagram->getPropertyValue( "D3DSceneShadeMode" )>>= aShadeMode;
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_1, uno::Any( false ) );
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_3, uno::Any( false ) );
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_4, uno::Any( false ) );
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_5, uno::Any( false ) );
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_6, uno::Any( false ) );
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_7, uno::Any( false ) );
+ xDiagram->setPropertyValue( UNO_NAME_3D_SCENE_LIGHTON_8, uno::Any( false ) );
}
catch( const uno::Exception & )
{
@@ -1285,11 +1279,11 @@ void ThreeDHelper::setDefaultIllumination( const uno::Reference< beans::XPropert
ThreeDLookScheme aScheme = (aShadeMode == drawing::ShadeMode_FLAT)
? ThreeDLookScheme::ThreeDLookScheme_Simple
: ThreeDLookScheme::ThreeDLookScheme_Realistic;
- lcl_setLightsForScheme( xSceneProperties, aScheme );
+ lcl_setLightsForScheme( xDiagram, aScheme );
}
void ThreeDHelper::getRoundedEdgesAndObjectLines(
- const uno::Reference< XDiagram > & xDiagram
+ const rtl::Reference< Diagram > & xDiagram
, sal_Int32& rnRoundedEdges, sal_Int32& rnObjectLines )
{
rnRoundedEdges = -1;
@@ -1388,7 +1382,7 @@ void ThreeDHelper::getRoundedEdgesAndObjectLines(
}
void ThreeDHelper::setRoundedEdgesAndObjectLines(
- const uno::Reference< XDiagram > & xDiagram
+ const rtl::Reference< Diagram > & xDiagram
, sal_Int32 nRoundedEdges, sal_Int32 nObjectLines )
{
if( (nRoundedEdges<0||nRoundedEdges>100) && nObjectLines!=0 && nObjectLines!=1 )
@@ -1416,13 +1410,13 @@ void ThreeDHelper::setRoundedEdgesAndObjectLines(
}
}
-CuboidPlanePosition ThreeDHelper::getAutomaticCuboidPlanePositionForStandardLeftWall( const Reference< beans::XPropertySet >& xSceneProperties )
+CuboidPlanePosition ThreeDHelper::getAutomaticCuboidPlanePositionForStandardLeftWall( const rtl::Reference< ::chart::Diagram >& xDiagram )
{
CuboidPlanePosition eRet(CuboidPlanePosition_Left);
double fXAngleRad=0.0; double fYAngleRad=0.0; double fZAngleRad=0.0;
- ThreeDHelper::getRotationAngleFromDiagram( xSceneProperties, fXAngleRad, fYAngleRad, fZAngleRad );
- if( lcl_isRightAngledAxesSetAndSupported( xSceneProperties ) )
+ ThreeDHelper::getRotationAngleFromDiagram( xDiagram, fXAngleRad, fYAngleRad, fZAngleRad );
+ if( lcl_isRightAngledAxesSetAndSupported( xDiagram ) )
{
ThreeDHelper::adaptRadAnglesForRightAngledAxes( fXAngleRad, fYAngleRad );
}
@@ -1431,13 +1425,13 @@ CuboidPlanePosition ThreeDHelper::getAutomaticCuboidPlanePositionForStandardLeft
return eRet;
}
-CuboidPlanePosition ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBackWall( const Reference< beans::XPropertySet >& xSceneProperties )
+CuboidPlanePosition ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBackWall( const rtl::Reference< Diagram >& xDiagram )
{
CuboidPlanePosition eRet(CuboidPlanePosition_Back);
double fXAngleRad=0.0; double fYAngleRad=0.0; double fZAngleRad=0.0;
- ThreeDHelper::getRotationAngleFromDiagram( xSceneProperties, fXAngleRad, fYAngleRad, fZAngleRad );
- if( lcl_isRightAngledAxesSetAndSupported( xSceneProperties ) )
+ ThreeDHelper::getRotationAngleFromDiagram( xDiagram, fXAngleRad, fYAngleRad, fZAngleRad );
+ if( lcl_isRightAngledAxesSetAndSupported( xDiagram ) )
{
ThreeDHelper::adaptRadAnglesForRightAngledAxes( fXAngleRad, fYAngleRad );
}
@@ -1446,13 +1440,13 @@ CuboidPlanePosition ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBack
return eRet;
}
-CuboidPlanePosition ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBottom( const Reference< beans::XPropertySet >& xSceneProperties )
+CuboidPlanePosition ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBottom( const rtl::Reference< Diagram >& xDiagram )
{
CuboidPlanePosition eRet(CuboidPlanePosition_Bottom);
double fXAngleRad=0.0; double fYAngleRad=0.0; double fZAngleRad=0.0;
- ThreeDHelper::getRotationAngleFromDiagram( xSceneProperties, fXAngleRad, fYAngleRad, fZAngleRad );
- if( lcl_isRightAngledAxesSetAndSupported( xSceneProperties ) )
+ ThreeDHelper::getRotationAngleFromDiagram( xDiagram, fXAngleRad, fYAngleRad, fZAngleRad );
+ if( lcl_isRightAngledAxesSetAndSupported( xDiagram ) )
{
ThreeDHelper::adaptRadAnglesForRightAngledAxes( fXAngleRad, fYAngleRad );
}
diff --git a/chart2/source/tools/TitleHelper.cxx b/chart2/source/tools/TitleHelper.cxx
index 51f6ccf2a6b7..775b1241c65c 100644
--- a/chart2/source/tools/TitleHelper.cxx
+++ b/chart2/source/tools/TitleHelper.cxx
@@ -41,7 +41,7 @@ namespace {
uno::Reference< XTitled > lcl_getTitleParentFromDiagram(
TitleHelper::eTitleType nTitleIndex
- , const uno::Reference< XDiagram >& xDiagram )
+ , const rtl::Reference< Diagram >& xDiagram )
{
uno::Reference< XTitled > xResult;
@@ -61,7 +61,7 @@ uno::Reference< XTitled > lcl_getTitleParentFromDiagram(
{
case TitleHelper::SUB_TITLE:
if( xDiagram.is())
- xResult.set( xDiagram, uno::UNO_QUERY );
+ xResult = xDiagram;
break;
case TitleHelper::X_AXIS_TITLE:
if( xDiagram.is())
@@ -94,7 +94,7 @@ uno::Reference< XTitled > lcl_getTitleParentFromDiagram(
}
uno::Reference< XTitled > lcl_getTitleParent( TitleHelper::eTitleType nTitleIndex
- , const uno::Reference< XDiagram >& xDiagram )
+ , const rtl::Reference< Diagram >& xDiagram )
{
uno::Reference< XTitled > xResult;
switch( nTitleIndex )
@@ -128,10 +128,10 @@ uno::Reference< XTitled > lcl_getTitleParent( TitleHelper::eTitleType nTitleInde
return xModel;
}
- uno::Reference< XDiagram > xDiagram;
+ rtl::Reference< Diagram > xDiagram;
if( xModel.is())
- xDiagram.set( xModel->getFirstDiagram());
+ xDiagram = xModel->getFirstChartDiagram();
return lcl_getTitleParent( nTitleIndex, xDiagram );
}
@@ -144,7 +144,7 @@ uno::Reference< XTitle > TitleHelper::getTitle( TitleHelper::eTitleType nTitleIn
if(nTitleIndex == TitleHelper::MAIN_TITLE)
return rModel.getTitleObject();
- uno::Reference< XDiagram > xDiagram = rModel.getFirstDiagram();
+ rtl::Reference< Diagram > xDiagram = rModel.getFirstChartDiagram();
uno::Reference< XTitled > xTitled( lcl_getTitleParent( nTitleIndex, xDiagram ) );
if( xTitled.is())
return xTitled->getTitleObject();
@@ -225,7 +225,7 @@ uno::Reference< XTitle > TitleHelper::createTitle(
if(xTitled.is())
{
- uno::Reference< XDiagram > xDiagram( ChartModelHelper::findDiagram( xModel ) );
+ rtl::Reference< Diagram > xDiagram( ChartModelHelper::findDiagram( xModel ) );
xTitle.set( xContext->getServiceManager()->createInstanceWithContext(
"com.sun.star.chart2.Title",
diff --git a/chart2/source/view/diagram/VDiagram.cxx b/chart2/source/view/diagram/VDiagram.cxx
index 3e2b58458990..e5db4c77f3d0 100644
--- a/chart2/source/view/diagram/VDiagram.cxx
+++ b/chart2/source/view/diagram/VDiagram.cxx
@@ -19,6 +19,7 @@
#include <ShapeFactory.hxx>
#include <VDiagram.hxx>
+#include <Diagram.hxx>
#include <PropertyMapper.hxx>
#include <ViewDefines.hxx>
#include <Stripe.hxx>
@@ -41,7 +42,7 @@ using namespace ::com::sun::star;
using namespace ::com::sun::star::chart2;
VDiagram::VDiagram(
- const uno::Reference<XDiagram> & xDiagram, const drawing::Direction3D& rPreferredAspectRatio,
+ const rtl::Reference<Diagram> & xDiagram, const drawing::Direction3D& rPreferredAspectRatio,
sal_Int32 nDimension )
: m_nDimensionCount(nDimension)
, m_xDiagram(xDiagram)
@@ -54,13 +55,12 @@ VDiagram::VDiagram(
if( m_nDimensionCount != 3)
return;
- uno::Reference< beans::XPropertySet > xSourceProp( m_xDiagram, uno::UNO_QUERY );
- ThreeDHelper::getRotationAngleFromDiagram( xSourceProp, m_fXAnglePi, m_fYAnglePi, m_fZAnglePi );
+ ThreeDHelper::getRotationAngleFromDiagram( xDiagram, m_fXAnglePi, m_fYAnglePi, m_fZAnglePi );
if( ChartTypeHelper::isSupportingRightAngledAxes(
DiagramHelper::getChartTypeByIndex( m_xDiagram, 0 ) ) )
{
- if(xSourceProp.is())
- xSourceProp->getPropertyValue("RightAngledAxes") >>= m_bRightAngledAxes;
+ if(xDiagram.is())
+ xDiagram->getPropertyValue("RightAngledAxes") >>= m_bRightAngledAxes;
if( m_bRightAngledAxes )
{
ThreeDHelper::adaptRadAnglesForRightAngledAxes( m_fXAnglePi, m_fYAnglePi );
@@ -458,8 +458,8 @@ void VDiagram::createShapes_3d()
aWallCID.clear();
rtl::Reference<Svx3DSceneObject> xWallGroup_Shapes = ShapeFactory::createGroup3D( xOuterGroup_Shapes, aWallCID );
- CuboidPlanePosition eLeftWallPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardLeftWall( uno::Reference< beans::XPropertySet >( m_xDiagram, uno::UNO_QUERY ) ) );
- CuboidPlanePosition eBackWallPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBackWall( uno::Reference< beans::XPropertySet >( m_xDiagram, uno::UNO_QUERY ) ) );
+ CuboidPlanePosition eLeftWallPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardLeftWall( m_xDiagram ) );
+ CuboidPlanePosition eBackWallPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBackWall( m_xDiagram ) );
//add left wall
{
@@ -521,27 +521,25 @@ void VDiagram::createShapes_3d()
try
{
- uno::Reference< beans::XPropertySet > xSourceProp( m_xDiagram, uno::UNO_QUERY_THROW );
-
//perspective
{
//ignore distance and focal length from file format and model completely
//use vrp only to indicate the distance of the camera and thus influence the perspective
m_xOuterGroupShape->setPropertyValue( UNO_NAME_3D_SCENE_DISTANCE, uno::Any(
- static_cast<sal_Int32>(ThreeDHelper::getCameraDistance( xSourceProp ))));
+ static_cast<sal_Int32>(ThreeDHelper::getCameraDistance( m_xDiagram ))));
m_xOuterGroupShape->setPropertyValue( UNO_NAME_3D_SCENE_PERSPECTIVE,
- xSourceProp->getPropertyValue( UNO_NAME_3D_SCENE_PERSPECTIVE));
+ m_xDiagram->getPropertyValue( UNO_NAME_3D_SCENE_PERSPECTIVE));
}
//light
{
m_xOuterGroupShape->setPropertyValue( UNO_NAME_3D_SCENE_SHADE_MODE,
- xSourceProp->getPropertyValue( UNO_NAME_3D_SCENE_SHADE_MODE));
+ m_xDiagram->getPropertyValue( UNO_NAME_3D_SCENE_SHADE_MODE));
m_xOuterGroupShape->setPropertyValue( UNO_NAME_3D_SCENE_AMBIENTCOLOR,
- xSourceProp->getPropertyValue( UNO_NAME_3D_SCENE_AMBIENTCOLOR));
+ m_xDiagram->getPropertyValue( UNO_NAME_3D_SCENE_AMBIENTCOLOR));
m_xOuterGroupShape->setPropertyValue( UNO_NAME_3D_SCENE_TWO_SIDED_LIGHTING,
- xSourceProp->getPropertyValue( UNO_NAME_3D_SCENE_TWO_SIDED_LIGHTING));
- lcl_setLightSources( xSourceProp, m_xOuterGroupShape );
+ m_xDiagram->getPropertyValue( UNO_NAME_3D_SCENE_TWO_SIDED_LIGHTING));
+ lcl_setLightSources( m_xDiagram, m_xOuterGroupShape );
}
//rotation
@@ -585,7 +583,7 @@ void VDiagram::createShapes_3d()
ShapeFactory::createStripe(xOuterGroup_Shapes, aStripe
, xFloorProp, PropertyMapper::getPropertyNameMapForFillAndLineProperties(), bDoubleSided );
- CuboidPlanePosition eBottomPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBottom( uno::Reference< beans::XPropertySet >( m_xDiagram, uno::UNO_QUERY ) ) );
+ CuboidPlanePosition eBottomPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBottom( m_xDiagram ) );
if( !bAddFloorAndWall || (eBottomPos!=CuboidPlanePosition_Bottom) )
{
//we always need this object as dummy object for correct scene dimensions
diff --git a/chart2/source/view/inc/VDiagram.hxx b/chart2/source/view/inc/VDiagram.hxx
index 7d8dd3069479..ab391f7bc0d3 100644
--- a/chart2/source/view/inc/VDiagram.hxx
+++ b/chart2/source/view/inc/VDiagram.hxx
@@ -23,6 +23,7 @@
#include <com/sun/star/awt/Size.hpp>
#include <com/sun/star/awt/Point.hpp>
#include <svx/unoshape.hxx>
+#include <rtl/ref.hxx>
namespace com::sun::star::beans { class XPropertySet; }
namespace com::sun::star::chart2 { class XDiagram; }
@@ -32,7 +33,7 @@ namespace com::sun::star::drawing { class XShape; }
namespace chart
{
-
+class Diagram;
class ShapeFactory;
/** The VDiagram is responsible to generate the visible parts of the Diagram
@@ -44,7 +45,7 @@ diagram.
class VDiagram final
{
public: //methods
- VDiagram( const css::uno::Reference<css::chart2::XDiagram>& xDiagram,
+ VDiagram( const rtl::Reference<::chart::Diagram>& xDiagram,
const css::drawing::Direction3D& rPreferredAspectRatio,
sal_Int32 nDimension );
~VDiagram();
@@ -92,8 +93,8 @@ private: //members
rtl::Reference<SvxShapeGroupAnyD> m_xCoordinateRegionShape;
rtl::Reference<SvxShapeRect> m_xWall2D;
- sal_Int32 m_nDimensionCount;
- css::uno::Reference< css::chart2::XDiagram > m_xDiagram;
+ sal_Int32 m_nDimensionCount;
+ rtl::Reference< ::chart::Diagram > m_xDiagram;
css::drawing::Direction3D m_aPreferredAspectRatio;
css::uno::Reference< css::beans::XPropertySet > m_xAspectRatio3D;
diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx
index d2a6c8ef797d..61276d2bb479 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -815,7 +815,7 @@ void SeriesPlotterContainer::AdaptScaleOfYAxisWithoutAttachedSeries( ChartModel&
if( aVCooSysList_Y.empty() )
continue;
- uno::Reference< XDiagram > xDiagram( rModel.getFirstDiagram() );
+ rtl::Reference< Diagram > xDiagram( rModel.getFirstChartDiagram() );
if (!xDiagram.is())
continue;
@@ -1211,7 +1211,7 @@ static ::basegfx::B3DHomMatrix createTransformationSceneToScreen(
namespace
{
-bool lcl_IsPieOrDonut( const uno::Reference< XDiagram >& xDiagram )
+bool lcl_IsPieOrDonut( const rtl::Reference< Diagram >& xDiagram )
{
//special treatment for pie charts
//the size is checked after complete creation to get the datalabels into the given space
@@ -1374,7 +1374,7 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
//return the used rectangle
awt::Rectangle aUsedOuterRect(rParam.maRemainingSpace.X, rParam.maRemainingSpace.Y, 0, 0);
- uno::Reference< XDiagram > xDiagram( mrChartModel.getFirstDiagram() );
+ rtl::Reference< Diagram > xDiagram( mrChartModel.getFirstChartDiagram() );
if( !xDiagram.is())
return aUsedOuterRect;
@@ -1399,10 +1399,9 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
VCoordinateSystem* pVCooSys = rVCooSysList[nC].get();
if(nDimensionCount==3)
{
- uno::Reference<beans::XPropertySet> xSceneProperties( xDiagram, uno::UNO_QUERY );
- CuboidPlanePosition eLeftWallPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardLeftWall( xSceneProperties ) );
- CuboidPlanePosition eBackWallPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBackWall( xSceneProperties ) );
- CuboidPlanePosition eBottomPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBottom( xSceneProperties ) );
+ CuboidPlanePosition eLeftWallPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardLeftWall( xDiagram ) );
+ CuboidPlanePosition eBackWallPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBackWall( xDiagram ) );
+ CuboidPlanePosition eBottomPos( ThreeDHelper::getAutomaticCuboidPlanePositionForStandardBottom( xDiagram ) );
pVCooSys->set3DWallPositions( eLeftWallPos, eBackWallPos, eBottomPos );
}
@@ -1633,8 +1632,7 @@ awt::Rectangle ChartView::impl_createDiagramAndContent( const CreateShapeParam2D
awt::Size aSize(rParam.maRemainingSpace.Width, rParam.maRemainingSpace.Height);
bool bPosSizeExcludeAxesProperty = true;
- uno::Reference< beans::XPropertySet > xDiaProps( xDiagram, uno::UNO_QUERY_THROW );
- xDiaProps->getPropertyValue("PosSizeExcludeAxes") >>= bPosSizeExcludeAxesProperty;
+ xDiagram->getPropertyValue("PosSizeExcludeAxes") >>= bPosSizeExcludeAxesProperty;
if (rParam.mbUseFixedInnerSize || bPosSizeExcludeAxesProperty)
{
aPos = awt::Point( m_aResultingDiagramRectangleExcludingAxes.X, m_aResultingDiagramRectangleExcludingAxes.Y );
@@ -2861,10 +2859,9 @@ void ChartView::createShapes2D( const awt::Size& rPageSize )
aParam.maRemainingSpace.Height = rPageSize.Height;
//create the group shape for diagram and axes first to have title and legends on top of it
- uno::Reference< XDiagram > xDiagram( mrChartModel.getFirstDiagram() );
- uno::Reference< beans::XPropertySet > xProp(xDiagram, uno::UNO_QUERY);
+ rtl::Reference< Diagram > xDiagram( mrChartModel.getFirstChartDiagram() );
bool bHasRelativeSize = false;
- if( xProp.is() && xProp->getPropertyValue("RelativeSize").hasValue() )
+ if( xDiagram.is() && xDiagram->getPropertyValue("RelativeSize").hasValue() )
bHasRelativeSize = true;
OUString aDiagramCID( ObjectIdentifier::createClassifiedIdentifier( OBJECTTYPE_DIAGRAM, OUString::number( 0 ) ) );//todo: other index if more than one diagram is possible
@@ -2932,7 +2929,7 @@ void ChartView::createShapes2D( const awt::Size& rPageSize )
bool bDummy = false;
bool bIsVertical = DiagramHelper::getVertical(xDiagram, bDummy, bDummy);
- if (getAvailablePosAndSizeForDiagram(aParam, rPageSize, xProp))
+ if (getAvailablePosAndSizeForDiagram(aParam, rPageSize, xDiagram))
{
awt::Rectangle aUsedOuterRect = impl_createDiagramAndContent(aParam, rPageSize);
@@ -2991,7 +2988,7 @@ void ChartView::createShapes2D( const awt::Size& rPageSize )
bool ChartView::createAxisTitleShapes2D( CreateShapeParam2D& rParam, const css::awt::Size& rPageSize, bool bHasRelativeSize )
{
- uno::Reference<XDiagram> xDiagram = mrChartModel.getFirstDiagram();
+ rtl::Reference<Diagram> xDiagram = mrChartModel.getFirstChartDiagram();
rtl::Reference< ChartType > xChartType( DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) );
sal_Int32 nDimension = DiagramHelper::getDimension( xDiagram );