summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-03-04 20:45:45 +0100
committerTor Lillqvist <tlillqvist@suse.com>2012-03-05 18:48:37 +0200
commita1be31fd8bf830a4f5961e690bcffd050782e210 (patch)
tree9d039b228e1205e1c70fb19261fc680e6af62fbb
parentd4fd86e3a48defbff29bfbabfbf0d2c5d95d39f5 (diff)
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.cxx36
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 ) );