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

New commits:
commit a1be31fd8bf830a4f5961e690bcffd050782e210
Author: Markus Mohrhard <[email protected]>
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 ) );
_______________________________________________
Libreoffice-commits mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to