diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-03-04 20:45:45 +0100 |
---|---|---|
committer | Tor Lillqvist <tlillqvist@suse.com> | 2012-03-05 18:48:37 +0200 |
commit | a1be31fd8bf830a4f5961e690bcffd050782e210 (patch) | |
tree | 9d039b228e1205e1c70fb19261fc680e6af62fbb | |
parent | n#693238, n#747471: create TableManager for inside shapes (diff) | |
download | core-a1be31fd8bf830a4f5961e690bcffd050782e210.tar.gz core-a1be31fd8bf830a4f5961e690bcffd050782e210.zip |
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.
-rw-r--r-- | chart2/source/view/axes/VCartesianAxis.cxx | 36 |
1 files changed, 9 insertions, 27 deletions
diff --git a/chart2/source/view/axes/VCartesianAxis.cxx b/chart2/source/view/axes/VCartesianAxis.cxx index a6547ef84aae..8291efb8681e 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 ) ); |