diff options
author | Balazs Varga <balazs.varga991@gmail.com> | 2020-08-29 13:44:37 +0200 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2020-09-02 09:41:32 +0200 |
commit | 0d2340998415fb4b2f794054c62ef61c83e32155 (patch) | |
tree | 8061d63de276c27cc75f961742033b31105beb8d /oox | |
parent | 7541fac2c0d5341f4d362779594ae236f05ff9a6 (diff) |
tdf#136061 Chart ODF/OOXML: fix missing custom labels
by UNO extensions ShowCustomLabel in DataPointLabel.idl and
CUSTOM in ChartDataCaption.idl, fixing OOXML/ODF import/export.
We should display custom data label even if DataPointLabel is
disabled (e.g. category name and/or value fields are not displayed).
Note: import of the embedded chart of the DOCX unit test
document uses also ODF format in the background, testing
also the extension of the native file format.
Change-Id: I73e21f1e69fddec9f3b4163c46b6582cd1c74b5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101640
Tested-by: Jenkins
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/drawingml/chart/seriesconverter.cxx | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/oox/source/drawingml/chart/seriesconverter.cxx b/oox/source/drawingml/chart/seriesconverter.cxx index b80ea05ae481..b1b6019dfb40 100644 --- a/oox/source/drawingml/chart/seriesconverter.cxx +++ b/oox/source/drawingml/chart/seriesconverter.cxx @@ -109,7 +109,7 @@ void convertTextProperty(PropertySet& rPropSet, ObjectFormatter& rFormatter, void lclConvertLabelFormatting( PropertySet& rPropSet, ObjectFormatter& rFormatter, const DataLabelModelBase& rDataLabel, const TypeGroupConverter& rTypeGroup, - bool bDataSeriesLabel, bool bMSO2007Doc ) + bool bDataSeriesLabel, bool bCustomLabelField, bool bMSO2007Doc ) { const TypeGroupInfo& rTypeInfo = rTypeGroup.getTypeInfo(); @@ -137,7 +137,7 @@ void lclConvertLabelFormatting( PropertySet& rPropSet, ObjectFormatter& rFormatt // type of attached label if( bHasAnyElement || rDataLabel.mbDeleted ) { - DataPointLabel aPointLabel( bShowValue, bShowPercent, bShowCateg, bShowSymbol ); + DataPointLabel aPointLabel( bShowValue, bShowPercent, bShowCateg, bShowSymbol, bCustomLabelField ); rPropSet.setProperty( PROP_Label, aPointLabel ); } @@ -271,7 +271,8 @@ void DataLabelConverter::convertFromModel( const Reference< XDataSeries >& rxDat { bool bMSO2007Doc = getFilter().isMSO2007Document(); PropertySet aPropSet( rxDataSeries->getDataPointByIndex( mrModel.mnIndex ) ); - lclConvertLabelFormatting( aPropSet, getFormatter(), mrModel, rTypeGroup, false, bMSO2007Doc ); + bool bCustomLabelField = mrModel.mxText && mrModel.mxText->mxTextBody && !mrModel.mxText->mxTextBody->getParagraphs().empty(); + lclConvertLabelFormatting( aPropSet, getFormatter(), mrModel, rTypeGroup, false, bCustomLabelField, bMSO2007Doc ); const TypeGroupInfo& rTypeInfo = rTypeGroup.getTypeInfo(); bool bIsPie = rTypeInfo.meTypeCategory == TYPECATEGORY_PIE; @@ -289,7 +290,7 @@ void DataLabelConverter::convertFromModel( const Reference< XDataSeries >& rxDat importFillProperties(aPropSet, *mrModel.mxShapeProp, getFilter().getGraphicHelper(), rHelper); } - if( mrModel.mxText && mrModel.mxText->mxTextBody && !mrModel.mxText->mxTextBody->getParagraphs().empty() ) + if( bCustomLabelField ) { css::uno::Reference< XComponentContext > xContext = getComponentContext(); uno::Sequence< css::uno::Reference< XDataPointCustomLabelField > > aSequence; @@ -405,7 +406,7 @@ void DataLabelsConverter::convertFromModel( const Reference< XDataSeries >& rxDa // tdf#132174: the inner data table has no own cell number format. if( getChartDocument()->hasInternalDataProvider() && mrModel.mobShowVal.get(!bMSO2007Doc) ) mrModel.maNumberFormat.mbSourceLinked = false; - lclConvertLabelFormatting( aPropSet, getFormatter(), mrModel, rTypeGroup, true, bMSO2007Doc ); + lclConvertLabelFormatting( aPropSet, getFormatter(), mrModel, rTypeGroup, true, false, bMSO2007Doc ); if (mrModel.mxShapeProp) { |