diff options
author | Balazs Varga <balazs.varga991@gmail.com> | 2020-07-08 11:06:38 +0200 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2020-08-18 19:01:21 +0200 |
commit | 5d67d70b26706ce8a08612c12a68821f984210a2 (patch) | |
tree | 7e857813c19bb75a6d0751fc31a7bec6101dc213 /oox | |
parent | 73f9d308337ce54d724f46e96e6505c45f445f26 (diff) |
tdf#134563 Add UNO API for custom leader lines
If its ShowCustomLeaderLines=true, data series uses leader
lines for labels with custom alignment.
Add also OOXML import/export of custom data series setting.
Change-Id: I8e6f7cb457c38b84aa40c917e69704862262a96e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98323
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/seriescontext.cxx | 6 | ||||
-rw-r--r-- | oox/source/drawingml/chart/seriesconverter.cxx | 2 | ||||
-rw-r--r-- | oox/source/export/chartexport.cxx | 6 | ||||
-rw-r--r-- | oox/source/token/properties.txt | 2 |
4 files changed, 11 insertions, 5 deletions
diff --git a/oox/source/drawingml/chart/seriescontext.cxx b/oox/source/drawingml/chart/seriescontext.cxx index 912b7252e02b..3f92818c5544 100644 --- a/oox/source/drawingml/chart/seriescontext.cxx +++ b/oox/source/drawingml/chart/seriescontext.cxx @@ -139,8 +139,12 @@ ContextHandlerRef DataLabelsContext::onCreateContext( sal_Int32 nElement, const case C_TOKEN( leaderLines ): return new ShapePrWrapperContext( *this, mrModel.mxLeaderLines.create() ); case C_TOKEN( showLeaderLines ): - mrModel.mbShowLeaderLines = rAttribs.getBool( XML_val, !bMSO2007Doc ); + case C15_TOKEN( showLeaderLines ): + mrModel.mbShowLeaderLines = rAttribs.getBool( XML_val, true ); return nullptr; + case C_TOKEN( extLst ): + case C_TOKEN( ext ): + return new DataLabelsContext( *this, mrModel ); } return lclDataLabelSharedCreateContext( *this, nElement, rAttribs, mrModel, bMSO2007Doc ); } diff --git a/oox/source/drawingml/chart/seriesconverter.cxx b/oox/source/drawingml/chart/seriesconverter.cxx index 6e75fc89beab..b80ea05ae481 100644 --- a/oox/source/drawingml/chart/seriesconverter.cxx +++ b/oox/source/drawingml/chart/seriesconverter.cxx @@ -419,7 +419,7 @@ void DataLabelsConverter::convertFromModel( const Reference< XDataSeries >& rxDa } // import leaderline of data labels if( !mrModel.mbShowLeaderLines ) - aPropSet.setProperty( PROP_ShowLeaderLines, false ); + aPropSet.setProperty( PROP_ShowCustomLeaderLines, false ); // data point label settings for (auto const& pointLabel : mrModel.maPointLabels) diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index db4af798c867..ab8458d44b04 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -3600,14 +3600,16 @@ void ChartExport::exportDataLabels( // Baseline label properties for all labels. writeLabelProperties(pFS, this, xPropSet, aParam); - pFS->singleElement(FSNS(XML_c, XML_showLeaderLines), XML_val, "0"); + bool bShowLeaderLines = false; + xPropSet->getPropertyValue("ShowCustomLeaderLines") >>= bShowLeaderLines; + pFS->singleElement(FSNS(XML_c, XML_showLeaderLines), XML_val, ToPsz10(bShowLeaderLines)); // Export leader line if( eChartType != chart::TYPEID_PIE ) { pFS->startElement(FSNS(XML_c, XML_extLst)); pFS->startElement(FSNS(XML_c, XML_ext), XML_uri, "{CE6537A1-D6FC-4f65-9D91-7224C49458BB}", FSNS(XML_xmlns, XML_c15), GetFB()->getNamespaceURL(OOX_NS(c15))); - pFS->singleElement(FSNS(XML_c15, XML_showLeaderLines), XML_val, "1"); + pFS->singleElement(FSNS(XML_c15, XML_showLeaderLines), XML_val, ToPsz10(bShowLeaderLines)); pFS->endElement(FSNS(XML_c, XML_ext)); pFS->endElement(FSNS(XML_c, XML_extLst)); } diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt index fe8d75520077..46200bf221ff 100644 --- a/oox/source/token/properties.txt +++ b/oox/source/token/properties.txt @@ -463,6 +463,7 @@ Show ShowBorder ShowCharts ShowCorrelationCoefficient +ShowCustomLeaderLines ShowDetail ShowDrawing ShowEmpty @@ -474,7 +475,6 @@ ShowFormulas ShowGrid ShowHighLow ShowInputMessage -ShowLeaderLines ShowLegendEntry ShowList ShowNegativeError |