[Libreoffice-commits] core.git: chart2/source

tagezi lera.goncharuk at gmail.com
Wed Nov 22 04:53:28 UTC 2017


 chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx |    8 
 chart2/source/inc/chartview/ExplicitValueProvider.hxx           |   10 -
 chart2/source/view/main/ChartView.cxx                           |   85 +---------
 3 files changed, 20 insertions(+), 83 deletions(-)

New commits:
commit a0ebba3d8855fee0bcec04a10137ae3a4f9f0e77
Author: tagezi <lera.goncharuk at gmail.com>
Date:   Tue Nov 21 15:54:38 2017 +0200

    tdf#39593 deduplicate code in ExplicitValueProvider
    
    Change-Id: I0525761b0d1359b3e0f249cef02e1818af95156b
    Reviewed-on: https://gerrit.libreoffice.org/45037
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx b/chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx
index ffc60ec31ced..9c904996ebee 100644
--- a/chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx
+++ b/chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx
@@ -175,8 +175,8 @@ awt::Size Chart2ModelContact::GetPageSize() const
 
 awt::Rectangle Chart2ModelContact::SubstractAxisTitleSizes( const awt::Rectangle& rPositionRect )
 {
-    awt::Rectangle aRect = ExplicitValueProvider::substractAxisTitleSizes(
-        *mpModel, getChartView(), rPositionRect );
+    awt::Rectangle aRect = ExplicitValueProvider::AddSubtractAxisTitleSizes(
+        *mpModel, getChartView(), rPositionRect, true );
     return aRect;
 }
 
@@ -185,8 +185,8 @@ awt::Rectangle Chart2ModelContact::GetDiagramRectangleIncludingTitle() const
     awt::Rectangle aRect( GetDiagramRectangleIncludingAxes() );
 
     //add axis title sizes to the diagram size
-    aRect = ExplicitValueProvider::addAxisTitleSizes(
-        *mpModel, getChartView(), aRect );
+    aRect = ExplicitValueProvider::AddSubtractAxisTitleSizes(
+        *mpModel, getChartView(), aRect, false );
 
     return aRect;
 }
diff --git a/chart2/source/inc/chartview/ExplicitValueProvider.hxx b/chart2/source/inc/chartview/ExplicitValueProvider.hxx
index 05d50c6a2e82..afe0507d67d2 100644
--- a/chart2/source/inc/chartview/ExplicitValueProvider.hxx
+++ b/chart2/source/inc/chartview/ExplicitValueProvider.hxx
@@ -66,16 +66,10 @@ public:
     static ExplicitValueProvider* getExplicitValueProvider( const css::uno::Reference< css::uno::XInterface >& xChartView );
 
     static css::awt::Rectangle
-        addAxisTitleSizes(
+        AddSubtractAxisTitleSizes(
                 ChartModel& rModel
             , const css::uno::Reference< css::uno::XInterface >& xChartView
-            , const css::awt::Rectangle& rExcludingPositionAndSize );
-
-    static css::awt::Rectangle
-        substractAxisTitleSizes(
-                ChartModel& rModel
-            , const css::uno::Reference< css::uno::XInterface >& xChartView
-            , const css::awt::Rectangle& rPositionAndSizeIncludingTitles );
+            , const css::awt::Rectangle& rPositionAndSize, bool bSubtract );
 
     static sal_Int32 getExplicitNumberFormatKeyForAxis(
               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 49f1670e9f37..97a51c55c961 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -2089,12 +2089,12 @@ sal_Int32 ExplicitValueProvider::getExplicitPercentageNumberFormatKeyForDataLabe
     return nFormat;
 }
 
