use more concrete types in chart2, Axis
Change-Id: If80b6487ad2b8ac75f98f798b839aff2b8a5c23e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129522
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/chart2/source/controller/chartapiwrapper/AxisWrapper.cxx b/chart2/source/controller/chartapiwrapper/AxisWrapper.cxx
index db3e413..21f9520 100644
--- a/chart2/source/controller/chartapiwrapper/AxisWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/AxisWrapper.cxx
@@ -18,6 +18,7 @@
*/
#include "AxisWrapper.hxx"
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <TitleHelper.hxx>
#include "Chart2ModelContact.hxx"
@@ -574,7 +575,7 @@ awt::Size AxisWrapper::getCurrentSizeForReference()
Reference< chart2::XAxis > AxisWrapper::getAxis()
{
Reference< chart2::XAxis > xAxis;
rtl::Reference< Axis > xAxis;
try
{
sal_Int32 nDimensionIndex = 0;
@@ -586,9 +587,8 @@ Reference< chart2::XAxis > AxisWrapper::getAxis()
if( !xAxis.is() )
{
xAxis = AxisHelper::createAxis( nDimensionIndex, bMainAxis, xDiagram, m_spChart2ModelContact->m_xContext );
Reference< beans::XPropertySet > xProp( xAxis, uno::UNO_QUERY );
if( xProp.is() )
xProp->setPropertyValue("Show", uno::Any( false ) );
if( xAxis.is() )
xAxis->setPropertyValue("Show", uno::Any( false ) );
}
}
catch( const uno::Exception & )
diff --git a/chart2/source/controller/chartapiwrapper/WrappedAxisAndGridExistenceProperties.cxx b/chart2/source/controller/chartapiwrapper/WrappedAxisAndGridExistenceProperties.cxx
index 4895e1c..2f7181c 100644
--- a/chart2/source/controller/chartapiwrapper/WrappedAxisAndGridExistenceProperties.cxx
+++ b/chart2/source/controller/chartapiwrapper/WrappedAxisAndGridExistenceProperties.cxx
@@ -25,6 +25,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/chart2/XAxis.hpp>
#include <com/sun/star/chart2/XDiagram.hpp>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <WrappedProperty.hxx>
#include "Chart2ModelContact.hxx"
@@ -372,11 +373,11 @@ void WrappedAxisLabelExistenceProperty::setPropertyValue( const Any& rOuterValue
return;
rtl::Reference< ::chart::Diagram > xDiagram( m_spChart2ModelContact->getDiagram() );
Reference< beans::XPropertySet > xProp( AxisHelper::getAxis( m_nDimensionIndex, m_bMain, xDiagram ), uno::UNO_QUERY );
rtl::Reference< Axis > xProp = AxisHelper::getAxis( m_nDimensionIndex, m_bMain, xDiagram );
if( !xProp.is() && bNewValue )
{
//create axis if needed
xProp.set( AxisHelper::createAxis( m_nDimensionIndex, m_bMain, xDiagram, m_spChart2ModelContact->m_xContext ), uno::UNO_QUERY );
xProp = AxisHelper::createAxis( m_nDimensionIndex, m_bMain, xDiagram, m_spChart2ModelContact->m_xContext );
if( xProp.is() )
xProp->setPropertyValue( "Show", uno::Any( false ) );
}
@@ -388,7 +389,7 @@ Any WrappedAxisLabelExistenceProperty::getPropertyValue( const Reference< beans:
{
Any aRet;
rtl::Reference< ::chart::Diagram > xDiagram( m_spChart2ModelContact->getDiagram() );
Reference< beans::XPropertySet > xProp( AxisHelper::getAxis( m_nDimensionIndex, m_bMain, xDiagram ), uno::UNO_QUERY );
rtl::Reference< Axis > xProp = AxisHelper::getAxis( m_nDimensionIndex, m_bMain, xDiagram );
if( xProp.is() )
aRet = xProp->getPropertyValue( "DisplayLabels" );
else
diff --git a/chart2/source/controller/dialogs/ObjectNameProvider.cxx b/chart2/source/controller/dialogs/ObjectNameProvider.cxx
index cdee656..d9c3648 100644
--- a/chart2/source/controller/dialogs/ObjectNameProvider.cxx
+++ b/chart2/source/controller/dialogs/ObjectNameProvider.cxx
@@ -24,6 +24,7 @@
#include <ObjectNameProvider.hxx>
#include <ResId.hxx>
#include <strings.hrc>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <ChartModel.hxx>
#include <ChartModelHelper.hxx>
@@ -425,7 +426,7 @@ OUString ObjectNameProvider::getGridName( const OUString& rObjectCID
sal_Int32 nCooSysIndex = -1;
sal_Int32 nDimensionIndex = -1;
sal_Int32 nAxisIndex = -1;
Reference< XAxis > xAxis( ObjectIdentifier::getAxisForCID( rObjectCID , xChartModel ) );
rtl::Reference< Axis > xAxis = ObjectIdentifier::getAxisForCID( rObjectCID , xChartModel );
AxisHelper::getIndicesForAxis( xAxis, ChartModelHelper::findDiagram( xChartModel )
, nCooSysIndex , nDimensionIndex, nAxisIndex );
diff --git a/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx b/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx
index 0008d6e..fcb0eef 100644
--- a/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx
+++ b/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx
@@ -26,6 +26,7 @@
#include <ObjectIdentifier.hxx>
#include <DiagramHelper.hxx>
#include <Diagram.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <ObjectNameProvider.hxx>
#include <DataSeries.hxx>
@@ -76,10 +77,9 @@ double InsertErrorBarsDialog::getAxisMinorStepWidthForErrorBarDecimals(
ExplicitValueProvider* pExplicitValueProvider( comphelper::getFromUnoTunnel<ExplicitValueProvider>(xChartView) );
if( pExplicitValueProvider )
{
Reference< XAxis > xAxis;
rtl::Reference< Diagram > xDiagram( ChartModelHelper::findDiagram( xChartModel ) );
rtl::Reference< DataSeries > xSeries = ObjectIdentifier::getDataSeriesForCID( rSelectedObjectCID, xChartModel );
xAxis = DiagramHelper::getAttachedAxis( xSeries, xDiagram );
rtl::Reference< Axis > xAxis = DiagramHelper::getAttachedAxis( xSeries, xDiagram );
if(!xAxis.is())
xAxis = AxisHelper::getAxis( 1/*nDimensionIndex*/, true/*bMainAxis*/, xDiagram );
if(xAxis.is())
diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
index f16eb8f..583c711 100644
--- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
+++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
@@ -41,6 +41,7 @@
#include <DiagramHelper.hxx>
#include <Diagram.hxx>
#include <NumberFormatterWrapper.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <ExplicitCategoriesProvider.hxx>
#include <ChartModel.hxx>
@@ -157,7 +158,7 @@ void ObjectPropertiesDialogParameter::init( const rtl::Reference<::chart::ChartM
if( m_bHasScaleProperties )
{
uno::Reference< XAxis > xAxis( ObjectIdentifier::getAxisForCID( m_aObjectCID, xChartModel ) );
rtl::Reference< Axis > xAxis = ObjectIdentifier::getAxisForCID( m_aObjectCID, xChartModel );
if( xAxis.is() )
{
//no scale page for series axis
diff --git a/chart2/source/controller/itemsetwrapper/AxisItemConverter.cxx b/chart2/source/controller/itemsetwrapper/AxisItemConverter.cxx
index 69cc0ba..40dd061 100644
--- a/chart2/source/controller/itemsetwrapper/AxisItemConverter.cxx
+++ b/chart2/source/controller/itemsetwrapper/AxisItemConverter.cxx
@@ -27,6 +27,7 @@
#include "SchWhichPairs.hxx"
#include <ChartModelHelper.hxx>
#include <ChartModel.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <CommonConverters.hxx>
#include <ChartType.hxx>
@@ -358,7 +359,7 @@ void AxisItemConverter::FillSpecialItem( sal_uInt16 nWhichId, SfxItemSet & rOutI
rtl::Reference< BaseCoordinateSystem > xCooSys( AxisHelper::getCoordinateSystemOfAxis(
m_xAxis, ChartModelHelper::findDiagram( m_xChartDoc ) ) );
Reference< chart2::XAxis > xCrossingMainAxis( AxisHelper::getCrossingMainAxis( m_xAxis, xCooSys ) );
rtl::Reference< Axis > xCrossingMainAxis = AxisHelper::getCrossingMainAxis( m_xAxis, xCooSys );
sal_Int32 nFormatKey = ExplicitValueProvider::getExplicitNumberFormatKeyForAxis(
xCrossingMainAxis, xCooSys, m_xChartDoc);
@@ -723,7 +724,7 @@ bool AxisItemConverter::ApplySpecialItem( sal_uInt16 nWhichId, const SfxItemSet
sal_Int32 nAxisIndex=0;
if( AxisHelper::getIndicesForAxis( m_xAxis, xCooSys, nDimensionIndex, nAxisIndex ) && nAxisIndex==0 )
{
Reference< beans::XPropertySet > xCrossingMainAxis( AxisHelper::getCrossingMainAxis( m_xAxis, xCooSys ), uno::UNO_QUERY );
rtl::Reference< Axis > xCrossingMainAxis = AxisHelper::getCrossingMainAxis( m_xAxis, xCooSys );
if( xCrossingMainAxis.is() )
{
double fValue = 0.0;
@@ -758,7 +759,7 @@ bool AxisItemConverter::ApplySpecialItem( sal_uInt16 nWhichId, const SfxItemSet
//move the parallel axes to the other side if necessary
if( eAxisPos==css::chart::ChartAxisPosition_START || eAxisPos==css::chart::ChartAxisPosition_END )
{
Reference< beans::XPropertySet > xParallelAxis( AxisHelper::getParallelAxis( m_xAxis, ChartModelHelper::findDiagram( m_xChartDoc ) ), uno::UNO_QUERY );
rtl::Reference< Axis > xParallelAxis = AxisHelper::getParallelAxis( m_xAxis, ChartModelHelper::findDiagram( m_xChartDoc ) );
if( xParallelAxis.is() )
{
css::chart::ChartAxisPosition eOtherPos;
@@ -841,7 +842,7 @@ bool AxisItemConverter::ApplySpecialItem( sal_uInt16 nWhichId, const SfxItemSet
//move the parallel axes to the other side if necessary
if( ePos==css::chart::ChartAxisLabelPosition_OUTSIDE_START || ePos==css::chart::ChartAxisLabelPosition_OUTSIDE_END )
{
Reference< beans::XPropertySet > xParallelAxis( AxisHelper::getParallelAxis( m_xAxis, ChartModelHelper::findDiagram( m_xChartDoc ) ), uno::UNO_QUERY );
rtl::Reference< Axis > xParallelAxis = AxisHelper::getParallelAxis( m_xAxis, ChartModelHelper::findDiagram( m_xChartDoc ) );
if( xParallelAxis.is() )
{
css::chart::ChartAxisLabelPosition eOtherPos;
diff --git a/chart2/source/controller/itemsetwrapper/MultipleChartConverters.cxx b/chart2/source/controller/itemsetwrapper/MultipleChartConverters.cxx
index b44d13f..a26cce3 100644
--- a/chart2/source/controller/itemsetwrapper/MultipleChartConverters.cxx
+++ b/chart2/source/controller/itemsetwrapper/MultipleChartConverters.cxx
@@ -30,6 +30,7 @@
#include <DataSeries.hxx>
#include <TitleHelper.hxx>
#include <TitleItemConverter.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <chartview/ExplicitValueProvider.hxx>
#include <com/sun/star/chart2/XChartDocument.hpp>
@@ -53,10 +54,10 @@ AllAxisItemConverter::AllAxisItemConverter(
: MultipleItemConverter( rItemPool )
{
rtl::Reference< Diagram > xDiagram( ChartModelHelper::findDiagram( xChartModel ) );
const Sequence< Reference< XAxis > > aElementList( AxisHelper::getAllAxesOfDiagram( xDiagram ) );
for( Reference< XAxis > const & axis : aElementList )
const std::vector< rtl::Reference< Axis > > aElementList = AxisHelper::getAllAxesOfDiagram( xDiagram );
for( rtl::Reference< Axis > const & axis : aElementList )
{
uno::Reference< beans::XPropertySet > xObjectProperties(axis, uno::UNO_QUERY);
uno::Reference< beans::XPropertySet > xObjectProperties(axis);
m_aConverters.emplace_back( new ::chart::wrapper::AxisItemConverter(
xObjectProperties, rItemPool, rDrawModel,
xChartModel, nullptr, nullptr,
diff --git a/chart2/source/controller/itemsetwrapper/SeriesOptionsItemConverter.cxx b/chart2/source/controller/itemsetwrapper/SeriesOptionsItemConverter.cxx
index 1615c72d..aff808e 100644
--- a/chart2/source/controller/itemsetwrapper/SeriesOptionsItemConverter.cxx
+++ b/chart2/source/controller/itemsetwrapper/SeriesOptionsItemConverter.cxx
@@ -22,6 +22,7 @@
#include <ChartModelHelper.hxx>
#include <ChartType.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <DiagramHelper.hxx>
#include <Diagram.hxx>
@@ -80,7 +81,7 @@ SeriesOptionsItemConverter::SeriesOptionsItemConverter(
m_xCooSys = DataSeriesHelper::getCoordinateSystemOfSeries( xDataSeries, xDiagram );
if( m_xCooSys.is() )
{
uno::Reference< chart2::XAxis > xAxis( AxisHelper::getAxis( 1, 0, m_xCooSys ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( 1, 0, m_xCooSys );
chart2::ScaleData aScale( xAxis->getScaleData() );
m_bClockwise = (aScale.Orientation == chart2::AxisOrientation_REVERSE);
}
diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx
index 00defbc..ae33e37 100644
--- a/chart2/source/controller/main/ChartController_Insert.cxx
+++ b/chart2/source/controller/main/ChartController_Insert.cxx
@@ -29,6 +29,7 @@
#include <ChartModel.hxx>
#include <ChartModelHelper.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <TitleHelper.hxx>
#include <DataSeries.hxx>
@@ -707,7 +708,7 @@ void ChartController::executeDispatch_InsertAxisTitle()
ActionDescriptionProvider::ActionType::Insert, SchResId( STR_OBJECT_TITLE )),
m_xUndoManager );
Reference< XAxis > xAxis = ObjectIdentifier::getAxisForCID( m_aSelection.getSelectedCID(), getChartModel() );
rtl::Reference< Axis > xAxis = ObjectIdentifier::getAxisForCID( m_aSelection.getSelectedCID(), getChartModel() );
sal_Int32 nDimensionIndex = -1;
sal_Int32 nCooSysIndex = -1;
sal_Int32 nAxisIndex = -1;
diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx
index b094833..58bac63 100644
--- a/chart2/source/controller/main/ChartController_Properties.cxx
+++ b/chart2/source/controller/main/ChartController_Properties.cxx
@@ -38,6 +38,7 @@
#include <RegressionEquationItemConverter.hxx>
#include <ErrorBarItemConverter.hxx>
#include <ChartModelHelper.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <TitleHelper.hxx>
#include <ChartType.hxx>
@@ -378,7 +379,7 @@ OUString lcl_getAxisCIDForCommand( std::string_view rDispatchCommand, const rtl:
}
rtl::Reference< Diagram > xDiagram = ChartModelHelper::findDiagram( xChartModel );
uno::Reference< XAxis > xAxis( AxisHelper::getAxis( nDimensionIndex, bMainAxis, xDiagram ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( nDimensionIndex, bMainAxis, xDiagram );
return ObjectIdentifier::createClassifiedIdentifierForObject( xAxis, xChartModel );
}
@@ -419,7 +420,7 @@ OUString lcl_getGridCIDForCommand( std::string_view rDispatchCommand, const rtl:
nDimensionIndex=2; bMainGrid=false;
}
uno::Reference< XAxis > xAxis( AxisHelper::getAxis( nDimensionIndex, true/*bMainAxis*/, xDiagram ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( nDimensionIndex, true/*bMainAxis*/, xDiagram );
sal_Int32 nSubGridIndex= bMainGrid ? -1 : 0;
OUString aCID( ObjectIdentifier::createClassifiedIdentifierForGrid( xAxis, xChartModel, nSubGridIndex ) );
@@ -592,7 +593,7 @@ OUString lcl_getObjectCIDForCommand( std::string_view rDispatchCommand, const rt
return rSelectedCID;
else
{
Reference< XAxis > xAxis = ObjectIdentifier::getAxisForCID( rSelectedCID, xChartDocument );
rtl::Reference< Axis > xAxis = ObjectIdentifier::getAxisForCID( rSelectedCID, xChartDocument );
return ObjectIdentifier::createClassifiedIdentifierForObject( xAxis , xChartDocument );
}
}
@@ -603,7 +604,7 @@ OUString lcl_getObjectCIDForCommand( std::string_view rDispatchCommand, const rt
return rSelectedCID;
else
{
Reference< XAxis > xAxis = ObjectIdentifier::getAxisForCID( rSelectedCID, xChartDocument );
rtl::Reference< Axis > xAxis = ObjectIdentifier::getAxisForCID( rSelectedCID, xChartDocument );
return ObjectIdentifier::createClassifiedIdentifierForGrid( xAxis, xChartDocument );
}
@@ -615,7 +616,7 @@ OUString lcl_getObjectCIDForCommand( std::string_view rDispatchCommand, const rt
return rSelectedCID;
else
{
Reference< XAxis > xAxis = ObjectIdentifier::getAxisForCID( rSelectedCID, xChartDocument );
rtl::Reference< Axis > xAxis = ObjectIdentifier::getAxisForCID( rSelectedCID, xChartDocument );
return ObjectIdentifier::createClassifiedIdentifierForGrid( xAxis, xChartDocument, 0 /*sub grid index*/ );
}
}
diff --git a/chart2/source/controller/main/ChartController_Tools.cxx b/chart2/source/controller/main/ChartController_Tools.cxx
index dd04d61..9c8e2f0 100644
--- a/chart2/source/controller/main/ChartController_Tools.cxx
+++ b/chart2/source/controller/main/ChartController_Tools.cxx
@@ -37,6 +37,7 @@
#include <DrawViewWrapper.hxx>
#include <Legend.hxx>
#include <LegendHelper.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <RegressionCurveModel.hxx>
#include <RegressionCurveHelper.hxx>
@@ -114,7 +115,7 @@ bool lcl_deleteDataSeries(
xUndoManager );
rtl::Reference< Diagram > xDiagram = ChartModelHelper::findDiagram( xModel );
uno::Reference< chart2::XAxis > xAxis( DiagramHelper::getAttachedAxis( xSeries, xDiagram ) );
rtl::Reference< Axis > xAxis = DiagramHelper::getAttachedAxis( xSeries, xDiagram );
DataSeriesHelper::deleteSeries( xSeries, xChartType );
diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx
index 2e9e599..5eb195b 100644
--- a/chart2/source/controller/main/ChartController_Window.cxx
+++ b/chart2/source/controller/main/ChartController_Window.cxx
@@ -47,6 +47,7 @@
#include <StatisticsHelper.hxx>
#include <DataSeries.hxx>
#include <DataSeriesHelper.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <LegendHelper.hxx>
#include <servicenames_charttypes.hxx>
@@ -1195,7 +1196,7 @@ void ChartController::execute_Command( const CommandEvent& rCEvt )
else if( eObjectType == OBJECTTYPE_AXIS || eObjectType == OBJECTTYPE_GRID || eObjectType == OBJECTTYPE_SUBGRID )
{
Reference< XAxis > xAxis = ObjectIdentifier::getAxisForCID( m_aSelection.getSelectedCID(), getChartModel() );
rtl::Reference< Axis > xAxis = ObjectIdentifier::getAxisForCID( m_aSelection.getSelectedCID(), getChartModel() );
if( xAxis.is() && xDiagram.is() )
{
sal_Int32 nDimensionIndex = -1;
@@ -1206,10 +1207,7 @@ void ChartController::execute_Command( const CommandEvent& rCEvt )
bool bIsAxisVisible = AxisHelper::isAxisVisible( xAxis );
bool bIsMajorGridVisible = AxisHelper::isGridShown( nDimensionIndex, nCooSysIndex, true /*bMainGrid*/, xDiagram );
bool bIsMinorGridVisible = AxisHelper::isGridShown( nDimensionIndex, nCooSysIndex, false /*bMainGrid*/, xDiagram );
bool bHasTitle = false;
uno::Reference< XTitled > xTitled( xAxis, uno::UNO_QUERY );
if( xTitled.is())
bHasTitle = !TitleHelper::getCompleteString( xTitled->getTitleObject() ).isEmpty();
bool bHasTitle = !TitleHelper::getCompleteString( xAxis->getTitleObject() ).isEmpty();
if( eObjectType != OBJECTTYPE_AXIS && bIsAxisVisible )
lcl_insertMenuCommand( xPopupMenu, nUniqueId++, ".uno:FormatAxis" );
diff --git a/chart2/source/controller/main/ControllerCommandDispatch.cxx b/chart2/source/controller/main/ControllerCommandDispatch.cxx
index a7d0ff5..4e326eb3 100644
--- a/chart2/source/controller/main/ControllerCommandDispatch.cxx
+++ b/chart2/source/controller/main/ControllerCommandDispatch.cxx
@@ -22,6 +22,7 @@
#include <ChartModel.hxx>
#include <DiagramHelper.hxx>
#include <Diagram.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <TitleHelper.hxx>
#include <LegendHelper.hxx>
diff --git a/chart2/source/controller/main/ObjectHierarchy.cxx b/chart2/source/controller/main/ObjectHierarchy.cxx
index 58f17fb..0472cf2 100644
--- a/chart2/source/controller/main/ObjectHierarchy.cxx
+++ b/chart2/source/controller/main/ObjectHierarchy.cxx
@@ -23,6 +23,7 @@
#include <DiagramHelper.hxx>
#include <Diagram.hxx>
#include <RegressionCurveHelper.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <chartview/ExplicitValueProvider.hxx>
#include <ChartType.hxx>
@@ -94,12 +95,11 @@ void lcl_getChildOIDs(
}
}
void lcl_addAxisTitle( const Reference< XAxis >& xAxis, ::chart::ObjectHierarchy::tChildContainer& rContainer, const rtl::Reference<::chart::ChartModel>& xChartModel )
void lcl_addAxisTitle( const rtl::Reference< ::chart::Axis >& xAxis, ::chart::ObjectHierarchy::tChildContainer& rContainer, const rtl::Reference<::chart::ChartModel>& xChartModel )
{
Reference< XTitled > xAxisTitled( xAxis, uno::UNO_QUERY );
if( xAxisTitled.is())
if( xAxis.is())
{
Reference< XTitle > xAxisTitle( xAxisTitled->getTitleObject());
Reference< XTitle > xAxisTitle( xAxis->getTitleObject());
if( xAxisTitle.is())
rContainer.emplace_back( ::chart::ObjectIdentifier::createClassifiedIdentifierForObject( xAxisTitle, xChartModel ) );
}
@@ -153,8 +153,8 @@ void ObjectHierarchy::createTree( const rtl::Reference<::chart::ChartModel>& xCh
if( !m_bOrderingForElementSelector )
{
// Axis Titles. Note: These are interpreted of being top level
const Sequence< Reference< XAxis > > aAxes( AxisHelper::getAllAxesOfDiagram( xDiagram ) );
for( Reference< XAxis > const & axis : aAxes )
const std::vector< rtl::Reference< Axis > > aAxes = AxisHelper::getAllAxesOfDiagram( xDiagram );
for( rtl::Reference< Axis > const & axis : aAxes )
lcl_addAxisTitle( axis, aTopLevelContainer, xChartDocument );
// Diagram
@@ -223,7 +223,7 @@ void ObjectHierarchy::createAxesTree(
if( !bSupportsAxesGrids )
return;
Sequence< Reference< XAxis > > aAxes( AxisHelper::getAllAxesOfDiagram( xDiagram, /* bOnlyVisible = */ true ) );
std::vector< rtl::Reference< Axis > > aAxes = AxisHelper::getAllAxesOfDiagram( xDiagram, /* bOnlyVisible = */ true );
if( !m_bOrderingForElementSelector )
{
for (const auto & rAxis : std::as_const(aAxes))
@@ -233,7 +233,7 @@ void ObjectHierarchy::createAxesTree(
// get all axes, also invisible ones
aAxes = AxisHelper::getAllAxesOfDiagram( xDiagram );
// Grids
for( Reference< XAxis > const & xAxis : std::as_const(aAxes) )
for( rtl::Reference< Axis > const & xAxis : aAxes )
{
if(!xAxis.is())
continue;
diff --git a/chart2/source/controller/sidebar/ChartAxisPanel.cxx b/chart2/source/controller/sidebar/ChartAxisPanel.cxx
index 2b6bc55..b222691 100644
--- a/chart2/source/controller/sidebar/ChartAxisPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartAxisPanel.cxx
@@ -29,6 +29,7 @@
#include "ChartAxisPanel.hxx"
#include <ChartController.hxx>
#include <ChartModel.hxx>
#include <Axis.hxx>
using namespace css;
using namespace css::uno;
@@ -40,8 +41,7 @@ namespace {
bool isLabelShown(const rtl::Reference<::chart::ChartModel>& xModel,
const OUString& rCID)
{
css::uno::Reference< css::beans::XPropertySet > xAxis(
ObjectIdentifier::getAxisForCID(rCID, xModel), uno::UNO_QUERY );
rtl::Reference< ::chart::Axis > xAxis = ObjectIdentifier::getAxisForCID(rCID, xModel);
if (!xAxis.is())
return false;
@@ -58,8 +58,7 @@ bool isLabelShown(const rtl::Reference<::chart::ChartModel>& xModel,
void setLabelShown(const rtl::Reference<::chart::ChartModel>& xModel,
const OUString& rCID, bool bVisible)
{
css::uno::Reference< css::beans::XPropertySet > xAxis(
ObjectIdentifier::getAxisForCID(rCID, xModel), uno::UNO_QUERY );
rtl::Reference< ::chart::Axis > xAxis = ObjectIdentifier::getAxisForCID(rCID, xModel);
if (!xAxis.is())
return;
@@ -83,8 +82,7 @@ AxisLabelPosMap const aLabelPosMap[] = {
sal_Int32 getLabelPosition(const rtl::Reference<::chart::ChartModel>& xModel,
const OUString& rCID)
{
css::uno::Reference< css::beans::XPropertySet > xAxis(
ObjectIdentifier::getAxisForCID(rCID, xModel), uno::UNO_QUERY );
rtl::Reference< ::chart::Axis > xAxis = ObjectIdentifier::getAxisForCID(rCID, xModel);
if (!xAxis.is())
return 0;
@@ -107,8 +105,7 @@ sal_Int32 getLabelPosition(const rtl::Reference<::chart::ChartModel>& xModel,
void setLabelPosition(const rtl::Reference<::chart::ChartModel>& xModel,
const OUString& rCID, sal_Int32 nPos)
{
css::uno::Reference< css::beans::XPropertySet > xAxis(
ObjectIdentifier::getAxisForCID(rCID, xModel), uno::UNO_QUERY );
rtl::Reference< ::chart::Axis > xAxis = ObjectIdentifier::getAxisForCID(rCID, xModel);
if (!xAxis.is())
return;
@@ -178,8 +175,8 @@ OUString getCID(const css::uno::Reference<css::frame::XModel>& xModel)
void setAxisRotation(const rtl::Reference<::chart::ChartModel>& xModel,
const OUString& rCID, double nVal)
{
css::uno::Reference< css::beans::XPropertySet > xAxis(
ObjectIdentifier::getAxisForCID(rCID, xModel), uno::UNO_QUERY );
rtl::Reference< ::chart::Axis > xAxis =
ObjectIdentifier::getAxisForCID(rCID, xModel);
if (!xAxis.is())
return;
@@ -190,8 +187,8 @@ void setAxisRotation(const rtl::Reference<::chart::ChartModel>& xModel,
double getAxisRotation(const rtl::Reference<::chart::ChartModel>& xModel,
const OUString& rCID)
{
css::uno::Reference< css::beans::XPropertySet > xAxis(
ObjectIdentifier::getAxisForCID(rCID, xModel), uno::UNO_QUERY );
rtl::Reference< ::chart::Axis > xAxis =
ObjectIdentifier::getAxisForCID(rCID, xModel);
if (!xAxis.is())
return 0;
diff --git a/chart2/source/model/main/Axis.hxx b/chart2/source/inc/Axis.hxx
similarity index 96%
rename from chart2/source/model/main/Axis.hxx
rename to chart2/source/inc/Axis.hxx
index b85930a..7b5ce75 100644
--- a/chart2/source/model/main/Axis.hxx
+++ b/chart2/source/inc/Axis.hxx
@@ -18,7 +18,7 @@
*/
#pragma once
#include <OPropertySet.hxx>
#include "OPropertySet.hxx"
#include <cppuhelper/basemutex.hxx>
#include <cppuhelper/implbase.hxx>
#include <comphelper/uno3.hxx>
@@ -27,7 +27,8 @@
#include <com/sun/star/chart2/XAxis.hpp>
#include <com/sun/star/chart2/XTitled.hpp>
#include <com/sun/star/util/XCloneable.hpp>
#include <ModifyListenerHelper.hxx>
#include "ModifyListenerHelper.hxx"
#include "charttoolsdllapi.hxx"
namespace chart
{
@@ -44,7 +45,7 @@ typedef ::cppu::WeakImplHelper<
Axis_Base;
}
class Axis final :
class OOO_DLLPUBLIC_CHARTTOOLS Axis final :
public cppu::BaseMutex,
public impl::Axis_Base,
public ::property::OPropertySet
@@ -75,6 +76,7 @@ private:
// ____ OPropertySet ____
virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper() override;
public:
// ____ XPropertySet ____
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL
getPropertySetInfo() override;
@@ -101,6 +103,7 @@ private:
virtual void SAL_CALL removeModifyListener(
const css::uno::Reference< css::util::XModifyListener >& aListener ) override;
private:
// ____ XModifyListener ____
virtual void SAL_CALL modified(
const css::lang::EventObject& aEvent ) override;
diff --git a/chart2/source/inc/AxisHelper.hxx b/chart2/source/inc/AxisHelper.hxx
index 4e2480a..2cb10b8 100644
--- a/chart2/source/inc/AxisHelper.hxx
+++ b/chart2/source/inc/AxisHelper.hxx
@@ -38,6 +38,7 @@ namespace com::sun::star::uno { class XComponentContext; }
namespace chart
{
class Axis;
class BaseCoordinateSystem;
class ChartType;
class Diagram;
@@ -56,21 +57,26 @@ public:
static void checkDateAxis( css::chart2::ScaleData& rScale, ExplicitCategoriesProvider* pExplicitCategoriesProvider, bool bChartTypeAllowsDateAxis );
static css::chart2::ScaleData getDateCheckedScale( const css::uno::Reference< css::chart2::XAxis >& xAxis, ChartModel& rModel );
static css::chart2::ScaleData getDateCheckedScale( const rtl::Reference< ::chart::Axis >& xAxis, ChartModel& rModel );
static sal_Int32 getExplicitNumberFormatKeyForAxis(
const css::uno::Reference< css::chart2::XAxis >& xAxis
, const rtl::Reference< ::chart::BaseCoordinateSystem >& xCorrespondingCoordinateSystem
, const rtl::Reference< ::chart::ChartModel>& xChartDoc
, bool bSearchForParallelAxisIfNothingIsFound );
static sal_Int32 getExplicitNumberFormatKeyForAxis(
const rtl::Reference< ::chart::Axis >& xAxis
, const rtl::Reference< ::chart::BaseCoordinateSystem >& xCorrespondingCoordinateSystem
, const rtl::Reference< ::chart::ChartModel>& xChartDoc
, bool bSearchForParallelAxisIfNothingIsFound );
static css::uno::Reference<
css::chart2::XAxis >
static rtl::Reference< ::chart::Axis >
createAxis( sal_Int32 nDimensionIndex, bool bMainAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram
, const css::uno::Reference< css::uno::XComponentContext >& xContext
, ReferenceSizeProvider * pRefSizeProvider = nullptr );
static css::uno::Reference< css::chart2::XAxis >
static rtl::Reference< ::chart::Axis >
createAxis(
sal_Int32 nDimensionIndex
, sal_Int32 nAxisIndex // 0==main or 1==secondary axis
@@ -97,13 +103,17 @@ public:
, const rtl::Reference< ::chart::Diagram >& xDiagram );
static void makeAxisVisible( const css::uno::Reference< css::chart2::XAxis >& xAxis );
static void makeAxisVisible( const rtl::Reference< ::chart::Axis >& xAxis );
static void makeGridVisible( const css::uno::Reference< css::beans::XPropertySet >& xGridProperties );
static void makeAxisInvisible( const css::uno::Reference< css::chart2::XAxis >& xAxis );
static void makeAxisInvisible( const rtl::Reference< ::chart::Axis >& xAxis );
static void makeGridInvisible( const css::uno::Reference< css::beans::XPropertySet >& xGridProperties );
static void hideAxisIfNoDataIsAttached( const css::uno::Reference< css::chart2::XAxis >& xAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram);
static void hideAxisIfNoDataIsAttached( const rtl::Reference< ::chart::Axis >& xAxis
, 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 );
@@ -118,21 +128,31 @@ public:
getCoordinateSystemOfAxis(
const css::uno::Reference< css::chart2::XAxis >& xAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram );
static rtl::Reference< ::chart::BaseCoordinateSystem >
getCoordinateSystemOfAxis(
const rtl::Reference< ::chart::Axis >& xAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram );
static css::uno::Reference< css::chart2::XAxis >
static rtl::Reference< ::chart::Axis >
getAxis( sal_Int32 nDimensionIndex, bool bMainAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram );
static css::uno::Reference< css::chart2::XAxis >
static rtl::Reference< ::chart::Axis >
getAxis( sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex
, const rtl::Reference< ::chart::BaseCoordinateSystem >& xCooSys );
static css::uno::Reference< css::chart2::XAxis >
static rtl::Reference< ::chart::Axis >
getCrossingMainAxis( const css::uno::Reference< css::chart2::XAxis >& xAxis
, const rtl::Reference< ::chart::BaseCoordinateSystem >& xCooSys );
static rtl::Reference< ::chart::Axis >
getCrossingMainAxis( const rtl::Reference< ::chart::Axis >& xAxis
, const rtl::Reference< ::chart::BaseCoordinateSystem >& xCooSys );
static css::uno::Reference< css::chart2::XAxis >
static rtl::Reference< ::chart::Axis >
getParallelAxis( const css::uno::Reference< css::chart2::XAxis >& xAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram );
static rtl::Reference< ::chart::Axis >
getParallelAxis( const rtl::Reference< ::chart::Axis >& xAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram );
static css::uno::Reference< css::beans::XPropertySet >
getGridProperties( const rtl::Reference< ::chart::BaseCoordinateSystem >& xCooSys
@@ -144,28 +164,39 @@ public:
static sal_Int32 getDimensionIndexOfAxis(
const css::uno::Reference< css::chart2::XAxis >& xAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram );
static sal_Int32 getDimensionIndexOfAxis(
const rtl::Reference< ::chart::Axis >& xAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram );
static bool getIndicesForAxis(
const css::uno::Reference< css::chart2::XAxis >& xAxis
, const rtl::Reference< ::chart::BaseCoordinateSystem >& xCooSys
, sal_Int32& rOutDimensionIndex, sal_Int32& rOutAxisIndex );
static bool getIndicesForAxis(
const rtl::Reference< ::chart::Axis >& xAxis
, const rtl::Reference< ::chart::BaseCoordinateSystem >& xCooSys
, sal_Int32& rOutDimensionIndex, sal_Int32& rOutAxisIndex );
static bool getIndicesForAxis(
const css::uno::Reference< css::chart2::XAxis >& xAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram
, sal_Int32& rOutCooSysIndex, sal_Int32& rOutDimensionIndex, sal_Int32& rOutAxisIndex );
static bool getIndicesForAxis(
const rtl::Reference< ::chart::Axis >& xAxis
, const rtl::Reference< ::chart::Diagram >& xDiagram
, sal_Int32& rOutCooSysIndex, sal_Int32& rOutDimensionIndex, sal_Int32& rOutAxisIndex );
/** @param bOnlyVisible if </TRUE>, only axes with property "Show" set to
</sal_True> are returned
*/
static css::uno::Sequence< css::uno::Reference< css::chart2::XAxis > >
static std::vector< rtl::Reference< ::chart::Axis > >
getAllAxesOfDiagram( const rtl::Reference< ::chart::Diagram >& xDiagram
, bool bOnlyVisible = false );
/** @param bOnlyVisible if </TRUE>, only axes with property "Show" set to
</sal_True> are returned
*/
SAL_DLLPRIVATE static std::vector< css::uno::Reference< css::chart2::XAxis > >
SAL_DLLPRIVATE static std::vector< rtl::Reference< ::chart::Axis > >
getAllAxesOfCoordinateSystem( const rtl::Reference< ::chart::BaseCoordinateSystem >& xCooSys
, bool bOnlyVisible = false );
@@ -190,6 +221,8 @@ public:
static bool shouldAxisBeDisplayed( const css::uno::Reference< css::chart2::XAxis >& xAxis
, const rtl::Reference< ::chart::BaseCoordinateSystem >& xCooSys );
static bool shouldAxisBeDisplayed( const rtl::Reference< ::chart::Axis >& xAxis
, const rtl::Reference< ::chart::BaseCoordinateSystem >& xCooSys );
static bool isSecondaryYAxisNeeded( const rtl::Reference<
::chart::BaseCoordinateSystem >& xCooSys );
diff --git a/chart2/source/inc/BaseCoordinateSystem.hxx b/chart2/source/inc/BaseCoordinateSystem.hxx
index 2241c84..afb02c0 100644
--- a/chart2/source/inc/BaseCoordinateSystem.hxx
+++ b/chart2/source/inc/BaseCoordinateSystem.hxx
@@ -33,6 +33,7 @@
namespace chart
{
class Axis;
class ChartType;
namespace impl
@@ -96,6 +97,9 @@ public:
virtual void SAL_CALL removeModifyListener(
const css::uno::Reference< css::util::XModifyListener >& aListener ) override;
void setAxisByDimension( sal_Int32 nDimension, const rtl::Reference< ::chart::Axis >& xAxis, sal_Int32 nIndex );
rtl::Reference< ::chart::Axis > getAxisByDimension2(sal_Int32 nDimension, sal_Int32 nIndex ) const;
void setChartTypes( const std::vector< rtl::Reference< ::chart::ChartType > >& aChartTypes );
const std::vector< rtl::Reference<::chart::ChartType > > & getChartTypes2() const { return m_aChartTypes; }
@@ -120,7 +124,7 @@ protected:
private:
sal_Int32 m_nDimensionCount;
typedef std::vector< std::vector< css::uno::Reference< css::chart2::XAxis > > > tAxisVecVecType;
typedef std::vector< std::vector< rtl::Reference< ::chart::Axis > > > tAxisVecVecType;
tAxisVecVecType m_aAllAxis; //outer sequence is the dimension; inner sequence is the axis index that indicates main or secondary axis
std::vector< rtl::Reference<::chart::ChartType > > m_aChartTypes;
};
diff --git a/chart2/source/inc/ChartType.hxx b/chart2/source/inc/ChartType.hxx
index 4c95fac..a84d798 100644
--- a/chart2/source/inc/ChartType.hxx
+++ b/chart2/source/inc/ChartType.hxx
@@ -35,6 +35,7 @@
namespace chart
{
class BaseCoordinateSystem;
class DataSeries;
class ModifyEventForwarder;
@@ -102,6 +103,9 @@ public:
const std::vector< rtl::Reference< ::chart::DataSeries > >& aDataSeries );
const std::vector< rtl::Reference< ::chart::DataSeries > > & getDataSeries2() const { return m_aDataSeries; }
static rtl::Reference< ::chart::BaseCoordinateSystem >
createCoordinateSystem2( ::sal_Int32 DimensionCount );
protected:
// ____ XModifyListener ____
diff --git a/chart2/source/inc/Diagram.hxx b/chart2/source/inc/Diagram.hxx
index 16beacd..07712e9 100644
--- a/chart2/source/inc/Diagram.hxx
+++ b/chart2/source/inc/Diagram.hxx
@@ -144,6 +144,8 @@ public:
tCoordinateSystemContainerType;
const tCoordinateSystemContainerType & getBaseCoordinateSystems() { return m_aCoordSystems; }
void setCoordinateSystems(
const std::vector< rtl::Reference< ::chart::BaseCoordinateSystem > >& aCoordinateSystems );
const rtl::Reference< ::chart::Legend > & getLegend2() const { return m_xLegend; }
void setLegend(const rtl::Reference< ::chart::Legend > &);
diff --git a/chart2/source/inc/DiagramHelper.hxx b/chart2/source/inc/DiagramHelper.hxx
index 3a83644..d5f81f3 100644
--- a/chart2/source/inc/DiagramHelper.hxx
+++ b/chart2/source/inc/DiagramHelper.hxx
@@ -42,6 +42,7 @@ namespace com::sun::star::util { class XNumberFormatsSupplier; }
namespace chart
{
class Axis;
class BaseCoordinateSystem;
class ChartType;
class ChartTypeManager;
@@ -159,11 +160,11 @@ public:
const css::uno::Reference< css::uno::XComponentContext > & xContext,
bool bAdaptAxes=true );
static css::uno::Reference< css::chart2::XAxis > getAttachedAxis(
static rtl::Reference< ::chart::Axis > getAttachedAxis(
const css::uno::Reference< css::chart2::XDataSeries >& xSeries,
const rtl::Reference< ::chart::Diagram >& xDiagram );
static css::uno::Reference< css::chart2::XAxis > getAttachedAxis(
static rtl::Reference< ::chart::Axis > getAttachedAxis(
const rtl::Reference< ::chart::DataSeries >& xSeries,
const rtl::Reference< ::chart::Diagram >& xDiagram );
diff --git a/chart2/source/inc/ObjectIdentifier.hxx b/chart2/source/inc/ObjectIdentifier.hxx
index 5e52fbf..f4ce480 100644
--- a/chart2/source/inc/ObjectIdentifier.hxx
+++ b/chart2/source/inc/ObjectIdentifier.hxx
@@ -42,6 +42,7 @@ namespace com::sun::star::uno { class XInterface; }
namespace chart
{
class Axis;
class BaseCoordinateSystem;
class DataSeries;
class Diagram;
@@ -112,6 +113,9 @@ public:
static OUString createClassifiedIdentifierForObject(
const rtl::Reference< ::chart::Legend >& xObject
, const rtl::Reference<::chart::ChartModel>& xChartModel );
static OUString createClassifiedIdentifierForObject(
const rtl::Reference< ::chart::Axis >& xObject
, const rtl::Reference<::chart::ChartModel>& xChartModel );
static OUString createClassifiedIdentifierForParticle(
const OUString& rParticle );
@@ -198,7 +202,7 @@ public:
, const rtl::Reference< ::chart::ChartModel >& xChartDocument );
//return the axis object that belongs to rObjectCID if any
static css::uno::Reference< css::chart2::XAxis >
static rtl::Reference< ::chart::Axis >
getAxisForCID(
const OUString& rObjectCID
, const rtl::Reference<::chart::ChartModel>& xChartModel );
diff --git a/chart2/source/model/main/Axis.cxx b/chart2/source/model/main/Axis.cxx
index 9bae79c..9507f37 100644
--- a/chart2/source/model/main/Axis.cxx
+++ b/chart2/source/model/main/Axis.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include "Axis.hxx"
#include <Axis.hxx>
#include "GridProperties.hxx"
#include <CharacterProperties.hxx>
#include <LinePropertiesHelper.hxx>
diff --git a/chart2/source/model/main/BaseCoordinateSystem.cxx b/chart2/source/model/main/BaseCoordinateSystem.cxx
index bc02bf7..52ef7ff 100644
--- a/chart2/source/model/main/BaseCoordinateSystem.cxx
+++ b/chart2/source/model/main/BaseCoordinateSystem.cxx
@@ -22,7 +22,7 @@
#include <UserDefinedProperties.hxx>
#include <CloneHelper.hxx>
#include <ModifyListenerHelper.hxx>
#include "Axis.hxx"
#include <Axis.hxx>
#include <ChartType.hxx>
#include <com/sun/star/chart2/AxisType.hpp>
#include <com/sun/star/container/NoSuchElementException.hpp>
@@ -125,7 +125,7 @@ BaseCoordinateSystem::BaseCoordinateSystem(
for( sal_Int32 nN=0; nN<m_nDimensionCount; nN++ )
{
m_aAllAxis[nN].resize( 1 );
Reference< chart2::XAxis > xAxis( new Axis );
rtl::Reference< Axis > xAxis( new Axis );
m_aAllAxis[nN][0] = xAxis;
ModifyListenerHelper::addListenerToAllElements( m_aAllAxis[nN], m_xModifyEventForwarder );
@@ -159,7 +159,7 @@ BaseCoordinateSystem::BaseCoordinateSystem(
m_aAllAxis.resize(rSource.m_aAllAxis.size());
tAxisVecVecType::size_type nN=0;
for( nN=0; nN<m_aAllAxis.size(); nN++ )
CloneHelper::CloneRefVector<chart2::XAxis>( rSource.m_aAllAxis[nN], m_aAllAxis[nN] );
CloneHelper::CloneRefVector( rSource.m_aAllAxis[nN], m_aAllAxis[nN] );
for (const auto & rxChartType : rSource.m_aChartTypes)
m_aChartTypes.push_back(rxChartType->cloneChartType());
@@ -207,7 +207,33 @@ void SAL_CALL BaseCoordinateSystem::setAxisByDimension(
m_aAllAxis[ nDimensionIndex ][nIndex] = nullptr;
}
Reference< chart2::XAxis > xOldAxis( m_aAllAxis[ nDimensionIndex ][nIndex] );
rtl::Reference< Axis > xOldAxis( m_aAllAxis[ nDimensionIndex ][nIndex] );
if( xOldAxis.is())
ModifyListenerHelper::removeListener( xOldAxis, m_xModifyEventForwarder );
m_aAllAxis[ nDimensionIndex ][nIndex] = dynamic_cast<Axis*>(xAxis.get());
if( xAxis.is())
ModifyListenerHelper::addListener( xAxis, m_xModifyEventForwarder );
fireModifyEvent();
}
void BaseCoordinateSystem::setAxisByDimension(
sal_Int32 nDimensionIndex,
const rtl::Reference< Axis >& xAxis,
sal_Int32 nIndex )
{
if( nDimensionIndex < 0 || nDimensionIndex >= getDimension() )
throw lang::IndexOutOfBoundsException();
if( nIndex < 0 )
throw lang::IndexOutOfBoundsException();
if( m_aAllAxis[ nDimensionIndex ].size() < o3tl::make_unsigned( nIndex+1 ))
{
m_aAllAxis[ nDimensionIndex ].resize( nIndex+1 );
m_aAllAxis[ nDimensionIndex ][nIndex] = nullptr;
}
rtl::Reference< Axis > xOldAxis( m_aAllAxis[ nDimensionIndex ][nIndex] );
if( xOldAxis.is())
ModifyListenerHelper::removeListener( xOldAxis, m_xModifyEventForwarder );
m_aAllAxis[ nDimensionIndex ][nIndex] = xAxis;
@@ -230,6 +256,20 @@ Reference< chart2::XAxis > SAL_CALL BaseCoordinateSystem::getAxisByDimension(
return m_aAllAxis[ nDimensionIndex ][nAxisIndex];
}
rtl::Reference< Axis > BaseCoordinateSystem::getAxisByDimension2(
sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex ) const
{
if( nDimensionIndex < 0 || nDimensionIndex >= m_nDimensionCount )
throw lang::IndexOutOfBoundsException();
OSL_ASSERT( m_aAllAxis.size() == static_cast< size_t >( m_nDimensionCount));
if( nAxisIndex < 0 || nAxisIndex > static_cast<sal_Int32>(m_aAllAxis[ nDimensionIndex ].size()) )
throw lang::IndexOutOfBoundsException();
return m_aAllAxis[ nDimensionIndex ][nAxisIndex];
}
sal_Int32 SAL_CALL BaseCoordinateSystem::getMaximumAxisIndexByDimension( sal_Int32 nDimensionIndex )
{
if( nDimensionIndex < 0 || nDimensionIndex >= getDimension() )
diff --git a/chart2/source/model/main/Diagram.cxx b/chart2/source/model/main/Diagram.cxx
index 60bcbd5..f160987 100644
--- a/chart2/source/model/main/Diagram.cxx
+++ b/chart2/source/model/main/Diagram.cxx
@@ -524,6 +524,28 @@ void SAL_CALL Diagram::setCoordinateSystems(
fireModifyEvent();
}
void Diagram::setCoordinateSystems(
const std::vector< rtl::Reference< BaseCoordinateSystem > >& aCoordinateSystems )
{
tCoordinateSystemContainerType aNew;
tCoordinateSystemContainerType aOld;
if( !aCoordinateSystems.empty() )
{
OSL_ENSURE( aCoordinateSystems.size()<=1, "more than one coordinatesystem is not supported yet by the fileformat" );
aNew.push_back( aCoordinateSystems[0] );
}
{
MutexGuard aGuard( m_aMutex );
std::swap( aOld, m_aCoordSystems );
m_aCoordSystems = aNew;
}
for (auto & xSystem : aOld)
xSystem->removeModifyListener(m_xModifyEventForwarder);
for (auto & xSystem : aNew)
xSystem->addModifyListener(m_xModifyEventForwarder);
fireModifyEvent();
}
// ____ XCloneable ____
Reference< util::XCloneable > SAL_CALL Diagram::createClone()
{
diff --git a/chart2/source/model/template/BubbleChartType.cxx b/chart2/source/model/template/BubbleChartType.cxx
index c2d7d36..8a23388 100644
--- a/chart2/source/model/template/BubbleChartType.cxx
+++ b/chart2/source/model/template/BubbleChartType.cxx
@@ -21,6 +21,7 @@
#include <PropertyHelper.hxx>
#include <servicenames_charttypes.hxx>
#include <CartesianCoordinateSystem.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <AxisIndexDefines.hxx>
#include <com/sun/star/chart2/AxisType.hpp>
@@ -123,7 +124,7 @@ Reference< chart2::XCoordinateSystem > SAL_CALL
for( sal_Int32 i=0; i<DimensionCount; ++i )
{
Reference< chart2::XAxis > xAxis( xResult->getAxisByDimension( i, MAIN_AXIS_INDEX ) );
rtl::Reference< Axis > xAxis = xResult->getAxisByDimension2( i, MAIN_AXIS_INDEX );
if( !xAxis.is() )
{
OSL_FAIL("a created coordinate system should have an axis for each dimension");
diff --git a/chart2/source/model/template/ChartType.cxx b/chart2/source/model/template/ChartType.cxx
index 588b3fa..eff91f9 100644
--- a/chart2/source/model/template/ChartType.cxx
+++ b/chart2/source/model/template/ChartType.cxx
@@ -19,6 +19,7 @@
#include <ChartType.hxx>
#include <CartesianCoordinateSystem.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <CloneHelper.hxx>
#include <AxisIndexDefines.hxx>
@@ -68,12 +69,18 @@ ChartType::~ChartType()
Reference< chart2::XCoordinateSystem > SAL_CALL
ChartType::createCoordinateSystem( ::sal_Int32 DimensionCount )
{
return createCoordinateSystem2(DimensionCount);
}
rtl::Reference< BaseCoordinateSystem >
ChartType::createCoordinateSystem2( ::sal_Int32 DimensionCount )
{
rtl::Reference< CartesianCoordinateSystem > xResult =
new CartesianCoordinateSystem( DimensionCount );
for( sal_Int32 i=0; i<DimensionCount; ++i )
{
Reference< chart2::XAxis > xAxis( xResult->getAxisByDimension( i, MAIN_AXIS_INDEX ) );
rtl::Reference< Axis > xAxis = xResult->getAxisByDimension2( i, MAIN_AXIS_INDEX );
if( !xAxis.is() )
{
OSL_FAIL("a created coordinate system should have an axis for each dimension");
diff --git a/chart2/source/model/template/ChartTypeTemplate.cxx b/chart2/source/model/template/ChartTypeTemplate.cxx
index 902c54e..df4cb7d 100644
--- a/chart2/source/model/template/ChartTypeTemplate.cxx
+++ b/chart2/source/model/template/ChartTypeTemplate.cxx
@@ -25,6 +25,7 @@
#include <DataSeries.hxx>
#include <DataSource.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <Diagram.hxx>
#include <DiagramHelper.hxx>
@@ -420,18 +421,14 @@ void ChartTypeTemplate::resetStyles( const rtl::Reference< ::chart::Diagram >& x
bool bPercent = (getStackMode(0) == StackMode::YStackedPercent);
if( bPercent )
{
const Sequence< Reference< chart2::XAxis > > aAxisSeq( AxisHelper::getAllAxesOfDiagram( xDiagram ) );
for( Reference< chart2::XAxis > const & axis : aAxisSeq )
const std::vector< rtl::Reference< Axis > > aAxisSeq( AxisHelper::getAllAxesOfDiagram( xDiagram ) );
for( rtl::Reference< Axis > const & axis : aAxisSeq )
{
if( AxisHelper::getDimensionIndexOfAxis( axis, xDiagram )== 1 )
{
Reference< beans::XPropertySet > xAxisProp( axis, uno::UNO_QUERY );
if( xAxisProp.is())
{
// set number format to source format
xAxisProp->setPropertyValue(CHART_UNONAME_LINK_TO_SRC_NUMFMT, uno::Any(true));
xAxisProp->setPropertyValue(CHART_UNONAME_NUMFMT, uno::Any());
}
// set number format to source format
axis->setPropertyValue(CHART_UNONAME_LINK_TO_SRC_NUMFMT, uno::Any(true));
axis->setPropertyValue(CHART_UNONAME_NUMFMT, uno::Any());
}
}
}
@@ -499,7 +496,7 @@ void ChartTypeTemplate::createCoordinateSystems(
rtl::Reference< ChartType > xChartType( getChartTypeForNewSeries(aFormerlyUsedChartTypes));
if( ! xChartType.is())
return;
Reference< XCoordinateSystem > xCooSys( xChartType->createCoordinateSystem( getDimension()));
rtl::Reference< BaseCoordinateSystem > xCooSys = ChartType::createCoordinateSystem2( getDimension());
if( ! xCooSys.is())
{
// chart type wants no coordinate systems
@@ -514,13 +511,13 @@ void ChartTypeTemplate::createCoordinateSystems(
AxisHelper::makeGridVisible( xAxis->getGridProperties() );
}
Sequence< Reference< XCoordinateSystem > > aCoordinateSystems(
xDiagram->getCoordinateSystems());
std::vector< rtl::Reference< BaseCoordinateSystem > > aCoordinateSystems(
xDiagram->getBaseCoordinateSystems());
if( aCoordinateSystems.hasElements())
if( !aCoordinateSystems.empty() )
{
bool bOk = true;
for( sal_Int32 i=0; bOk && i<aCoordinateSystems.getLength(); ++i )
for( sal_Int32 i=0; bOk && i<static_cast<sal_Int32>(aCoordinateSystems.size()); ++i )
bOk = bOk && ( xCooSys->getCoordinateSystemType() == aCoordinateSystems[i]->getCoordinateSystemType() &&
(xCooSys->getDimension() == aCoordinateSystems[i]->getDimension()) );
// coordinate systems are ok
@@ -530,9 +527,9 @@ void ChartTypeTemplate::createCoordinateSystems(
}
//copy as much info from former coordinate system as possible:
if( aCoordinateSystems.hasElements() )
if( !aCoordinateSystems.empty() )
{
Reference< XCoordinateSystem > xOldCooSys( aCoordinateSystems[0] );
rtl::Reference< BaseCoordinateSystem > xOldCooSys( aCoordinateSystems[0] );
sal_Int32 nMaxDimensionCount = std::min( xCooSys->getDimension(), xOldCooSys->getDimension() );
for(sal_Int32 nDimensionIndex=0; nDimensionIndex<nMaxDimensionCount; nDimensionIndex++)
@@ -540,7 +537,7 @@ void ChartTypeTemplate::createCoordinateSystems(
const sal_Int32 nMaximumAxisIndex = xOldCooSys->getMaximumAxisIndexByDimension(nDimensionIndex);
for(sal_Int32 nAxisIndex=0; nAxisIndex<=nMaximumAxisIndex; ++nAxisIndex)
{
uno::Reference< XAxis > xAxis( xOldCooSys->getAxisByDimension( nDimensionIndex, nAxisIndex ) );
rtl::Reference< Axis > xAxis = xOldCooSys->getAxisByDimension2( nDimensionIndex, nAxisIndex );
if( xAxis.is())
{
xCooSys->setAxisByDimension( nDimensionIndex, xAxis, nAxisIndex );
@@ -573,7 +570,7 @@ void ChartTypeTemplate::adaptScales(
const sal_Int32 nMaxIndex = xCooSys->getMaximumAxisIndexByDimension(nDimensionX);
for(sal_Int32 nI=0; nI<=nMaxIndex; ++nI)
{
Reference< XAxis > xAxis( xCooSys->getAxisByDimension(nDimensionX,nI) );
rtl::Reference< Axis > xAxis = xCooSys->getAxisByDimension2(nDimensionX,nI);
if( xAxis.is())
{
ScaleData aData( xAxis->getScaleData() );
@@ -606,7 +603,7 @@ void ChartTypeTemplate::adaptScales(
const sal_Int32 nMaxIndex = xCooSys->getMaximumAxisIndexByDimension(1);
for(sal_Int32 nI=0; nI<=nMaxIndex; ++nI)
{
Reference< chart2::XAxis > xAxis( xCooSys->getAxisByDimension( 1,nI ));
rtl::Reference< Axis > xAxis = xCooSys->getAxisByDimension2( 1,nI );
if( xAxis.is())
{
bool bPercent = (getStackMode(0) == StackMode::YStackedPercent);
diff --git a/chart2/source/model/template/NetChartType.cxx b/chart2/source/model/template/NetChartType.cxx
index 971befd..8441215 100644
--- a/chart2/source/model/template/NetChartType.cxx
+++ b/chart2/source/model/template/NetChartType.cxx
@@ -22,6 +22,7 @@
#include <servicenames_charttypes.hxx>
#include <AxisIndexDefines.hxx>
#include <AxisHelper.hxx>
#include <Axis.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <com/sun/star/chart2/AxisType.hpp>
@@ -58,7 +59,7 @@ Reference< XCoordinateSystem > SAL_CALL
rtl::Reference< PolarCoordinateSystem > xResult =
new PolarCoordinateSystem( DimensionCount );
Reference< XAxis > xAxis( xResult->getAxisByDimension( 0, MAIN_AXIS_INDEX ) );
rtl::Reference< Axis > xAxis = xResult->getAxisByDimension2( 0, MAIN_AXIS_INDEX );
if( xAxis.is() )
{
ScaleData aScaleData = xAxis->getScaleData();
@@ -68,7 +69,7 @@ Reference< XCoordinateSystem > SAL_CALL
xAxis->setScaleData( aScaleData );
}
xAxis = xResult->getAxisByDimension( 1, MAIN_AXIS_INDEX );
xAxis = xResult->getAxisByDimension2( 1, MAIN_AXIS_INDEX );
if( xAxis.is() )
{
ScaleData aScaleData = xAxis->getScaleData();
diff --git a/chart2/source/model/template/PieChartType.cxx b/chart2/source/model/template/PieChartType.cxx
index 1208283..4727a47 100644
--- a/chart2/source/model/template/PieChartType.cxx
+++ b/chart2/source/model/template/PieChartType.cxx
@@ -20,6 +20,7 @@
#include "PieChartType.hxx"
#include <PropertyHelper.hxx>
#include <PolarCoordinateSystem.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <servicenames_charttypes.hxx>
#include <AxisIndexDefines.hxx>
@@ -158,7 +159,7 @@ Reference< chart2::XCoordinateSystem > SAL_CALL
for( sal_Int32 i=0; i<DimensionCount; ++i )
{
Reference< chart2::XAxis > xAxis( xResult->getAxisByDimension( i, MAIN_AXIS_INDEX ) );
rtl::Reference< Axis > xAxis = xResult->getAxisByDimension2( i, MAIN_AXIS_INDEX );
if( !xAxis.is() )
{
OSL_FAIL("a created coordinate system should have an axis for each dimension");
diff --git a/chart2/source/model/template/PieChartTypeTemplate.cxx b/chart2/source/model/template/PieChartTypeTemplate.cxx
index 9b7ef05..46a3e57 100644
--- a/chart2/source/model/template/PieChartTypeTemplate.cxx
+++ b/chart2/source/model/template/PieChartTypeTemplate.cxx
@@ -27,6 +27,7 @@
#include <servicenames_charttypes.hxx>
#include <DataSeries.hxx>
#include <DataSeriesHelper.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <ThreeDHelper.hxx>
#include <PropertyHelper.hxx>
@@ -238,8 +239,8 @@ void PieChartTypeTemplate::adaptScales(
{
try
{
Reference< chart2::XAxis > xAxis( AxisHelper::getAxis( 1 /*nDimensionIndex*/,0 /*nAxisIndex*/
, coords ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( 1 /*nDimensionIndex*/,0 /*nAxisIndex*/
, coords );
if( xAxis.is() )
{
chart2::ScaleData aScaleData( xAxis->getScaleData() );
diff --git a/chart2/source/model/template/ScatterChartType.cxx b/chart2/source/model/template/ScatterChartType.cxx
index 63d46fe..1835abc 100644
--- a/chart2/source/model/template/ScatterChartType.cxx
+++ b/chart2/source/model/template/ScatterChartType.cxx
@@ -21,6 +21,7 @@
#include <PropertyHelper.hxx>
#include <servicenames_charttypes.hxx>
#include <CartesianCoordinateSystem.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <AxisIndexDefines.hxx>
#include <unonames.hxx>
@@ -168,7 +169,7 @@ Reference< chart2::XCoordinateSystem > SAL_CALL
for( sal_Int32 i=0; i<DimensionCount; ++i )
{
Reference< chart2::XAxis > xAxis( xResult->getAxisByDimension( i, MAIN_AXIS_INDEX ) );
rtl::Reference< Axis > xAxis = xResult->getAxisByDimension2( i, MAIN_AXIS_INDEX );
if( !xAxis.is() )
{
OSL_FAIL("a created coordinate system should have an axis for each dimension");
diff --git a/chart2/source/tools/AxisHelper.cxx b/chart2/source/tools/AxisHelper.cxx
index 8f9b93c..52225c4 100644
--- a/chart2/source/tools/AxisHelper.cxx
+++ b/chart2/source/tools/AxisHelper.cxx
@@ -22,6 +22,7 @@
#include <Diagram.hxx>
#include <ChartTypeHelper.hxx>
#include <ChartType.hxx>
#include <Axis.hxx>
#include <AxisIndexDefines.hxx>
#include <LabeledDataSequence.hxx>
#include <LinePropertiesHelper.hxx>
@@ -102,6 +103,13 @@ bool AxisHelper::isLogarithmic( const Reference< XScaling >& xScaling )
chart2::ScaleData AxisHelper::getDateCheckedScale( const Reference< chart2::XAxis >& xAxis, ChartModel& rModel )
{
rtl::Reference< Axis > pAxis = dynamic_cast<Axis*>(xAxis.get());
assert(pAxis || !xAxis);
return getDateCheckedScale(pAxis, rModel);
}
chart2::ScaleData AxisHelper::getDateCheckedScale( const rtl::Reference< Axis >& xAxis, ChartModel& rModel )
{
ScaleData aScale = xAxis->getScaleData();
rtl::Reference< BaseCoordinateSystem > xCooSys( ChartModelHelper::getFirstCoordinateSystem( &rModel ) );
if( aScale.AutoDateAxis && aScale.AxisType == AxisType::CATEGORY )
@@ -141,18 +149,28 @@ sal_Int32 AxisHelper::getExplicitNumberFormatKeyForAxis(
, const rtl::Reference<ChartModel>& xChartDoc
, bool bSearchForParallelAxisIfNothingIsFound )
{
rtl::Reference< Axis > pAxis = dynamic_cast<Axis*>(xAxis.get());
assert(pAxis || !xAxis);
return getExplicitNumberFormatKeyForAxis(pAxis, xCorrespondingCoordinateSystem, xChartDoc, bSearchForParallelAxisIfNothingIsFound);
}
sal_Int32 AxisHelper::getExplicitNumberFormatKeyForAxis(
const rtl::Reference< Axis >& xAxis
, const rtl::Reference< BaseCoordinateSystem > & xCorrespondingCoordinateSystem
, const rtl::Reference<ChartModel>& xChartDoc
, bool bSearchForParallelAxisIfNothingIsFound )
{
sal_Int32 nNumberFormatKey(0);
sal_Int32 nAxisIndex = 0;
sal_Int32 nDimensionIndex = 1;
AxisHelper::getIndicesForAxis( xAxis, xCorrespondingCoordinateSystem, nDimensionIndex, nAxisIndex );
Reference< beans::XPropertySet > xProp( xAxis, uno::UNO_QUERY );
if (!xProp.is())
if (!xAxis.is())
return 0;
bool bLinkToSource = true;
xProp->getPropertyValue(CHART_UNONAME_LINK_TO_SRC_NUMFMT) >>= bLinkToSource;
xProp->getPropertyValue(CHART_UNONAME_NUMFMT) >>= nNumberFormatKey;
xAxis->getPropertyValue(CHART_UNONAME_LINK_TO_SRC_NUMFMT) >>= bLinkToSource;
xAxis->getPropertyValue(CHART_UNONAME_NUMFMT) >>= nNumberFormatKey;
if (bLinkToSource)
{
@@ -309,7 +327,7 @@ sal_Int32 AxisHelper::getExplicitNumberFormatKeyForAxis(
if( !bNumberFormatKeyFoundViaAttachedData && nDimensionIndex == 1 )
{
sal_Int32 nParallelAxisIndex = (nAxisIndex==1) ?0 :1;
Reference< XAxis > xParallelAxis( AxisHelper::getAxis( 1, nParallelAxisIndex, xCorrespondingCoordinateSystem ) );
rtl::Reference< Axis > xParallelAxis = AxisHelper::getAxis( 1, nParallelAxisIndex, xCorrespondingCoordinateSystem );
nNumberFormatKey = AxisHelper::getExplicitNumberFormatKeyForAxis(xParallelAxis, xCorrespondingCoordinateSystem, xChartDoc, false);
}
}
@@ -319,7 +337,7 @@ sal_Int32 AxisHelper::getExplicitNumberFormatKeyForAxis(
return nNumberFormatKey;
}
Reference< XAxis > AxisHelper::createAxis(
rtl::Reference< Axis > AxisHelper::createAxis(
sal_Int32 nDimensionIndex
, sal_Int32 nAxisIndex // 0==main or 1==secondary axis
, const rtl::Reference< BaseCoordinateSystem >& xCooSys
@@ -331,64 +349,52 @@ Reference< XAxis > AxisHelper::createAxis(
if( nDimensionIndex >= xCooSys->getDimension() )
return nullptr;
Reference< XAxis > xAxis( xContext->getServiceManager()->createInstanceWithContext(
"com.sun.star.chart2.Axis", xContext ), uno::UNO_QUERY );
rtl::Reference< Axis > xAxis = new Axis();
OSL_ASSERT( xAxis.is());
if( xAxis.is())
xCooSys->setAxisByDimension( nDimensionIndex, xAxis, nAxisIndex );
if( nAxisIndex>0 )//when inserting secondary axes copy some things from the main axis
{
xCooSys->setAxisByDimension( nDimensionIndex, xAxis, nAxisIndex );
css::chart::ChartAxisPosition eNewAxisPos( css::chart::ChartAxisPosition_END );
if( nAxisIndex>0 )//when inserting secondary axes copy some things from the main axis
rtl::Reference< Axis > xMainAxis = xCooSys->getAxisByDimension2( nDimensionIndex, 0 );
if( xMainAxis.is() )
{
css::chart::ChartAxisPosition eNewAxisPos( css::chart::ChartAxisPosition_END );
ScaleData aScale = xAxis->getScaleData();
ScaleData aMainScale = xMainAxis->getScaleData();
Reference< XAxis > xMainAxis( xCooSys->getAxisByDimension( nDimensionIndex, 0 ) );
if( xMainAxis.is() )
{
ScaleData aScale = xAxis->getScaleData();
ScaleData aMainScale = xMainAxis->getScaleData();
aScale.AxisType = aMainScale.AxisType;
aScale.AutoDateAxis = aMainScale.AutoDateAxis;
aScale.Categories = aMainScale.Categories;
aScale.Orientation = aMainScale.Orientation;
aScale.ShiftedCategoryPosition = aMainScale.ShiftedCategoryPosition;
aScale.AxisType = aMainScale.AxisType;
aScale.AutoDateAxis = aMainScale.AutoDateAxis;
aScale.Categories = aMainScale.Categories;
aScale.Orientation = aMainScale.Orientation;
aScale.ShiftedCategoryPosition = aMainScale.ShiftedCategoryPosition;
xAxis->setScaleData( aScale );
xAxis->setScaleData( aScale );
//ensure that the second axis is not placed on the main axis
Reference< beans::XPropertySet > xMainProp( xMainAxis, uno::UNO_QUERY );
if( xMainProp.is() )
{
css::chart::ChartAxisPosition eMainAxisPos( css::chart::ChartAxisPosition_ZERO );
xMainProp->getPropertyValue("CrossoverPosition") >>= eMainAxisPos;
if( eMainAxisPos == css::chart::ChartAxisPosition_END )
eNewAxisPos = css::chart::ChartAxisPosition_START;
}
}
Reference< beans::XPropertySet > xProp( xAxis, uno::UNO_QUERY );
if( xProp.is() )
xProp->setPropertyValue("CrossoverPosition", uno::Any(eNewAxisPos) );
//ensure that the second axis is not placed on the main axis
css::chart::ChartAxisPosition eMainAxisPos( css::chart::ChartAxisPosition_ZERO );
xMainAxis->getPropertyValue("CrossoverPosition") >>= eMainAxisPos;
if( eMainAxisPos == css::chart::ChartAxisPosition_END )
eNewAxisPos = css::chart::ChartAxisPosition_START;
}
Reference< beans::XPropertySet > xProp( xAxis, uno::UNO_QUERY );
if( xProp.is() ) try
{
// set correct initial AutoScale
if( pRefSizeProvider )
pRefSizeProvider->setValuesAtPropertySet( xProp );
}
catch( const uno::Exception& )
{
TOOLS_WARN_EXCEPTION("chart2", "" );
}
xAxis->setPropertyValue("CrossoverPosition", uno::Any(eNewAxisPos) );
}
try
{
// set correct initial AutoScale
if( pRefSizeProvider )
pRefSizeProvider->setValuesAtPropertySet( xAxis );
}
catch( const uno::Exception& )
{
TOOLS_WARN_EXCEPTION("chart2", "" );
}
return xAxis;
}
Reference< XAxis > AxisHelper::createAxis( sal_Int32 nDimensionIndex, bool bMainAxis
rtl::Reference< Axis > AxisHelper::createAxis( sal_Int32 nDimensionIndex, bool bMainAxis
, const rtl::Reference< Diagram >& xDiagram
, const Reference< uno::XComponentContext >& xContext
, ReferenceSizeProvider * pRefSizeProvider )
@@ -414,12 +420,12 @@ void AxisHelper::showAxis( sal_Int32 nDimensionIndex, bool bMainAxis
return;
bool bNewAxisCreated = false;
Reference< XAxis > xAxis( AxisHelper::getAxis( nDimensionIndex, bMainAxis, xDiagram ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( nDimensionIndex, bMainAxis, xDiagram );
if( !xAxis.is() && xContext.is() )
{
// create axis
bNewAxisCreated = true;
xAxis.set( AxisHelper::createAxis( nDimensionIndex, bMainAxis, xDiagram, xContext, pRefSizeProvider ) );
xAxis = AxisHelper::createAxis( nDimensionIndex, bMainAxis, xDiagram, xContext, pRefSizeProvider );
}
OSL_ASSERT( xAxis.is());
@@ -437,7 +443,7 @@ void AxisHelper::showGrid( sal_Int32 nDimensionIndex, sal_Int32 nCooSysIndex, bo
if(!xCooSys.is())
return;
Reference< XAxis > xAxis( AxisHelper::getAxis( nDimensionIndex, MAIN_AXIS_INDEX, xCooSys ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( nDimensionIndex, MAIN_AXIS_INDEX, xCooSys );
if(!xAxis.is())
{
//hhhh todo create axis without axis visibility
@@ -466,6 +472,16 @@ void AxisHelper::makeAxisVisible( const Reference< XAxis >& xAxis )
}
}
void AxisHelper::makeAxisVisible( const rtl::Reference< Axis >& xAxis )
{
if( xAxis.is() )
{
xAxis->setPropertyValue( "Show", uno::Any( true ) );
LinePropertiesHelper::SetLineVisible( xAxis );
xAxis->setPropertyValue( "DisplayLabels", uno::Any( true ) );
}
}
void AxisHelper::makeGridVisible( const Reference< beans::XPropertySet >& xGridProperties )
{
if( xGridProperties.is() )
@@ -490,14 +506,29 @@ void AxisHelper::makeAxisInvisible( const Reference< XAxis >& xAxis )
}
}
void AxisHelper::makeAxisInvisible( const rtl::Reference< Axis >& xAxis )
{
if( xAxis.is() )
{
xAxis->setPropertyValue( "Show", uno::Any( false ) );
}
}
void AxisHelper::hideAxisIfNoDataIsAttached( const Reference< XAxis >& xAxis, const rtl::Reference< Diagram >& xDiagram )
{
rtl::Reference< Axis > pAxis = dynamic_cast<Axis*>(xAxis.get());
assert(pAxis || !xAxis);
hideAxisIfNoDataIsAttached(pAxis, xDiagram);
}
void AxisHelper::hideAxisIfNoDataIsAttached( const rtl::Reference< Axis >& xAxis, const rtl::Reference< Diagram >& xDiagram )
{
//axis is hidden if no data is attached anymore but data is available
bool bOtherSeriesAttachedToThisAxis = false;
std::vector< rtl::Reference< DataSeries > > aSeriesVector = DiagramHelper::getDataSeriesFromDiagram( xDiagram );
for (auto const& series : aSeriesVector)
{
uno::Reference< chart2::XAxis > xCurrentAxis = DiagramHelper::getAttachedAxis(series, xDiagram );
rtl::Reference< Axis > xCurrentAxis = DiagramHelper::getAttachedAxis(series, xDiagram );
if( xCurrentAxis==xAxis )
{
bOtherSeriesAttachedToThisAxis = true;
@@ -518,7 +549,7 @@ void AxisHelper::hideGrid( sal_Int32 nDimensionIndex, sal_Int32 nCooSysIndex, bo
if(!xCooSys.is())
return;
Reference< XAxis > xAxis( AxisHelper::getAxis( nDimensionIndex, MAIN_AXIS_INDEX, xCooSys ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( nDimensionIndex, MAIN_AXIS_INDEX, xCooSys );
if(!xAxis.is())
return;
@@ -549,7 +580,7 @@ bool AxisHelper::isGridShown( sal_Int32 nDimensionIndex, sal_Int32 nCooSysIndex,
if(!xCooSys.is())
return bRet;
Reference< XAxis > xAxis( AxisHelper::getAxis( nDimensionIndex, MAIN_AXIS_INDEX, xCooSys ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( nDimensionIndex, MAIN_AXIS_INDEX, xCooSys );
if(!xAxis.is())
return bRet;
@@ -576,14 +607,14 @@ rtl::Reference< ::chart::BaseCoordinateSystem > AxisHelper::getCoordinateSystemB
return nullptr;
}
Reference< XAxis > AxisHelper::getAxis( sal_Int32 nDimensionIndex, bool bMainAxis
rtl::Reference< Axis > AxisHelper::getAxis( sal_Int32 nDimensionIndex, bool bMainAxis
, const rtl::Reference< Diagram >& xDiagram )
{
Reference< XAxis > xRet;
rtl::Reference< Axis > xRet;
try
{
rtl::Reference< BaseCoordinateSystem > xCooSys = AxisHelper::getCoordinateSystemByIndex( xDiagram, 0 );
xRet.set( AxisHelper::getAxis( nDimensionIndex, bMainAxis ? 0 : 1, xCooSys ) );
xRet = AxisHelper::getAxis( nDimensionIndex, bMainAxis ? 0 : 1, xCooSys );
}
catch( const uno::Exception & )
{
@@ -591,10 +622,10 @@ Reference< XAxis > AxisHelper::getAxis( sal_Int32 nDimensionIndex, bool bMainAxi
return xRet;
}
Reference< XAxis > AxisHelper::getAxis( sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex
rtl::Reference< Axis > AxisHelper::getAxis( sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex
, const rtl::Reference< BaseCoordinateSystem >& xCooSys )
{
Reference< XAxis > xRet;
rtl::Reference< Axis > xRet;
if(!xCooSys.is())
return xRet;
@@ -606,11 +637,19 @@ Reference< XAxis > AxisHelper::getAxis( sal_Int32 nDimensionIndex, sal_Int32 nAx
assert(nAxisIndex >= 0);
assert(nDimensionIndex >= 0);
xRet.set( xCooSys->getAxisByDimension( nDimensionIndex, nAxisIndex ) );
xRet = xCooSys->getAxisByDimension2( nDimensionIndex, nAxisIndex );
return xRet;
}
Reference< XAxis > AxisHelper::getCrossingMainAxis( const Reference< XAxis >& xAxis
rtl::Reference< Axis > AxisHelper::getCrossingMainAxis( const Reference< chart2::XAxis >& xAxis
, const rtl::Reference< BaseCoordinateSystem >& xCooSys )
{
rtl::Reference< Axis > pAxis = dynamic_cast<Axis*>(xAxis.get());
assert(pAxis || !xAxis);
return getCrossingMainAxis(pAxis, xCooSys);
}
rtl::Reference< Axis > AxisHelper::getCrossingMainAxis( const rtl::Reference< Axis >& xAxis
, const rtl::Reference< BaseCoordinateSystem >& xCooSys )
{
sal_Int32 nDimensionIndex = 0;
@@ -630,7 +669,7 @@ Reference< XAxis > AxisHelper::getCrossingMainAxis( const Reference< XAxis >& xA
return AxisHelper::getAxis( nDimensionIndex, 0, xCooSys );
}
Reference< XAxis > AxisHelper::getParallelAxis( const Reference< XAxis >& xAxis
rtl::Reference< Axis > AxisHelper::getParallelAxis( const Reference< XAxis >& xAxis
, const rtl::Reference< Diagram >& xDiagram )
{
try
@@ -700,7 +739,7 @@ Reference< beans::XPropertySet > AxisHelper::getGridProperties(
{
Reference< beans::XPropertySet > xRet;
Reference< XAxis > xAxis( AxisHelper::getAxis( nDimensionIndex, nAxisIndex, xCooSys ) );
rtl::Reference< Axis > xAxis( AxisHelper::getAxis( nDimensionIndex, nAxisIndex, xCooSys ) );
if( xAxis.is() )
{
if( nSubGridIndex<0 )
@@ -727,8 +766,29 @@ sal_Int32 AxisHelper::getDimensionIndexOfAxis(
return nDimensionIndex;
}
sal_Int32 AxisHelper::getDimensionIndexOfAxis(
const rtl::Reference< Axis >& xAxis
, const rtl::Reference< Diagram >& xDiagram )
{
sal_Int32 nDimensionIndex = -1;
sal_Int32 nCooSysIndex = -1;
sal_Int32 nAxisIndex = -1;
AxisHelper::getIndicesForAxis( xAxis, xDiagram, nCooSysIndex , nDimensionIndex, nAxisIndex );
return nDimensionIndex;
}
bool AxisHelper::getIndicesForAxis(
const Reference< XAxis >& xAxis
const Reference< chart2::XAxis >& xAxis
, const rtl::Reference< BaseCoordinateSystem >& xCooSys
, sal_Int32& rOutDimensionIndex, sal_Int32& rOutAxisIndex )
{
rtl::Reference< Axis > pAxis = dynamic_cast<Axis*>(xAxis.get());
assert(pAxis || !xAxis);
return getIndicesForAxis(pAxis, xCooSys, rOutDimensionIndex, rOutAxisIndex);
}
bool AxisHelper::getIndicesForAxis(
const rtl::Reference< Axis >& xAxis
, const rtl::Reference< BaseCoordinateSystem >& xCooSys
, sal_Int32& rOutDimensionIndex, sal_Int32& rOutAxisIndex )
{
@@ -740,14 +800,14 @@ bool AxisHelper::getIndicesForAxis(
if( !xCooSys || !xAxis )
return false;
Reference< XAxis > xCurrentAxis;
rtl::Reference< Axis > xCurrentAxis;
sal_Int32 nDimensionCount( xCooSys->getDimension() );
for( sal_Int32 nDimensionIndex = 0; nDimensionIndex < nDimensionCount; nDimensionIndex++ )
{
sal_Int32 nMaxAxisIndex = xCooSys->getMaximumAxisIndexByDimension(nDimensionIndex);
for( sal_Int32 nAxisIndex = 0; nAxisIndex <= nMaxAxisIndex; nAxisIndex++ )
{
xCurrentAxis = xCooSys->getAxisByDimension(nDimensionIndex,nAxisIndex);
xCurrentAxis = xCooSys->getAxisByDimension2(nDimensionIndex,nAxisIndex);
if( xCurrentAxis == xAxis )
{
rOutDimensionIndex = nDimensionIndex;
@@ -759,7 +819,15 @@ bool AxisHelper::getIndicesForAxis(
return false;
}
bool AxisHelper::getIndicesForAxis( const Reference< XAxis >& xAxis, const rtl::Reference< Diagram >& xDiagram
bool AxisHelper::getIndicesForAxis( const Reference< chart2::XAxis >& xAxis, const rtl::Reference< Diagram >& xDiagram
, sal_Int32& rOutCooSysIndex, sal_Int32& rOutDimensionIndex, sal_Int32& rOutAxisIndex )
{
rtl::Reference< Axis > pAxis = dynamic_cast<Axis*>(xAxis.get());
assert(pAxis || !xAxis);
return getIndicesForAxis(pAxis, xDiagram, rOutCooSysIndex, rOutDimensionIndex, rOutAxisIndex);
}
bool AxisHelper::getIndicesForAxis( const rtl::Reference< Axis >& xAxis, const rtl::Reference< Diagram >& xDiagram
, sal_Int32& rOutCooSysIndex, sal_Int32& rOutDimensionIndex, sal_Int32& rOutAxisIndex )
{
//returns true if indices are found
@@ -781,11 +849,11 @@ bool AxisHelper::getIndicesForAxis( const Reference< XAxis >& xAxis, const rtl::
return false;
}
std::vector< Reference< XAxis > > AxisHelper::getAllAxesOfCoordinateSystem(
std::vector< rtl::Reference< Axis > > AxisHelper::getAllAxesOfCoordinateSystem(
const rtl::Reference< BaseCoordinateSystem >& xCooSys
, bool bOnlyVisible /* = false */ )
{
std::vector< Reference< XAxis > > aAxisVector;
std::vector< rtl::Reference< Axis > > aAxisVector;
if(xCooSys.is())
{
@@ -800,15 +868,13 @@ std::vector< Reference< XAxis > > AxisHelper::getAllAxesOfCoordinateSystem(
{
try
{
Reference< XAxis > xAxis( xCooSys->getAxisByDimension( nDimensionIndex, nAxisIndex ) );
rtl::Reference< Axis > xAxis = xCooSys->getAxisByDimension2( nDimensionIndex, nAxisIndex );
if( xAxis.is() )
{
bool bAddAxis = true;
if( bOnlyVisible )
{
Reference< beans::XPropertySet > xAxisProp( xAxis, uno::UNO_QUERY );
if( !xAxisProp.is() ||
!(xAxisProp->getPropertyValue( "Show") >>= bAddAxis) )
if( !(xAxis->getPropertyValue( "Show") >>= bAddAxis) )
bAddAxis = false;
}
if( bAddAxis )
@@ -827,30 +893,28 @@ std::vector< Reference< XAxis > > AxisHelper::getAllAxesOfCoordinateSystem(
return aAxisVector;
}
Sequence< Reference< XAxis > > AxisHelper::getAllAxesOfDiagram(
std::vector< rtl::Reference< Axis > > AxisHelper::getAllAxesOfDiagram(
const rtl::Reference< Diagram >& xDiagram
, bool bOnlyVisible )
{
std::vector< Reference< XAxis > > aAxisVector;
std::vector< rtl::Reference< Axis > > aAxisVector;
for( rtl::Reference< BaseCoordinateSystem > const & coords : xDiagram->getBaseCoordinateSystems() )
{
std::vector< Reference< XAxis > > aAxesPerCooSys( AxisHelper::getAllAxesOfCoordinateSystem( coords, bOnlyVisible ) );
std::vector< rtl::Reference< Axis > > aAxesPerCooSys = AxisHelper::getAllAxesOfCoordinateSystem( coords, bOnlyVisible );
aAxisVector.insert( aAxisVector.end(), aAxesPerCooSys.begin(), aAxesPerCooSys.end() );
}
return comphelper::containerToSequence( aAxisVector );
return aAxisVector;
}
Sequence< Reference< beans::XPropertySet > > AxisHelper::getAllGrids( const rtl::Reference< Diagram >& xDiagram )
{
const Sequence< Reference< XAxis > > aAllAxes( AxisHelper::getAllAxesOfDiagram( xDiagram ) );
const std::vector< rtl::Reference< Axis > > aAllAxes = AxisHelper::getAllAxesOfDiagram( xDiagram );
std::vector< Reference< beans::XPropertySet > > aGridVector;
for( Reference< XAxis > const & xAxis : aAllAxes )
for( rtl::Reference< Axis > const & xAxis : aAllAxes )
{
if(!xAxis.is())
continue;
Reference< beans::XPropertySet > xGridProperties( xAxis->getGridProperties() );
if( xGridProperties.is() )
aGridVector.push_back( xGridProperties );
@@ -934,6 +998,31 @@ bool AxisHelper::shouldAxisBeDisplayed( const Reference< XAxis >& xAxis
return bRet;
}
bool AxisHelper::shouldAxisBeDisplayed( const rtl::Reference< Axis >& xAxis
, const rtl::Reference< BaseCoordinateSystem >& xCooSys )
{
bool bRet = false;
if( xAxis.is() && xCooSys.is() )
{
sal_Int32 nDimensionIndex=-1;
sal_Int32 nAxisIndex=-1;
if( AxisHelper::getIndicesForAxis( xAxis, xCooSys, nDimensionIndex, nAxisIndex ) )
{
sal_Int32 nDimensionCount = xCooSys->getDimension();
rtl::Reference< ChartType > xChartType( AxisHelper::getChartTypeByIndex( xCooSys, 0 ) );
bool bMainAxis = (nAxisIndex==MAIN_AXIS_INDEX);
if( bMainAxis )
bRet = ChartTypeHelper::isSupportingMainAxis(xChartType,nDimensionCount,nDimensionIndex);
else
bRet = ChartTypeHelper::isSupportingSecondaryAxis(xChartType,nDimensionCount);
}
}
return bRet;
}
void AxisHelper::getAxisOrGridExistence( Sequence< sal_Bool >& rExistenceList
, const rtl::Reference< Diagram>& xDiagram, bool bAxis )
{
@@ -1005,16 +1094,24 @@ rtl::Reference< BaseCoordinateSystem > AxisHelper::getCoordinateSystemOfAxis(
const Reference< XAxis >& xAxis
, const rtl::Reference< Diagram >& xDiagram )
{
rtl::Reference< Axis > pAxis = dynamic_cast<Axis*>(xAxis.get());
assert(pAxis || !xAxis);
return getCoordinateSystemOfAxis(pAxis, xDiagram);
}
rtl::Reference< BaseCoordinateSystem > AxisHelper::getCoordinateSystemOfAxis(
const rtl::Reference< Axis >& xAxis
, const rtl::Reference< Diagram >& xDiagram )
{
if (!xDiagram)
return nullptr;
rtl::Reference< BaseCoordinateSystem > xRet;
for( rtl::Reference< BaseCoordinateSystem > const & xCooSys : xDiagram->getBaseCoordinateSystems() )
{
std::vector< Reference< XAxis > > aAllAxis( AxisHelper::getAllAxesOfCoordinateSystem( xCooSys ) );
std::vector< rtl::Reference< Axis > > aAllAxis = AxisHelper::getAllAxesOfCoordinateSystem( xCooSys );
std::vector< Reference< XAxis > >::iterator aFound =
std::find( aAllAxis.begin(), aAllAxis.end(), xAxis );
auto aFound = std::find( aAllAxis.begin(), aAllAxis.end(), xAxis );
if( aFound != aAllAxis.end())
{
xRet = xCooSys;
diff --git a/chart2/source/tools/DataSeriesHelper.cxx b/chart2/source/tools/DataSeriesHelper.cxx
index 964f2f0..830a94d 100644
--- a/chart2/source/tools/DataSeriesHelper.cxx
+++ b/chart2/source/tools/DataSeriesHelper.cxx
@@ -25,6 +25,7 @@
#include <Diagram.hxx>
#include <BaseCoordinateSystem.hxx>
#include <LabeledDataSequence.hxx>
#include <Axis.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/chart2/DataPointLabel.hpp>
@@ -503,8 +504,8 @@ void setStackModeAtSeries(
for (auto const& axisIndex : aAxisIndexSet)
{
Reference< chart2::XAxis > xAxis(
xCorrespondingCoordinateSystem->getAxisByDimension(1, axisIndex));
rtl::Reference< Axis > xAxis =
xCorrespondingCoordinateSystem->getAxisByDimension2(1, axisIndex);
if( xAxis.is())
{
bool bPercent = (eStackMode == StackMode::YStackedPercent);
@@ -551,8 +552,8 @@ sal_Int32 getNumberFormatKeyFromAxis(
nAxisIndex = getAttachedAxisIndex( xSeries );
try
{
Reference< beans::XPropertySet > xAxisProp(
xCorrespondingCoordinateSystem->getAxisByDimension( nDimensionIndex, nAxisIndex ), uno::UNO_QUERY );
rtl::Reference< Axis > xAxisProp =
xCorrespondingCoordinateSystem->getAxisByDimension2( nDimensionIndex, nAxisIndex );
if( xAxisProp.is())
xAxisProp->getPropertyValue(CHART_UNONAME_NUMFMT) >>= nResult;
}
diff --git a/chart2/source/tools/DiagramHelper.cxx b/chart2/source/tools/DiagramHelper.cxx
index a20c8bbd..c45bb92 100644
--- a/chart2/source/tools/DiagramHelper.cxx
+++ b/chart2/source/tools/DiagramHelper.cxx
@@ -21,6 +21,7 @@
#include <Diagram.hxx>
#include <DataSeries.hxx>
#include <DataSeriesHelper.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <ChartType.hxx>
#include <ChartTypeHelper.hxx>
@@ -145,7 +146,7 @@ void DiagramHelper::setVertical(
const sal_Int32 nMaximumScaleIndex = xCooSys->getMaximumAxisIndexByDimension(nDimIndex);
for (sal_Int32 nI = 0; nI <= nMaximumScaleIndex; ++nI)
{
Reference<chart2::XAxis> xAxis = xCooSys->getAxisByDimension(nDimIndex,nI);
rtl::Reference<Axis> xAxis = xCooSys->getAxisByDimension2(nDimIndex,nI);
if (!xAxis.is())
continue;
@@ -153,11 +154,7 @@ void DiagramHelper::setVertical(
if (!bChanged)
continue;
Reference< XTitled > xTitled( xAxis, uno::UNO_QUERY );
if (!xTitled.is())
continue;
Reference< beans::XPropertySet > xTitleProps( xTitled->getTitleObject(), uno::UNO_QUERY );
Reference< beans::XPropertySet > xTitleProps( xAxis->getTitleObject(), uno::UNO_QUERY );
if (!xTitleProps.is())
continue;
@@ -247,7 +244,7 @@ void DiagramHelper::setStackMode(
const sal_Int32 nMaximumScaleIndex = xCooSys->getMaximumAxisIndexByDimension(1);
for(sal_Int32 nI=0; nI<=nMaximumScaleIndex; ++nI)
{
Reference< chart2::XAxis > xAxis( xCooSys->getAxisByDimension( 1,nI ));
rtl::Reference< Axis > xAxis = xCooSys->getAxisByDimension2( 1,nI );
if( xAxis.is())
{
chart2::ScaleData aScaleData = xAxis->getScaleData();
@@ -379,8 +376,8 @@ StackMode DiagramHelper::getStackModeFromChartType(
if( nSeriesCount )
nAxisIndex = DataSeriesHelper::getAttachedAxisIndex(aSeries[0]);
Reference< chart2::XAxis > xAxis(
xCorrespondingCoordinateSystem->getAxisByDimension( 1,nAxisIndex ));
rtl::Reference< Axis > xAxis =
xCorrespondingCoordinateSystem->getAxisByDimension2( 1,nAxisIndex );
if( xAxis.is())
{
chart2::ScaleData aScaleData = xAxis->getScaleData();
@@ -547,7 +544,7 @@ bool DiagramHelper::attachSeriesToAxis( bool bAttachToMainAxis
if( bChanged && xDiagram.is() )
{
uno::Reference< XAxis > xAxis( AxisHelper::getAxis( 1, bAttachToMainAxis, xDiagram ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( 1, bAttachToMainAxis, xDiagram );
if(!xAxis.is()) //create an axis if necessary
xAxis = AxisHelper::createAxis( 1, bAttachToMainAxis, xDiagram, xContext );
if( bAdaptAxes )
@@ -560,14 +557,14 @@ bool DiagramHelper::attachSeriesToAxis( bool bAttachToMainAxis
return bChanged;
}
uno::Reference< XAxis > DiagramHelper::getAttachedAxis(
rtl::Reference< Axis > DiagramHelper::getAttachedAxis(
const uno::Reference< XDataSeries >& xSeries,
const rtl::Reference< Diagram >& xDiagram )
{
return AxisHelper::getAxis( 1, DiagramHelper::isSeriesAttachedToMainAxis( xSeries ), xDiagram );
}
uno::Reference< XAxis > DiagramHelper::getAttachedAxis(
rtl::Reference< Axis > DiagramHelper::getAttachedAxis(
const rtl::Reference< DataSeries >& xSeries,
const rtl::Reference< Diagram >& xDiagram )
{
@@ -697,7 +694,7 @@ std::vector< Reference< XAxis > > lcl_getAxisHoldingCategoriesFromDiagram(
const sal_Int32 nMaximumScaleIndex = xCooSys->getMaximumAxisIndexByDimension(nN);
for(sal_Int32 nI=0; nI<=nMaximumScaleIndex; ++nI)
{
Reference< XAxis > xAxis = xCooSys->getAxisByDimension( nN,nI );
rtl::Reference< Axis > xAxis = xCooSys->getAxisByDimension2( nN,nI );
OSL_ASSERT( xAxis.is());
if( xAxis.is())
{
@@ -738,7 +735,7 @@ bool DiagramHelper::isCategoryDiagram(
const sal_Int32 nMaximumScaleIndex = xCooSys->getMaximumAxisIndexByDimension(nN);
for(sal_Int32 nI=0; nI<=nMaximumScaleIndex; ++nI)
{
Reference< XAxis > xAxis = xCooSys->getAxisByDimension( nN,nI );
rtl::Reference< Axis > xAxis = xCooSys->getAxisByDimension2( nN,nI );
OSL_ASSERT( xAxis.is());
if( xAxis.is())
{
@@ -1009,10 +1006,10 @@ void DiagramHelper::switchToDateCategories( const rtl::Reference<::chart::ChartM
{
ControllerLockGuardUNO aCtrlLockGuard( xChartDoc );
Reference< chart2::XCoordinateSystem > xCooSys( ChartModelHelper::getFirstCoordinateSystem( xChartDoc ) );
rtl::Reference< BaseCoordinateSystem > xCooSys = ChartModelHelper::getFirstCoordinateSystem( xChartDoc );
if( xCooSys.is() )
{
Reference< XAxis > xAxis( xCooSys->getAxisByDimension(0,0) );
rtl::Reference< Axis > xAxis = xCooSys->getAxisByDimension2(0,0);
lcl_switchToDateCategories( xChartDoc, xAxis );
}
}
@@ -1024,10 +1021,10 @@ void DiagramHelper::switchToTextCategories( const rtl::Reference<::chart::ChartM
{
ControllerLockGuardUNO aCtrlLockGuard( xChartDoc );
Reference< chart2::XCoordinateSystem > xCooSys( ChartModelHelper::getFirstCoordinateSystem( xChartDoc ) );
rtl::Reference< BaseCoordinateSystem > xCooSys = ChartModelHelper::getFirstCoordinateSystem( xChartDoc );
if( xCooSys.is() )
{
Reference< XAxis > xAxis( xCooSys->getAxisByDimension(0,0) );
rtl::Reference< Axis > xAxis = xCooSys->getAxisByDimension2(0,0);
lcl_switchToTextCategories( xChartDoc, xAxis );
}
}
diff --git a/chart2/source/tools/ExplicitCategoriesProvider.cxx b/chart2/source/tools/ExplicitCategoriesProvider.cxx
index b388ed0..9def633 100644
--- a/chart2/source/tools/ExplicitCategoriesProvider.cxx
+++ b/chart2/source/tools/ExplicitCategoriesProvider.cxx
@@ -21,6 +21,7 @@
#include <DiagramHelper.hxx>
#include <ChartType.hxx>
#include <ChartTypeHelper.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <DataSourceHelper.hxx>
#include <ChartModel.hxx>
@@ -61,7 +62,7 @@ ExplicitCategoriesProvider::ExplicitCategoriesProvider( const rtl::Reference< Ba
if( xCooSysModel.is() )
{
// TODO: handle different category names on the primary and secondary category axis.
uno::Reference< XAxis > xAxis( xCooSysModel->getAxisByDimension(0,0) );
rtl::Reference< Axis > xAxis = xCooSysModel->getAxisByDimension2(0,0);
if( xAxis.is() )
{
ScaleData aScale( xAxis->getScaleData() );
@@ -180,7 +181,7 @@ void ExplicitCategoriesProvider::convertCategoryAnysToText( uno::Sequence< OUStr
rtl::Reference< BaseCoordinateSystem > xCooSysModel( ChartModelHelper::getFirstCoordinateSystem( &rModel ) );
if( xCooSysModel.is() )
{
Reference< chart2::XAxis > xAxis( xCooSysModel->getAxisByDimension(0,0) );
rtl::Reference< Axis > xAxis = xCooSysModel->getAxisByDimension2(0,0);
nAxisNumberFormat = AxisHelper::getExplicitNumberFormatKeyForAxis(
xAxis, xCooSysModel, &rModel, false );
}
@@ -408,13 +409,13 @@ static bool lcl_fillDateCategories( const uno::Reference< data::XDataSequence >&
bool bOwnData = false;
bool bOwnDataAnddAxisHasAnyFormat = false;
bool bOwnDataAnddAxisHasDateFormat = false;
Reference< XCoordinateSystem > xCooSysModel( ChartModelHelper::getFirstCoordinateSystem( &rModel ) );
rtl::Reference< BaseCoordinateSystem > xCooSysModel( ChartModelHelper::getFirstCoordinateSystem( &rModel ) );
if( xCooSysModel.is() )
{
if( rModel.hasInternalDataProvider() )
{
bOwnData = true;
Reference< beans::XPropertySet > xAxisProps( xCooSysModel->getAxisByDimension(0,0), uno::UNO_QUERY );
rtl::Reference< Axis > xAxisProps = xCooSysModel->getAxisByDimension2(0,0);
sal_Int32 nAxisNumberFormat = 0;
if (xAxisProps.is() && (xAxisProps->getPropertyValue(CHART_UNONAME_NUMFMT) >>= nAxisNumberFormat))
{
diff --git a/chart2/source/tools/ObjectIdentifier.cxx b/chart2/source/tools/ObjectIdentifier.cxx
index 6ac8102..a34c3a3 100644
--- a/chart2/source/tools/ObjectIdentifier.cxx
+++ b/chart2/source/tools/ObjectIdentifier.cxx
@@ -26,6 +26,7 @@
#include <ChartModel.hxx>
#include <ChartModelHelper.hxx>
#include <ChartType.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <servicenames_charttypes.hxx>
#include <DiagramHelper.hxx>
@@ -395,6 +396,34 @@ OUString ObjectIdentifier::createClassifiedIdentifierForObject(
return OUString();
}
OUString ObjectIdentifier::createClassifiedIdentifierForObject(
const rtl::Reference<::chart::Axis>& xAxis
, const rtl::Reference<::chart::ChartModel>& xChartModel )
{
try
{
//axis
if( xAxis.is() )
{
rtl::Reference< BaseCoordinateSystem > xCooSys( AxisHelper::getCoordinateSystemOfAxis( xAxis, ChartModelHelper::findDiagram( xChartModel ) ) );
OUString aCooSysParticle( createParticleForCoordinateSystem( xCooSys, xChartModel ) );
sal_Int32 nDimensionIndex=-1;
sal_Int32 nAxisIndex=-1;
AxisHelper::getIndicesForAxis( xAxis, xCooSys, nDimensionIndex, nAxisIndex );
OUString aAxisParticle( createParticleForAxis( nDimensionIndex, nAxisIndex ) );
return createClassifiedIdentifierForParticles( aCooSysParticle, aAxisParticle );
}
}
catch(const uno::Exception&)
{
DBG_UNHANDLED_EXCEPTION("chart2");
}
OSL_FAIL("give object could not be identified in createClassifiedIdentifierForObject");
return OUString();
}
OUString ObjectIdentifier::createClassifiedIdentifierForParticle(
const OUString& rParticle )
{
@@ -1108,10 +1137,10 @@ Reference< beans::XPropertySet > ObjectIdentifier::getObjectPropertySet(
sal_Int32 nAxisIndex = -1;
lcl_parseAxisIndices( nDimensionIndex, nAxisIndex, rObjectCID );
Reference< chart2::XAxis > xAxis(
AxisHelper::getAxis( nDimensionIndex, nAxisIndex, xCooSys ) );
rtl::Reference< Axis > xAxis =
AxisHelper::getAxis( nDimensionIndex, nAxisIndex, xCooSys );
if( xAxis.is() )
xObjectProperties.set( xAxis, uno::UNO_QUERY );
xObjectProperties = xAxis;
}
break;
case OBJECTTYPE_AXIS_UNITLABEL:
@@ -1226,7 +1255,7 @@ Reference< beans::XPropertySet > ObjectIdentifier::getObjectPropertySet(
return xObjectProperties;
}
Reference< XAxis > ObjectIdentifier::getAxisForCID(
rtl::Reference< Axis > ObjectIdentifier::getAxisForCID(
const OUString& rObjectCID
, const rtl::Reference<::chart::ChartModel>& xChartModel )
{
diff --git a/chart2/source/tools/ReferenceSizeProvider.cxx b/chart2/source/tools/ReferenceSizeProvider.cxx
index a8b35f0..0b99582 100644
--- a/chart2/source/tools/ReferenceSizeProvider.cxx
+++ b/chart2/source/tools/ReferenceSizeProvider.cxx
@@ -24,6 +24,7 @@
#include <DataSeries.hxx>
#include <DiagramHelper.hxx>
#include <Diagram.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <com/sun/star/chart2/XChartDocument.hpp>
#include <com/sun/star/chart2/XTitled.hpp>
@@ -245,19 +246,13 @@ ReferenceSizeProvider::AutoResizeState ReferenceSizeProvider::getAutoResizeState
return eResult;
// Axes (incl. Axis Titles)
const Sequence< Reference< XAxis > > aAxes( AxisHelper::getAllAxesOfDiagram( xDiagram ) );
for( Reference< XAxis > const & axis : aAxes )
const std::vector< rtl::Reference< Axis > > aAxes = AxisHelper::getAllAxesOfDiagram( xDiagram );
for( rtl::Reference< Axis > const & axis : aAxes )
{
Reference< beans::XPropertySet > xProp( axis, uno::UNO_QUERY );
if( xProp.is())
getAutoResizeFromPropSet( xProp, eResult );
Reference< XTitled > xTitled( axis, uno::UNO_QUERY );
if( xTitled.is())
{
impl_getAutoResizeFromTitled( xTitled, eResult );
if( eResult == AUTO_RESIZE_AMBIGUOUS )
return eResult;
}
getAutoResizeFromPropSet( axis, eResult );
impl_getAutoResizeFromTitled( axis, eResult );
if( eResult == AUTO_RESIZE_AMBIGUOUS )
return eResult;
}
// DataSeries/Points
@@ -323,13 +318,11 @@ void ReferenceSizeProvider::setAutoResizeState( ReferenceSizeProvider::AutoResiz
setValuesAtPropertySet( xLegendProp );
// Axes (incl. Axis Titles)
const Sequence< Reference< XAxis > > aAxes( AxisHelper::getAllAxesOfDiagram( xDiagram ) );
for( Reference< XAxis > const & axis : aAxes )
const std::vector< rtl::Reference< Axis > > aAxes = AxisHelper::getAllAxesOfDiagram( xDiagram );
for( rtl::Reference< Axis > const & axis : aAxes )
{
Reference< beans::XPropertySet > xProp( axis, uno::UNO_QUERY );
if( xProp.is())
setValuesAtPropertySet( xProp );
impl_setValuesAtTitled( Reference< XTitled >( axis, uno::UNO_QUERY ));
setValuesAtPropertySet( axis );
impl_setValuesAtTitled( axis );
}
// DataSeries/Points
diff --git a/chart2/source/tools/TitleHelper.cxx b/chart2/source/tools/TitleHelper.cxx
index 06ffe00..58d4d69 100644
--- a/chart2/source/tools/TitleHelper.cxx
+++ b/chart2/source/tools/TitleHelper.cxx
@@ -20,6 +20,7 @@
#include <TitleHelper.hxx>
#include <ChartModel.hxx>
#include <ChartModelHelper.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <DiagramHelper.hxx>
#include <Diagram.hxx>
@@ -65,23 +66,23 @@ uno::Reference< XTitled > lcl_getTitleParentFromDiagram(
break;
case TitleHelper::X_AXIS_TITLE:
if( xDiagram.is())
xResult.set( AxisHelper::getAxis( 0, true, xDiagram ), uno::UNO_QUERY );
xResult = AxisHelper::getAxis( 0, true, xDiagram );
break;
case TitleHelper::Y_AXIS_TITLE:
if( xDiagram.is())
xResult.set( AxisHelper::getAxis( 1, true, xDiagram ), uno::UNO_QUERY );
xResult = AxisHelper::getAxis( 1, true, xDiagram );
break;
case TitleHelper::Z_AXIS_TITLE:
if( xDiagram.is())
xResult.set( AxisHelper::getAxis( 2, true, xDiagram ), uno::UNO_QUERY );
xResult = AxisHelper::getAxis( 2, true, xDiagram );
break;
case TitleHelper::SECONDARY_X_AXIS_TITLE:
if( xDiagram.is())
xResult.set( AxisHelper::getAxis( 0, false, xDiagram ), uno::UNO_QUERY );
xResult = AxisHelper::getAxis( 0, false, xDiagram );
break;
case TitleHelper::SECONDARY_Y_AXIS_TITLE:
if( xDiagram.is())
xResult.set( AxisHelper::getAxis( 1, false, xDiagram ), uno::UNO_QUERY );
xResult = AxisHelper::getAxis( 1, false, xDiagram );
break;
case TitleHelper::MAIN_TITLE:
@@ -203,7 +204,7 @@ uno::Reference< XTitle > TitleHelper::createTitle(
if( !xTitled.is() )
{
rtl::Reference< Diagram > xDiagram( ChartModelHelper::findDiagram( xModel ) );
uno::Reference< chart2::XAxis > xAxis;
rtl::Reference< Axis > xAxis;
switch( eTitleType )
{
case TitleHelper::SECONDARY_X_AXIS_TITLE:
@@ -215,10 +216,9 @@ uno::Reference< XTitle > TitleHelper::createTitle(
default:
break;
}
uno::Reference< beans::XPropertySet > xProps( xAxis, uno::UNO_QUERY );
if( xProps.is() )
if( xAxis.is() )
{
xProps->setPropertyValue( "Show", uno::Any( false ) );
xAxis->setPropertyValue( "Show", uno::Any( false ) );
xTitled = lcl_getTitleParent( eTitleType, xModel );
}
}
diff --git a/chart2/source/view/axes/VCartesianCoordinateSystem.cxx b/chart2/source/view/axes/VCartesianCoordinateSystem.cxx
index 3f7f7ca..64d02eb 100644
--- a/chart2/source/view/axes/VCartesianCoordinateSystem.cxx
+++ b/chart2/source/view/axes/VCartesianCoordinateSystem.cxx
@@ -22,6 +22,7 @@
#include "VCartesianAxis.hxx"
#include <BaseCoordinateSystem.hxx>
#include <AxisIndexDefines.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <cppuhelper/implbase.hxx>
#include <ChartModel.hxx>
@@ -79,7 +80,7 @@ void VCartesianCoordinateSystem::createGridShapes()
for( sal_Int32 nDimensionIndex=0; nDimensionIndex<3; nDimensionIndex++)
{
sal_Int32 nAxisIndex = MAIN_AXIS_INDEX;
Reference< XAxis > xAxis( AxisHelper::getAxis( nDimensionIndex, nAxisIndex, m_xCooSysModel ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( nDimensionIndex, nAxisIndex, m_xCooSysModel );
if(!xAxis.is() || !AxisHelper::shouldAxisBeDisplayed( xAxis, m_xCooSysModel ))
continue;
@@ -126,7 +127,7 @@ void VCartesianCoordinateSystem::createVAxisList(
sal_Int32 nMaxAxisIndex = m_xCooSysModel->getMaximumAxisIndexByDimension(nDimensionIndex);
for( sal_Int32 nAxisIndex = 0; nAxisIndex <= nMaxAxisIndex; nAxisIndex++ )
{
Reference< XAxis > xAxis = getAxisByDimension(nDimensionIndex,nAxisIndex);
rtl::Reference< Axis > xAxis = getAxisByDimension(nDimensionIndex,nAxisIndex);
if(!xAxis.is() || !AxisHelper::shouldAxisBeDisplayed( xAxis, m_xCooSysModel ))
continue;
diff --git a/chart2/source/view/axes/VCoordinateSystem.cxx b/chart2/source/view/axes/VCoordinateSystem.cxx
index 222383c..416112749 100644
--- a/chart2/source/view/axes/VCoordinateSystem.cxx
+++ b/chart2/source/view/axes/VCoordinateSystem.cxx
@@ -29,6 +29,7 @@
#include <servicenames_coosystems.hxx>
#include <ObjectIdentifier.hxx>
#include <ExplicitCategoriesProvider.hxx>
#include <Axis.hxx>
#include "VAxisBase.hxx"
#include <defines.hxx>
#include <chartview/ExplicitValueProvider.hxx>
@@ -185,10 +186,10 @@ uno::Sequence< sal_Int32 > VCoordinateSystem::getCoordinateSystemResolution(
return aResolution;
}
Reference< XAxis > VCoordinateSystem::getAxisByDimension( sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex ) const
rtl::Reference< Axis > VCoordinateSystem::getAxisByDimension( sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex ) const
{
if( m_xCooSysModel.is() )
return m_xCooSysModel->getAxisByDimension( nDimensionIndex, nAxisIndex );
return m_xCooSysModel->getAxisByDimension2( nDimensionIndex, nAxisIndex );
return nullptr;
}
diff --git a/chart2/source/view/axes/VPolarCoordinateSystem.cxx b/chart2/source/view/axes/VPolarCoordinateSystem.cxx
index 2030455..1312b4f 100644
--- a/chart2/source/view/axes/VPolarCoordinateSystem.cxx
+++ b/chart2/source/view/axes/VPolarCoordinateSystem.cxx
@@ -22,6 +22,7 @@
#include "VPolarAxis.hxx"
#include <BaseCoordinateSystem.hxx>
#include <AxisIndexDefines.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <ChartModel.hxx>
#include <com/sun/star/chart2/XCoordinateSystem.hpp>
@@ -87,7 +88,7 @@ void VPolarCoordinateSystem::createVAxisList(
sal_Int32 nMaxAxisIndex = m_xCooSysModel->getMaximumAxisIndexByDimension(nDimensionIndex);
for( sal_Int32 nAxisIndex = 0; nAxisIndex <= nMaxAxisIndex; nAxisIndex++ )
{
Reference< XAxis > xAxis( getAxisByDimension(nDimensionIndex,nAxisIndex) );
rtl::Reference< Axis > xAxis = getAxisByDimension(nDimensionIndex,nAxisIndex);
if(!xAxis.is() || !AxisHelper::shouldAxisBeDisplayed( xAxis, m_xCooSysModel ))
continue;
AxisProperties aAxisProperties(xAxis,getExplicitCategoriesProvider());
@@ -170,7 +171,7 @@ void VPolarCoordinateSystem::createGridShapes()
{
sal_Int32 nAxisIndex = MAIN_AXIS_INDEX;
Reference< XAxis > xAxis( AxisHelper::getAxis( nDimensionIndex, nAxisIndex, m_xCooSysModel ) );
rtl::Reference< Axis > xAxis = AxisHelper::getAxis( nDimensionIndex, nAxisIndex, m_xCooSysModel );
if(!xAxis.is() || !AxisHelper::shouldAxisBeDisplayed( xAxis, m_xCooSysModel ))
continue;
diff --git a/chart2/source/view/inc/VCoordinateSystem.hxx b/chart2/source/view/inc/VCoordinateSystem.hxx
index 24ebc03..22b5833 100644
--- a/chart2/source/view/inc/VCoordinateSystem.hxx
+++ b/chart2/source/view/inc/VCoordinateSystem.hxx
@@ -45,8 +45,8 @@ namespace com::sun::star::lang { class XMultiServiceFactory; }
namespace chart
{
class Axis;
class BaseCoordinateSystem;
class VAxisBase;
class VCoordinateSystem
@@ -141,7 +141,7 @@ public:
protected: //methods
VCoordinateSystem( const rtl::Reference< ::chart::BaseCoordinateSystem >& xCooSys );
css::uno::Reference< css::chart2::XAxis >
rtl::Reference< ::chart::Axis >
getAxisByDimension( sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex ) const;
static css::uno::Sequence< css::uno::Reference< css::beans::XPropertySet > >
getGridListFromAxis( const css::uno::Reference< css::chart2::XAxis >& xAxis );
diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx
index fe27e7f..a0b09a8 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -45,6 +45,7 @@
#include <DiagramHelper.hxx>
#include <RelativePositionHelper.hxx>
#include <servicenames.hxx>
#include <Axis.hxx>
#include <AxisHelper.hxx>
#include <AxisIndexDefines.hxx>
#include <BaseGFXHelper.hxx>
@@ -343,7 +344,7 @@ private:
/** A map whose key is a `XAxis` interface and the related value is
* an object of `AxisUsage` type.
*/
std::map< uno::Reference< XAxis >, AxisUsage > m_aAxisUsageList;
std::map< rtl::Reference< Axis >, AxisUsage > m_aAxisUsageList;
/**
* Max axis index of all dimensions. Currently this can be either 0 or 1
@@ -485,7 +486,7 @@ void SeriesPlotterContainer::initializeCooSysAndSeriesPlotter(
{
if (xCooSys->getMaximumAxisIndexByDimension(1) > 0)
{
Reference< beans::XPropertySet > xAxisProp(xCooSys->getAxisByDimension(1, 1), uno::UNO_QUERY);
rtl::Reference< Axis > xAxisProp = xCooSys->getAxisByDimension2(1, 1);
xAxisProp->getPropertyValue("Show") >>= bSecondaryYaxisVisible;
}
}
@@ -647,7 +648,7 @@ void SeriesPlotterContainer::initAxisUsageList(const Date& rNullDate)
const sal_Int32 nMaxAxisIndex = xCooSys->getMaximumAxisIndexByDimension(nDimIndex);
for (sal_Int32 nAxisIndex = 0; nAxisIndex <= nMaxAxisIndex; ++nAxisIndex)
{
uno::Reference<XAxis> xAxis = xCooSys->getAxisByDimension(nDimIndex, nAxisIndex);
rtl::Reference<Axis> xAxis = xCooSys->getAxisByDimension2(nDimIndex, nAxisIndex);
if (!xAxis.is())
continue;
@@ -719,7 +720,7 @@ void SeriesPlotterContainer::setNumberFormatsFromAxes()
if(pVCooSys)
{
AxesNumberFormats aAxesNumberFormats;
const uno::Reference< XCoordinateSystem >& xCooSys = pVCooSys->getModel();
const rtl::Reference< BaseCoordinateSystem >& xCooSys = pVCooSys->getModel();
sal_Int32 nDimensionCount = xCooSys->getDimension();
for(sal_Int32 nDimensionIndex=0; nDimensionIndex<nDimensionCount; ++nDimensionIndex)
{
@@ -728,7 +729,7 @@ void SeriesPlotterContainer::setNumberFormatsFromAxes()
{
try
{
Reference< beans::XPropertySet > xAxisProp( xCooSys->getAxisByDimension( nDimensionIndex, nAxisIndex ), uno::UNO_QUERY );
rtl::Reference< Axis > xAxisProp = xCooSys->getAxisByDimension2( nDimensionIndex, nAxisIndex );
if( xAxisProp.is())
{
sal_Int32 nNumberFormatKey(0);
@@ -915,8 +916,8 @@ void SeriesPlotterContainer::AdaptScaleOfYAxisWithoutAttachedSeries( ChartModel&
ExplicitIncrementData aExplicitIncrement( aVCooSysList[nC]->getExplicitIncrement( nDimensionIndex, nAxisIndex ) );
rtl::Reference< BaseCoordinateSystem > xCooSys( aVCooSysList[nC]->getModel() );
Reference< XAxis > xAxis( xCooSys->getAxisByDimension( nDimensionIndex, nAxisIndex ) );
Reference< beans::XPropertySet > xCrossingMainAxis( AxisHelper::getCrossingMainAxis( xAxis, xCooSys ), uno::UNO_QUERY );
rtl::Reference< Axis > xAxis = xCooSys->getAxisByDimension2( nDimensionIndex, nAxisIndex );
rtl::Reference< Axis > xCrossingMainAxis = AxisHelper::getCrossingMainAxis( xAxis, xCooSys );
if( xCrossingMainAxis.is() )
{
diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist
index 6033d55..d68935f 100644
--- a/solenv/clang-format/excludelist
+++ b/solenv/clang-format/excludelist
@@ -1007,6 +1007,7 @@ chart2/source/controller/sidebar/ChartSeriesPanel.cxx
chart2/source/controller/sidebar/ChartSeriesPanel.hxx
chart2/source/controller/sidebar/ChartSidebarSelectionListener.cxx
chart2/source/controller/uitest/uiobject.cxx
chart2/source/inc/Axis.hxx
chart2/source/inc/AxisHelper.hxx
chart2/source/inc/BaseGFXHelper.hxx
chart2/source/inc/BaseCoordinateSystem.hxx
@@ -1084,7 +1085,6 @@ chart2/source/model/filter/XMLFilter.cxx
chart2/source/model/inc/StockBar.hxx
chart2/source/model/inc/XMLFilter.hxx
chart2/source/model/main/Axis.cxx
chart2/source/model/main/Axis.hxx
chart2/source/model/main/BaseCoordinateSystem.cxx
chart2/source/model/main/CartesianCoordinateSystem.cxx
chart2/source/model/main/ChartModel.cxx