[Libreoffice-commits] .: chart2/source

Tor Lillqvist tml at kemper.freedesktop.org
Mon Mar 5 08:49:39 PST 2012


 chart2/source/view/axes/VCartesianAxis.cxx |   36 +++++++----------------------
 1 file changed, 9 insertions(+), 27 deletions(-)

New commits:
commit a1be31fd8bf830a4f5961e690bcffd050782e210
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Sun Mar 4 20:45:45 2012 +0100

    fdo#44832: Follow-up fix for axis labels for complex categories
    
    Don't add special handling for second and following
    categories.
    
    [From Markus's patch email to the list, edited by tml]
    
    This patch is not obvious and I'm not sure that it will not introduce
    another regression. I don't fully understand why we need to add
    special handling for labels of second and following categories.

diff --git a/chart2/source/view/axes/VCartesianAxis.cxx b/chart2/source/view/axes/VCartesianAxis.cxx
index a6547ef..8291efb 100644
--- a/chart2/source/view/axes/VCartesianAxis.cxx
+++ b/chart2/source/view/axes/VCartesianAxis.cxx
@@ -1333,20 +1333,15 @@ void VCartesianAxis::doStaggeringOfLabels( const AxisLabelProperties& rAxisLabel
         for( sal_Int32 nTextLevel=0; nTextLevel<nTextLevelCount; nTextLevel++ )
         {
             SAL_WNODEPRECATED_DECLARATIONS_PUSH
-            ::std::auto_ptr< TickIter > apTickIter = createLabelTickIterator( nTextLevel );
+                ::std::auto_ptr< TickIter > apTickIter = createLabelTickIterator( nTextLevel );
             SAL_WNODEPRECATED_DECLARATIONS_POP
-            if(apTickIter.get())
-            {
-                double fRotationAngleDegree = m_aAxisLabelProperties.fRotationAngleDegree;
-                if( nTextLevel>0 )
+                if(apTickIter.get())
                 {
-                    lcl_shiftLables( *apTickIter.get(), aCummulatedLabelsDistance );
-                    fRotationAngleDegree = 0.0;
+                    double fRotationAngleDegree = m_aAxisLabelProperties.fRotationAngleDegree;
+                    aCummulatedLabelsDistance += lcl_getLabelsDistance( *apTickIter.get()
+                            , pTickFactory2D->getDistanceAxisTickToText( m_aAxisProperties )
+                            , fRotationAngleDegree );
                 }
-                aCummulatedLabelsDistance += lcl_getLabelsDistance( *apTickIter.get()
-                    , pTickFactory2D->getDistanceAxisTickToText( m_aAxisProperties )
-                    , fRotationAngleDegree );
-            }
         }
     }
     else if( rAxisLabelProperties.getIsStaggered() )
@@ -1408,18 +1403,9 @@ void VCartesianAxis::createLabels()
                 AxisLabelProperties aComplexProps(m_aAxisLabelProperties);
                 if( m_aAxisProperties.m_bComplexCategories )
                 {
-                    if( nTextLevel==0 )
-                    {
-                        aComplexProps.bLineBreakAllowed = true;
-                        aComplexProps.bOverlapAllowed = !::rtl::math::approxEqual( aComplexProps.fRotationAngleDegree, 0.0 );
-                    }
-                    else
-                    {
-                        aComplexProps.bOverlapAllowed = true;
-                        aComplexProps.bRhythmIsFix = true;
-                        aComplexProps.nRhythm = 1;
-                        aComplexProps.fRotationAngleDegree = 0.0;
-                    }
+                    aComplexProps.bLineBreakAllowed = true;
+                    aComplexProps.bOverlapAllowed = !::rtl::math::approxEqual( aComplexProps.fRotationAngleDegree, 0.0 );
+
                 }
                 AxisLabelProperties& rAxisLabelProperties =  m_aAxisProperties.m_bComplexCategories ? aComplexProps : m_aAxisLabelProperties;
                 while( !createTextShapes( m_xTextTarget, *apTickIter.get(), rAxisLabelProperties, pTickFactory2D, nScreenDistanceBetweenTicks ) )
@@ -1515,8 +1501,6 @@ void VCartesianAxis::updatePositions()
                         ,static_cast<sal_Int32>(aTickScreenPos2D.getY()));
 
                     double fRotationAngleDegree = m_aAxisLabelProperties.fRotationAngleDegree;
-                    if( nDepth>0 )
-                        fRotationAngleDegree = 0.0;
 
                     // #i78696# use mathematically correct rotation now
                     const double fRotationAnglePi(fRotationAngleDegree * (F_PI / -180.0));
@@ -1615,8 +1599,6 @@ void VCartesianAxis::createShapes()
                 if( apTickIter.get() )
                 {
                     double fRotationAngleDegree = m_aAxisLabelProperties.fRotationAngleDegree;
-                    if( nTextLevel>0 )
-                        fRotationAngleDegree = 0.0;
                     B2DVector aLabelsDistance( lcl_getLabelsDistance( *apTickIter.get(), pTickFactory2D->getDistanceAxisTickToText( m_aAxisProperties, false ), fRotationAngleDegree ) );
                     sal_Int32 nCurrentLength = static_cast<sal_Int32>(aLabelsDistance.getLength());
                     aTickmarkPropertiesList.push_back( m_aAxisProperties.makeTickmarkPropertiesForComplexCategories( nOffset + nCurrentLength, 0, nTextLevel ) );


More information about the Libreoffice-commits mailing list