summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorBalazs Varga <balazs.varga991@gmail.com>2020-07-08 11:06:38 +0200
committerLászló Németh <nemeth@numbertext.org>2020-08-18 19:01:21 +0200
commit5d67d70b26706ce8a08612c12a68821f984210a2 (patch)
tree7e857813c19bb75a6d0751fc31a7bec6101dc213 /oox
parent73f9d308337ce54d724f46e96e6505c45f445f26 (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.cxx6
-rw-r--r--oox/source/drawingml/chart/seriesconverter.cxx2
-rw-r--r--oox/source/export/chartexport.cxx6
-rw-r--r--oox/source/token/properties.txt2
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