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

New commits:
commit 0a01bd496037bb34f90b7baf9d7bd8a46eea762f
Author: Kohei Yoshida <kohei.yosh...@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
    Signed-off-by: Noel Power <noel.po...@suse.com>

diff --git a/chart2/source/view/axes/VCartesianAxis.cxx 
b/chart2/source/view/axes/VCartesianAxis.cxx
index 9ffd923..b75e12d 100644
--- a/chart2/source/view/axes/VCartesianAxis.cxx
+++ b/chart2/source/view/axes/VCartesianAxis.cxx
@@ -473,11 +473,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)
@@ -1328,13 +1328,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 );
             }
         }
     }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to