-awt::Rectangle ExplicitValueProvider::addAxisTitleSizes(
+awt::Rectangle ExplicitValueProvider::AddSubtractAxisTitleSizes(
             ChartModel& rModel
             , const Reference< uno::XInterface >& xChartView
-            , const awt::Rectangle& rExcludingPositionAndSize )
+            , const awt::Rectangle& rPositionAndSize, bool bSubtract )
 {
-    awt::Rectangle aRet(rExcludingPositionAndSize);
+    awt::Rectangle aRet(rPositionAndSize);
 
     //add axis title sizes to the diagram size
     uno::Reference< chart2::XTitle > xTitle_Height( TitleHelper::getTitle( TitleHelper::TITLE_AT_STANDARD_X_AXIS_POSITION, rModel ) );
@@ -2146,78 +2146,21 @@ awt::Rectangle ExplicitValueProvider::addAxisTitleSizes(
                 if( nSecondTitleSpaceWidth )
                     nSecondTitleSpaceWidth+=lcl_getDiagramTitleSpace();
             }
-
-            aRet.X -= nTitleSpaceWidth;
-            aRet.Y -= nSecondTitleSpaceHeight;
-            aRet.Width += nTitleSpaceWidth + nSecondTitleSpaceWidth;
-            aRet.Height += nTitleSpaceHeight + nSecondTitleSpaceHeight;
-        }
-    }
-    return aRet;
-}
-
-awt::Rectangle ExplicitValueProvider::substractAxisTitleSizes(
-            ChartModel& rModel
-            , const Reference< uno::XInterface >& xChartView
-            , const awt::Rectangle& rPositionAndSizeIncludingTitles )
-{
-    awt::Rectangle aRet(rPositionAndSizeIncludingTitles);
-
-    //add axis title sizes to the diagram size
-    uno::Reference< chart2::XTitle > xTitle_Height( TitleHelper::getTitle( TitleHelper::TITLE_AT_STANDARD_X_AXIS_POSITION, rModel ) );
-    uno::Reference< chart2::XTitle > xTitle_Width( TitleHelper::getTitle( TitleHelper::TITLE_AT_STANDARD_Y_AXIS_POSITION, rModel ) );
-    uno::Reference< chart2::XTitle > xSecondTitle_Height( TitleHelper::getTitle( TitleHelper::SECONDARY_X_AXIS_TITLE, rModel ) );
-    uno::Reference< chart2::XTitle > xSecondTitle_Width( TitleHelper::getTitle( TitleHelper::SECONDARY_Y_AXIS_TITLE, rModel ) );
-    if( xTitle_Height.is() || xTitle_Width.is() || xSecondTitle_Height.is() || xSecondTitle_Width.is() )
-    {
-        ExplicitValueProvider* pExplicitValueProvider = ExplicitValueProvider::getExplicitValueProvider(xChartView);
-        if( pExplicitValueProvider )
-        {
-            //detect whether x axis points into x direction or not
-            if( lcl_getPropertySwapXAndYAxis( rModel.getFirstDiagram() ) )
+            if( bSubtract )
             {
-                std::swap( xTitle_Height, xTitle_Width );
-                std::swap( xSecondTitle_Height, xSecondTitle_Width );
+                aRet.X += nTitleSpaceWidth;
+                aRet.Y += nSecondTitleSpaceHeight;
+                aRet.Width -= (nTitleSpaceWidth + nSecondTitleSpaceWidth);
+                aRet.Height -= (nTitleSpaceHeight + nSecondTitleSpaceHeight);
             }
-
-            sal_Int32 nTitleSpaceWidth = 0;
-            sal_Int32 nTitleSpaceHeight = 0;
-            sal_Int32 nSecondTitleSpaceWidth = 0;
-            sal_Int32 nSecondTitleSpaceHeight = 0;
-
-            if( xTitle_Height.is() )
-            {
-                OUString aCID_X( ObjectIdentifier::createClassifiedIdentifierForObject( xTitle_Height, rModel ) );
-                nTitleSpaceHeight = pExplicitValueProvider->getRectangleOfObject( aCID_X, true ).Height;
-                if( nTitleSpaceHeight )
-                    nTitleSpaceHeight+=lcl_getDiagramTitleSpace();
-            }
-            if( xTitle_Width.is() )
-            {
-                OUString aCID_Y( ObjectIdentifier::createClassifiedIdentifierForObject( xTitle_Width, rModel ) );
-                nTitleSpaceWidth = pExplicitValueProvider->getRectangleOfObject( aCID_Y, true ).Width;
-                if(nTitleSpaceWidth)
-                    nTitleSpaceWidth+=lcl_getDiagramTitleSpace();
-            }
-            if( xSecondTitle_Height.is() )
-            {
-                OUString aCID_X( ObjectIdentifier::createClassifiedIdentifierForObject( xSecondTitle_Height, rModel ) );
-                nSecondTitleSpaceHeight = pExplicitValueProvider->getRectangleOfObject( aCID_X, true ).Height;
-                if( nSecondTitleSpaceHeight )
-                    nSecondTitleSpaceHeight+=lcl_getDiagramTitleSpace();
-            }
-            if( xSecondTitle_Width.is() )
+            else
             {
-                OUString aCID_Y( ObjectIdentifier::createClassifiedIdentifierForObject( xSecondTitle_Width, rModel ) );
-                nSecondTitleSpaceWidth += pExplicitValueProvider->getRectangleOfObject( aCID_Y, true ).Width;
-                if( nSecondTitleSpaceWidth )
-                    nSecondTitleSpaceWidth+=lcl_getDiagramTitleSpace();
-            }
 
-            aRet.X += nTitleSpaceWidth;
-            aRet.Y += nSecondTitleSpaceHeight;
-            aRet.Width -= (nTitleSpaceWidth + nSecondTitleSpaceWidth);
-            aRet.Height -= (nTitleSpaceHeight + nSecondTitleSpaceHeight);
+                aRet.X -= nTitleSpaceWidth;
+                aRet.Y -= nSecondTitleSpaceHeight;
+                aRet.Width += nTitleSpaceWidth + nSecondTitleSpaceWidth;
+                aRet.Height += nTitleSpaceHeight + nSecondTitleSpaceHeight;
+            }
         }
     }
     return aRet;


More information about the Libreoffice-commits mailing list