summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2012-09-24 15:29:01 -0400
committerNoel Power <noel.power@suse.com>2012-09-26 11:51:52 +0100
commit0a01bd496037bb34f90b7baf9d7bd8a46eea762f (patch)
tree4af4d5b7740e2c3e5e1ed0c2c00cdc91c2476e0e /chart2
parent40056c63748367db5ff60151ec2c2cb34e0cf0dd (diff)
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.power@suse.com>
Diffstat (limited to 'chart2')
-rw-r--r--chart2/source/view/axes/VCartesianAxis.cxx15
1 files changed, 10 insertions, 5 deletions
diff --git a/chart2/source/view/axes/VCartesianAxis.cxx b/chart2/source/view/axes/VCartesianAxis.cxx
index 9ffd92348a12..b75e12d823cc 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 );
}
}
}