diff options
Diffstat (limited to 'chart2/source/controller/dialogs/ObjectNameProvider.cxx')
-rw-r--r-- | chart2/source/controller/dialogs/ObjectNameProvider.cxx | 176 |
1 files changed, 133 insertions, 43 deletions
diff --git a/chart2/source/controller/dialogs/ObjectNameProvider.cxx b/chart2/source/controller/dialogs/ObjectNameProvider.cxx index 1ed974814ea7..24b717adba7f 100644 --- a/chart2/source/controller/dialogs/ObjectNameProvider.cxx +++ b/chart2/source/controller/dialogs/ObjectNameProvider.cxx @@ -87,6 +87,16 @@ OUString lcl_getDataSeriesName( const rtl::OUString& rObjectCID, const Reference return aRet; } +OUString lcl_getFullSeriesName( const rtl::OUString& rObjectCID, const Reference< frame::XModel >& xChartModel ) +{ + OUString aRet = String(SchResId(STR_TIP_DATASERIES)); + OUString aWildcard( C2U("%SERIESNAME") ); + sal_Int32 nIndex = aRet.indexOf( aWildcard ); + if( nIndex != -1 ) + aRet = aRet.replaceAt( nIndex, aWildcard.getLength(), lcl_getDataSeriesName( rObjectCID, xChartModel ) ); + return aRet; +} + void lcl_addText( OUString& rOut, const OUString& rSeparator, const OUString& rNext ) { if( rOut.getLength() && rNext.getLength() ) @@ -288,22 +298,27 @@ rtl::OUString ObjectNameProvider::getName( ObjectType eObjectType, bool bPlural aRet=String(SchResId(STR_OBJECT_LABEL)); break; case OBJECTTYPE_DATA_ERRORS: - aRet=String(SchResId(STR_OBJECT_ERROR_INDICATOR));//@todo? maybe distinguish plural singular + aRet=String(SchResId(STR_OBJECT_ERROR_BARS));//@todo? maybe distinguish plural singular break; case OBJECTTYPE_DATA_ERRORS_X: - aRet=String(SchResId(STR_OBJECT_ERROR_INDICATOR));//@todo? maybe specialize in future + aRet=String(SchResId(STR_OBJECT_ERROR_BARS));//@todo? maybe specialize in future break; case OBJECTTYPE_DATA_ERRORS_Y: - aRet=String(SchResId(STR_OBJECT_ERROR_INDICATOR));//@todo? maybe specialize in future + aRet=String(SchResId(STR_OBJECT_ERROR_BARS));//@todo? maybe specialize in future break; case OBJECTTYPE_DATA_ERRORS_Z: - aRet=String(SchResId(STR_OBJECT_ERROR_INDICATOR));//@todo? maybe specialize in future + aRet=String(SchResId(STR_OBJECT_ERROR_BARS));//@todo? maybe specialize in future break; case OBJECTTYPE_DATA_AVERAGE_LINE: aRet=String(SchResId(STR_OBJECT_AVERAGE_LINE)); break; case OBJECTTYPE_DATA_CURVE: - aRet=String(SchResId(STR_OBJECT_CURVE)); + { + if(bPlural) + aRet=String(SchResId(STR_OBJECT_CURVES)); + else + aRet=String(SchResId(STR_OBJECT_CURVE)); + } break; case OBJECTTYPE_DATA_STOCK_RANGE: //aRet=String(SchResId()); @@ -333,15 +348,24 @@ rtl::OUString ObjectNameProvider::getAxisName( const rtl::OUString& rObjectCID Reference< XAxis > xAxis( ObjectIdentifier::getObjectPropertySet( rObjectCID , xChartModel ), uno::UNO_QUERY ); - sal_Int32 nDimensionIndex = AxisHelper::getDimensionIndexOfAxis( xAxis, ChartModelHelper::findDiagram( xChartModel ) ); + sal_Int32 nCooSysIndex = 0; + sal_Int32 nDimensionIndex = 0; + sal_Int32 nAxisIndex = 0; + AxisHelper::getIndicesForAxis( xAxis, ChartModelHelper::findDiagram( xChartModel ), nCooSysIndex, nDimensionIndex, nAxisIndex ); switch(nDimensionIndex) { case 0://x-axis - aRet=String(SchResId(STR_OBJECT_AXIS_X)); + if( nAxisIndex == 0 ) + aRet=String(SchResId(STR_OBJECT_AXIS_X)); + else + aRet=String(SchResId(STR_OBJECT_SECONDARY_X_AXIS)); break; case 1://y-axis - aRet=String(SchResId(STR_OBJECT_AXIS_Y)); + if( nAxisIndex == 0 ) + aRet=String(SchResId(STR_OBJECT_AXIS_Y)); + else + aRet=String(SchResId(STR_OBJECT_SECONDARY_Y_AXIS)); break; case 2://z-axis aRet=String(SchResId(STR_OBJECT_AXIS_Z)); @@ -355,6 +379,45 @@ rtl::OUString ObjectNameProvider::getAxisName( const rtl::OUString& rObjectCID } //static +OUString ObjectNameProvider::getTitleNameByType( TitleHelper::eTitleType eType ) +{ + OUString aRet; + + switch(eType) + { + case TitleHelper::MAIN_TITLE: + aRet=String(SchResId(STR_OBJECT_TITLE_MAIN)); + break; + case TitleHelper::SUB_TITLE: + aRet=String(SchResId(STR_OBJECT_TITLE_SUB)); + break; + case TitleHelper::X_AXIS_TITLE: + aRet=String(SchResId(STR_OBJECT_TITLE_X_AXIS)); + break; + case TitleHelper::Y_AXIS_TITLE: + aRet=String(SchResId(STR_OBJECT_TITLE_Y_AXIS)); + break; + case TitleHelper::Z_AXIS_TITLE: + aRet=String(SchResId(STR_OBJECT_TITLE_Z_AXIS)); + break; + case TitleHelper::SECONDARY_X_AXIS_TITLE: + aRet=String(SchResId(STR_OBJECT_TITLE_SECONDARY_X_AXIS)); + break; + case TitleHelper::SECONDARY_Y_AXIS_TITLE: + aRet=String(SchResId(STR_OBJECT_TITLE_SECONDARY_Y_AXIS)); + break; + default: + DBG_ERROR("unknown title type"); + break; + } + + if( !aRet.getLength() ) + aRet=String(SchResId(STR_OBJECT_TITLE)); + + return aRet; +} + +//static OUString ObjectNameProvider::getTitleName( const OUString& rObjectCID , const Reference< frame::XModel >& xChartModel ) { @@ -366,35 +429,7 @@ OUString ObjectNameProvider::getTitleName( const OUString& rObjectCID { TitleHelper::eTitleType eType; if( TitleHelper::getTitleType( eType, xTitle, xChartModel ) ) - { - switch(eType) - { - case TitleHelper::MAIN_TITLE: - aRet=String(SchResId(STR_OBJECT_TITLE_MAIN)); - break; - case TitleHelper::SUB_TITLE: - aRet=String(SchResId(STR_OBJECT_TITLE_SUB)); - break; - case TitleHelper::X_AXIS_TITLE: - aRet=String(SchResId(STR_OBJECT_TITLE_X_AXIS)); - break; - case TitleHelper::Y_AXIS_TITLE: - aRet=String(SchResId(STR_OBJECT_TITLE_Y_AXIS)); - break; - case TitleHelper::Z_AXIS_TITLE: - aRet=String(SchResId(STR_OBJECT_TITLE_Z_AXIS)); - break; - case TitleHelper::SECONDARY_X_AXIS_TITLE: - aRet=String(SchResId(STR_OBJECT_TITLE_SECONDARY_X_AXIS)); - break; - case TitleHelper::SECONDARY_Y_AXIS_TITLE: - aRet=String(SchResId(STR_OBJECT_TITLE_SECONDARY_Y_AXIS)); - break; - default: - DBG_ERROR("unknown title type"); - break; - } - } + aRet = ObjectNameProvider::getTitleNameByType( eType ); } if( !aRet.getLength() ) aRet=String(SchResId(STR_OBJECT_TITLE)); @@ -481,12 +516,7 @@ rtl::OUString ObjectNameProvider::getHelpText( const rtl::OUString& rObjectCID, } else if( OBJECTTYPE_DATA_SERIES == eObjectType ) { - aRet=String(SchResId(STR_TIP_DATASERIES)); - - OUString aWildcard( C2U("%SERIESNAME") ); - sal_Int32 nIndex = aRet.indexOf( aWildcard ); - if( nIndex != -1 ) - aRet = aRet.replaceAt( nIndex, aWildcard.getLength(), lcl_getDataSeriesName( rObjectCID, xChartModel ) ); + aRet = lcl_getFullSeriesName( rObjectCID, xChartModel ); } else if( OBJECTTYPE_DATA_POINT == eObjectType ) { @@ -753,7 +783,41 @@ rtl::OUString ObjectNameProvider::getNameForCID( case OBJECTTYPE_TITLE: return getTitleName( rObjectCID, xModel ); case OBJECTTYPE_GRID: + case OBJECTTYPE_SUBGRID: return getGridName( rObjectCID, xModel ); + case OBJECTTYPE_DATA_SERIES: + return lcl_getFullSeriesName( rObjectCID, xModel ); + //case OBJECTTYPE_LEGEND_ENTRY: + case OBJECTTYPE_DATA_POINT: + case OBJECTTYPE_DATA_LABELS: + case OBJECTTYPE_DATA_LABEL: + case OBJECTTYPE_DATA_ERRORS: + case OBJECTTYPE_DATA_ERRORS_X: + case OBJECTTYPE_DATA_ERRORS_Y: + case OBJECTTYPE_DATA_ERRORS_Z: + case OBJECTTYPE_DATA_CURVE: + case OBJECTTYPE_DATA_AVERAGE_LINE: + case OBJECTTYPE_DATA_CURVE_EQUATION: + { + rtl::OUString aRet = lcl_getFullSeriesName( rObjectCID, xModel ); + aRet += C2U(" "); + if( eType == OBJECTTYPE_DATA_POINT || eType == OBJECTTYPE_DATA_LABEL ) + { + aRet += getName( OBJECTTYPE_DATA_POINT ); + sal_Int32 nPointIndex = ObjectIdentifier::getIndexFromParticleOrCID( rObjectCID ); + aRet += C2U(" "); + aRet += OUString::valueOf(nPointIndex+1); + + if( eType == OBJECTTYPE_DATA_LABEL ) + { + aRet += C2U(" "); + aRet += getName( OBJECTTYPE_DATA_LABEL ); + } + } + else + aRet += getName( eType ); + return aRet; + } default: break; } @@ -761,6 +825,32 @@ rtl::OUString ObjectNameProvider::getNameForCID( return getName( eType ); } +//static +rtl::OUString ObjectNameProvider::getName_ObjectForSeries( + ObjectType eObjectType, + const rtl::OUString& rSeriesCID, + const uno::Reference< chart2::XChartDocument >& xChartDocument ) +{ + uno::Reference< frame::XModel> xChartModel( xChartDocument, uno::UNO_QUERY ); + Reference< XDataSeries > xSeries( ObjectIdentifier::getDataSeriesForCID( rSeriesCID , xChartModel ), uno::UNO_QUERY ); + if( xSeries.is() ) + { + OUString aRet = String(SchResId(STR_OBJECT_FOR_SERIES)); + replaceParamterInString( aRet, C2U("%OBJECTNAME"), getName( eObjectType, false /*bPlural*/ ) ); + replaceParamterInString( aRet, C2U("%SERIESNAME"), lcl_getDataSeriesName( rSeriesCID, xChartModel ) ); + return aRet; + } + else + return ObjectNameProvider::getName_ObjectForAllSeries( eObjectType ); +} + +//static +rtl::OUString ObjectNameProvider::getName_ObjectForAllSeries( ObjectType eObjectType ) +{ + OUString aRet = String(SchResId(STR_OBJECT_FOR_ALL_SERIES)); + replaceParamterInString( aRet, C2U("%OBJECTNAME"), getName( eObjectType, true /*bPlural*/ ) ); + return aRet; +} //............................................................................. } //namespace chart |