From 603df08a1e0211099ce2cf258cfe64a74ed6ded9 Mon Sep 17 00:00:00 2001 From: Gülşah Köse Date: Mon, 4 May 2020 11:48:51 +0300 Subject: tdf#131175 Import data label solid fill and color. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I8a3ef6e60d4f2a13310bb9a8fc4eb873df3f9b4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93407 Tested-by: Jenkins Reviewed-by: Gülşah Köse --- oox/source/drawingml/chart/seriesconverter.cxx | 23 ++++++++++++++++++++++- oox/source/token/properties.txt | 2 ++ 2 files changed, 24 insertions(+), 1 deletion(-) (limited to 'oox') diff --git a/oox/source/drawingml/chart/seriesconverter.cxx b/oox/source/drawingml/chart/seriesconverter.cxx index b12f4416100b..6591e7277040 100644 --- a/oox/source/drawingml/chart/seriesconverter.cxx +++ b/oox/source/drawingml/chart/seriesconverter.cxx @@ -32,12 +32,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -199,6 +201,20 @@ void importBorderProperties( PropertySet& rPropSet, Shape& rShape, const Graphic rPropSet.setProperty(PROP_LabelBorderColor, uno::makeAny(nColor)); } +void importFillProperties( PropertySet& rPropSet, Shape& rShape, const GraphicHelper& rGraphicHelper ) +{ + FillProperties& rFP = rShape.getFillProperties(); + + if (rFP.moFillType.has() && rFP.moFillType.get() == XML_solidFill) + { + rPropSet.setProperty(PROP_LabelFillStyle, drawing::FillStyle_SOLID); + + const Color& aColor = rFP.maFillColor; + ::Color nColor = aColor.getColor(rGraphicHelper); + rPropSet.setProperty(PROP_LabelFillColor, uno::makeAny(nColor)); + } +} + DataPointCustomLabelFieldType lcl_ConvertFieldNameToFieldEnum( const OUString& rField ) { if (rField == "VALUE") @@ -246,8 +262,10 @@ void DataLabelConverter::convertFromModel( const Reference< XDataSeries >& rxDat } if (mrModel.mxShapeProp) + { importBorderProperties(aPropSet, *mrModel.mxShapeProp, getFilter().getGraphicHelper()); - + importFillProperties(aPropSet, *mrModel.mxShapeProp, getFilter().getGraphicHelper()); + } if( mrModel.mxText && mrModel.mxText->mxTextBody && !mrModel.mxText->mxTextBody->getParagraphs().empty() ) { css::uno::Reference< XComponentContext > xContext = getComponentContext(); @@ -330,8 +348,11 @@ void DataLabelsConverter::convertFromModel( const Reference< XDataSeries >& rxDa lclConvertLabelFormatting( aPropSet, getFormatter(), mrModel, rTypeGroup, true, bMSO2007Doc ); if (mrModel.mxShapeProp) + { // Import baseline border properties for these data labels. importBorderProperties(aPropSet, *mrModel.mxShapeProp, getFilter().getGraphicHelper()); + importFillProperties(aPropSet, *mrModel.mxShapeProp, getFilter().getGraphicHelper()); + } } // import leaderline of data labels if( !mrModel.mbShowLeaderLines ) diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt index 5c507fab553d..667e479107e5 100644 --- a/oox/source/token/properties.txt +++ b/oox/source/token/properties.txt @@ -287,6 +287,8 @@ LabelBorderWidth LabelPlacement LabelPosition LabelSeparator +LabelFillStyle +LabelFillColor CustomLabelFields LayoutInfo LeftBorder -- cgit