diff options
Diffstat (limited to 'chart2/source/tools/ChartTypeHelper.cxx')
-rw-r--r-- | chart2/source/tools/ChartTypeHelper.cxx | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/chart2/source/tools/ChartTypeHelper.cxx b/chart2/source/tools/ChartTypeHelper.cxx index 357cf5c43d92..9e521fa76dae 100644 --- a/chart2/source/tools/ChartTypeHelper.cxx +++ b/chart2/source/tools/ChartTypeHelper.cxx @@ -106,6 +106,8 @@ sal_Bool ChartTypeHelper::isSupportingStatisticProperties( const uno::Reference< return sal_False; if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_NET) ) return sal_False; + if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_FILLED_NET) ) + return sal_False; if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_CANDLESTICK) ) return sal_False; if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_BUBBLE) ) //todo: BubbleChart support error bars and trend lines @@ -197,6 +199,8 @@ sal_Bool ChartTypeHelper::isSupportingSecondaryAxis( const uno::Reference< XChar return sal_False; if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_NET) ) return sal_False; + if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_FILLED_NET) ) + return sal_False; } return sal_True; } @@ -335,14 +339,21 @@ uno::Sequence < sal_Int32 > ChartTypeHelper::getSupportedLabelPlacements( const } else if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_NET) ) { - aRet.realloc(5); + aRet.realloc(6); sal_Int32* pSeq = aRet.getArray(); + *pSeq++ = ::com::sun::star::chart::DataLabelPlacement::OUTSIDE; *pSeq++ = ::com::sun::star::chart::DataLabelPlacement::TOP; *pSeq++ = ::com::sun::star::chart::DataLabelPlacement::BOTTOM; *pSeq++ = ::com::sun::star::chart::DataLabelPlacement::LEFT; *pSeq++ = ::com::sun::star::chart::DataLabelPlacement::RIGHT; *pSeq++ = ::com::sun::star::chart::DataLabelPlacement::CENTER; } + else if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_FILLED_NET) ) + { + aRet.realloc(1); + sal_Int32* pSeq = aRet.getArray(); + *pSeq++ = ::com::sun::star::chart::DataLabelPlacement::OUTSIDE; + } else if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_CANDLESTICK) ) { aRet.realloc( 1 ); @@ -399,6 +410,8 @@ bool ChartTypeHelper::isSupportingAxisPositioning( const uno::Reference< chart2: rtl::OUString aChartTypeName = xChartType->getChartType(); if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_NET) ) return false; + if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_FILLED_NET) ) + return false; } if( nDimensionCount==3 ) return nDimensionIndex<2; @@ -579,7 +592,8 @@ uno::Sequence < sal_Int32 > ChartTypeHelper::getSupportedMissingValueTreatments( *pSeq++ = ::com::sun::star::chart::MissingValueTreatment::CONTINUE; } else if( aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_LINE) || - aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_NET)) + aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_NET) || + aChartTypeName.match(CHART2_SERVICE_NAME_CHARTTYPE_FILLED_NET) ) { aRet.realloc( bStacked ? 2 : 3 ); sal_Int32* pSeq = aRet.getArray(); @@ -609,6 +623,17 @@ uno::Sequence < sal_Int32 > ChartTypeHelper::getSupportedMissingValueTreatments( return aRet; } +bool ChartTypeHelper::isSeriesInFrontOfAxisLine( const uno::Reference< XChartType >& xChartType ) +{ + if( xChartType.is() ) + { + rtl::OUString aChartTypeName = xChartType->getChartType(); + if( aChartTypeName.match( CHART2_SERVICE_NAME_CHARTTYPE_FILLED_NET ) ) + return false; + } + return true; +} + rtl::OUString ChartTypeHelper::getRoleOfSequenceForYAxisNumberFormatDetection( const uno::Reference< XChartType >& xChartType ) { rtl::OUString aRet( C2U( "values-y" ) ); |