[Libreoffice-commits] .: chart2/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Sep 24 16:15:07 PDT 2012


 chart2/source/view/axes/VCartesianAxis.cxx |   15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

New commits:
commit b174048ebd041175efd121751fddfb053d476c80
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Mon Sep 24 15:29:01 2012 -0400

    fdo#55297: Fix regression in chart complex category placements.
    
    This is effectively a revert of a769fd1ec076b61c1ce2f84da87283cc637dd5d5
    and a1be31fd8bf830a4f5961e690bcffd050782e210 which unfortunately caused
    regression in complex category placements.
    
    This unfortunately re-introduces fdo#44832. We need to re-think how to
    fix that one without breaking the multi-level category feature.
    
    Change-Id: I1ed8364a46174ac6c29aa0b027a33f84bcca51fa

diff --git a/chart2/source/view/axes/VCartesianAxis.cxx b/chart2/source/view/axes/VCartesianAxis.cxx
index 016c3e2..6c0dd04 100644
--- a/chart2/source/view/axes/VCartesianAxis.cxx
+++ b/chart2/source/view/axes/VCartesianAxis.cxx
@@ -460,11 +460,11 @@ void VCartesianAxis::createAllTickInfosFromComplexCategories( ::std::vector< ::s
         rAllTickInfos.clear();
         sal_Int32 nLevel=0;
         sal_Int32 nLevelCount = m_aAxisProperties.m_pExplicitCategoriesProvider->getCategoryLevelCount();
-        sal_Int32 nCatIndex = 0;
         for( ; nLevel<nLevelCount; nLevel++ )
         {
             ::std::vector< TickInfo > aTickInfoVector;
             std::vector< ComplexCategory > aComplexCategories( m_aAxisProperties.m_pExplicitCategoriesProvider->getCategoriesByLevel( nLevel ) );
+            sal_Int32 nCatIndex = 0;
             std::vector< ComplexCategory >::const_iterator aIt(aComplexCategories.begin());
             std::vector< ComplexCategory >::const_iterator aEnd(aComplexCategories.end());
             for(;aIt!=aEnd;++aIt)
@@ -1314,13 +1314,18 @@ void VCartesianAxis::doStaggeringOfLabels( const AxisLabelProperties& rAxisLabel
         B2DVector aCummulatedLabelsDistance(0,0);
         for( sal_Int32 nTextLevel=0; nTextLevel<nTextLevelCount; nTextLevel++ )
         {
-            boost::scoped_ptr< TickIter > apTickIter(createLabelTickIterator( nTextLevel ));
-            if(apTickIter)
+            boost::scoped_ptr<TickIter> apTickIter(createLabelTickIterator(nTextLevel));
+            if (apTickIter)
             {
                 double fRotationAngleDegree = m_aAxisLabelProperties.fRotationAngleDegree;
+                if( nTextLevel>0 )
+                {
+                    lcl_shiftLables( *apTickIter.get(), aCummulatedLabelsDistance );
+                    fRotationAngleDegree = 0.0;
+                }
                 aCummulatedLabelsDistance += lcl_getLabelsDistance( *apTickIter.get()
-                        , pTickFactory2D->getDistanceAxisTickToText( m_aAxisProperties )
-                        , fRotationAngleDegree );
+                    , pTickFactory2D->getDistanceAxisTickToText( m_aAxisProperties )
+                    , fRotationAngleDegree );
             }
         }
     }


More information about the Libreoffice-commits mailing list