chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx |    8 +--
 chart2/source/inc/Diagram.hxx                                   |   10 ++++
 chart2/source/inc/DiagramHelper.hxx                             |    9 ----
 chart2/source/model/main/Diagram.cxx                            |   19 ++++++++
 chart2/source/tools/DiagramHelper.cxx                           |   22 
----------
 chart2/source/view/main/SeriesPlotterContainer.cxx              |    4 -
 6 files changed, 35 insertions(+), 37 deletions(-)

New commits:
commit 8d024174dcb95c86400f47556738d092487ce429
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Mar 15 09:08:32 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Mar 15 13:24:43 2023 +0000

    move getDiagramPositioningMode inside chart2::Diagram
    
    and also switch to using getFastPropertyValue
    
    Change-Id: Idef712def160abb500770aceedf6d94d385e5da3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148906
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx 
b/chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx
index 6e6648272dc2..50bedc860974 100644
--- a/chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx
+++ b/chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx
@@ -194,9 +194,9 @@ awt::Rectangle 
Chart2ModelContact::GetDiagramRectangleIncludingTitle() const
 awt::Rectangle Chart2ModelContact::GetDiagramRectangleIncludingAxes() const
 {
     awt::Rectangle aRect(0,0,0,0);
-    rtl::Reference< Diagram > xDiagram =  ChartModelHelper::findDiagram( 
m_xChartModel );
+    rtl::Reference< Diagram > xDiagram = ChartModelHelper::findDiagram( 
m_xChartModel );
 
-    if( DiagramHelper::getDiagramPositioningMode( xDiagram ) == 
DiagramPositioningMode_INCLUDING )
+    if( xDiagram && xDiagram->getDiagramPositioningMode() == 
DiagramPositioningMode_INCLUDING )
         aRect = 
DiagramHelper::getDiagramRectangleFromModel(m_xChartModel.get());
     else
     {
@@ -210,9 +210,9 @@ awt::Rectangle 
Chart2ModelContact::GetDiagramRectangleIncludingAxes() const
 awt::Rectangle Chart2ModelContact::GetDiagramRectangleExcludingAxes() const
 {
     awt::Rectangle aRect(0,0,0,0);
-    rtl::Reference< Diagram > xDiagram =  ChartModelHelper::findDiagram( 
m_xChartModel );
+    rtl::Reference< Diagram > xDiagram = ChartModelHelper::findDiagram( 
m_xChartModel );
 
-    if( DiagramHelper::getDiagramPositioningMode( xDiagram ) == 
DiagramPositioningMode_EXCLUDING )
+    if( xDiagram && xDiagram->getDiagramPositioningMode() == 
DiagramPositioningMode_EXCLUDING )
         aRect = 
DiagramHelper::getDiagramRectangleFromModel(m_xChartModel.get());
     else
     {
diff --git a/chart2/source/inc/Diagram.hxx b/chart2/source/inc/Diagram.hxx
index f343bba7ca57..3844b34d7638 100644
--- a/chart2/source/inc/Diagram.hxx
+++ b/chart2/source/inc/Diagram.hxx
@@ -43,6 +43,14 @@ class Legend;
 class DataTable;
 class Wall;
 
+enum DiagramPositioningMode
+{
+    DiagramPositioningMode_AUTO,
+    DiagramPositioningMode_EXCLUDING,
+    DiagramPositioningMode_INCLUDING
+};
+
+
 namespace impl
 {
 typedef ::cppu::WeakImplHelper<
@@ -159,6 +167,8 @@ public:
         return m_xDataTable;
     };
 
+    DiagramPositioningMode getDiagramPositioningMode();
+
 private:
     // ____ XModifyListener ____
     virtual void SAL_CALL modified(
diff --git a/chart2/source/inc/DiagramHelper.hxx 
b/chart2/source/inc/DiagramHelper.hxx
index f874a1afafa7..0798a3305021 100644
--- a/chart2/source/inc/DiagramHelper.hxx
+++ b/chart2/source/inc/DiagramHelper.hxx
@@ -51,13 +51,6 @@ class DataSeries;
 class Diagram;
 class LabeledDataSequence;
 
-enum DiagramPositioningMode
-{
-    DiagramPositioningMode_AUTO,
-    DiagramPositioningMode_EXCLUDING,
-    DiagramPositioningMode_INCLUDING
-};
-
 class OOO_DLLPUBLIC_CHARTTOOLS DiagramHelper
 {
 public:
@@ -287,8 +280,6 @@ public:
             const rtl::Reference< ::chart::Diagram > & xDiagram,
             const rtl::Reference< ::chart::ChartType >& xChartType );
 
-    static DiagramPositioningMode getDiagramPositioningMode( const 
rtl::Reference< ::chart::Diagram > & xDiagram );
-
     static bool setDiagramPositioning( const 
rtl::Reference<::chart::ChartModel>& xChartModel,
         const css::awt::Rectangle& rPosRect /*100th mm*/ );
 
diff --git a/chart2/source/model/main/Diagram.cxx 
b/chart2/source/model/main/Diagram.cxx
index 17cf8ecd63ae..7fbc3459fc49 100644
--- a/chart2/source/model/main/Diagram.cxx
+++ b/chart2/source/model/main/Diagram.cxx
@@ -702,6 +702,25 @@ css::uno::Sequence< OUString > SAL_CALL 
Diagram::getSupportedServiceNames()
         "com.sun.star.beans.PropertySet" };
 }
 
+DiagramPositioningMode Diagram::getDiagramPositioningMode()
+{
+    DiagramPositioningMode eMode = DiagramPositioningMode_AUTO;
+    chart2::RelativePosition aRelPos;
+    chart2::RelativeSize aRelSize;
+    if( (getFastPropertyValue(PROP_DIAGRAM_REL_POS) >>= aRelPos ) &&
+        (getFastPropertyValue(PROP_DIAGRAM_REL_SIZE) >>= aRelSize ) )
+    {
+        bool bPosSizeExcludeAxes=false;
+        getFastPropertyValue(PROP_DIAGRAM_POSSIZE_EXCLUDE_LABELS) >>= 
bPosSizeExcludeAxes;
+        if( bPosSizeExcludeAxes )
+            eMode = DiagramPositioningMode_EXCLUDING;
+        else
+            eMode = DiagramPositioningMode_INCLUDING;
+    }
+    return eMode;
+}
+
+
 } //  namespace chart
 
 extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface *
diff --git a/chart2/source/tools/DiagramHelper.cxx 
b/chart2/source/tools/DiagramHelper.cxx
index 2d02e17e0b57..54da63cd0b35 100644
--- a/chart2/source/tools/DiagramHelper.cxx
+++ b/chart2/source/tools/DiagramHelper.cxx
@@ -1438,28 +1438,6 @@ sal_Int32 
DiagramHelper::getCorrectedMissingValueTreatment(
     return nResult;
 }
 
-DiagramPositioningMode DiagramHelper::getDiagramPositioningMode( const 
rtl::Reference<
-                Diagram > & xDiagram )
-{
-    DiagramPositioningMode eMode = DiagramPositioningMode_AUTO;
-    if( xDiagram.is() )
-    {
-        RelativePosition aRelPos;
-        RelativeSize aRelSize;
-        if( (xDiagram->getPropertyValue("RelativePosition") >>= aRelPos ) &&
-            (xDiagram->getPropertyValue("RelativeSize") >>= aRelSize ) )
-        {
-            bool bPosSizeExcludeAxes=false;
-            xDiagram->getPropertyValue("PosSizeExcludeAxes") >>= 
bPosSizeExcludeAxes;
-            if( bPosSizeExcludeAxes )
-                eMode = DiagramPositioningMode_EXCLUDING;
-            else
-                eMode = DiagramPositioningMode_INCLUDING;
-        }
-    }
-    return eMode;
-}
-
 static void lcl_ensureRange0to1( double& rValue )
 {
     if(rValue<0.0)
diff --git a/chart2/source/view/main/SeriesPlotterContainer.cxx 
b/chart2/source/view/main/SeriesPlotterContainer.cxx
index cb55365dc935..9f409d0b43b7 100644
--- a/chart2/source/view/main/SeriesPlotterContainer.cxx
+++ b/chart2/source/view/main/SeriesPlotterContainer.cxx
@@ -227,8 +227,8 @@ void 
SeriesPlotterContainer::initializeCooSysAndSeriesPlotter(ChartModel& rChart
                 m_bChartTypeUsesShiftedCategoryPositionPerDefault
                     = 
ChartTypeHelper::shiftCategoryPosAtXAxisPerDefault(xChartType);
 
-            bool bExcludingPositioning = 
DiagramHelper::getDiagramPositioningMode(xDiagram)
-                                         == DiagramPositioningMode_EXCLUDING;
+            bool bExcludingPositioning
+                = xDiagram->getDiagramPositioningMode() == 
DiagramPositioningMode_EXCLUDING;
             VSeriesPlotter* pPlotter = VSeriesPlotter::createSeriesPlotter(
                 xChartType, nDimensionCount, bExcludingPositioning);
             if (!pPlotter)

Reply via email to