From 0970a47ae926bb47458b846e9dc8ff6f3607250c Mon Sep 17 00:00:00 2001 From: Balazs Varga Date: Fri, 28 Jun 2019 12:30:19 +0200 Subject: [PATCH] tdf#126115 Chart OOXML Export: fix individual marker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Export linechart custom (individual) datapoint marker settings into a tag, as the OOXML Standard requires. Change-Id: I939196c9ea6e091ac9dadb4d62dd85d5408d599c Reviewed-on: https://gerrit.libreoffice.org/74837 Tested-by: Jenkins Reviewed-by: László Németh --- chart2/qa/extras/chart2export.cxx | 18 ++++++++++++++++ chart2/qa/extras/data/xlsx/tdf126115.xlsx | Bin 0 -> 20173 bytes include/oox/export/chartexport.hxx | 2 +- oox/source/export/chartexport.cxx | 25 ++++++++++++++-------- 4 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 chart2/qa/extras/data/xlsx/tdf126115.xlsx diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx index 7a0abcf0bc02..f00959bdbfeb 100644 --- a/chart2/qa/extras/chart2export.cxx +++ b/chart2/qa/extras/chart2export.cxx @@ -73,6 +73,7 @@ public: void testFdo78290LineChartMarkerX(); void testFdo78290ScatterChartMarkerX(); void testFdo78290CombinationChartMarkerX(); + void testTdf126115IndividualMarker(); void testAxisNumberFormatODS(); void testAxisNumberFormatXLS(); void testDataLabelBordersDOCX(); @@ -170,6 +171,7 @@ public: CPPUNIT_TEST(testFdo78290LineChartMarkerX); CPPUNIT_TEST(testFdo78290ScatterChartMarkerX); CPPUNIT_TEST(testFdo78290CombinationChartMarkerX); + CPPUNIT_TEST(testTdf126115IndividualMarker); CPPUNIT_TEST(testAxisNumberFormatODS); CPPUNIT_TEST(testAxisNumberFormatXLS); CPPUNIT_TEST(testDataLabelBordersDOCX); @@ -801,6 +803,22 @@ void Chart2ExportTest::testFdo78290CombinationChartMarkerX() assertXPath(pXmlDoc, "/c:chartSpace[1]/c:chart[1]/c:plotArea[1]/c:lineChart[1]/c:ser[1]/c:marker[1]/c:size[1]","val","7"); } +void Chart2ExportTest::testTdf126115IndividualMarker() +{ + // Check individual marker properties. + load("/chart2/qa/extras/data/xlsx/", "tdf126115.xlsx"); + xmlDocPtr pXmlDoc = parseExport("xl/charts/chart", "Calc Office Open XML"); + CPPUNIT_ASSERT(pXmlDoc); + // 1. series + assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:scatterChart/c:ser[1]/c:dPt/c:marker/c:symbol", "val", "square"); + assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:scatterChart/c:ser[1]/c:dPt/c:marker/c:size", "val", "8"); + assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:scatterChart/c:ser[1]/c:dPt/c:marker/c:spPr/a:solidFill/a:srgbClr", "val", "ff0000"); + // 2. series + assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:scatterChart/c:ser[2]/c:dPt/c:marker/c:symbol", "val", "x"); + assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:scatterChart/c:ser[2]/c:dPt/c:marker/c:size", "val", "15"); + assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:scatterChart/c:ser[2]/c:dPt/c:marker/c:spPr/a:solidFill/a:srgbClr", "val", "7030a0"); +} + void Chart2ExportTest::testAxisNumberFormatODS() { struct diff --git a/chart2/qa/extras/data/xlsx/tdf126115.xlsx b/chart2/qa/extras/data/xlsx/tdf126115.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..f845c06e3142ba64ebcf24e930f45df6a804d80e GIT binary patch literal 20173 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 xSeries, sal_Int32 nSeriesLength, sal_Int32 eChartType ); void exportGrouping( bool isBar = false ); void exportTrendlines( const css::uno::Reference< css::chart2::XDataSeries >& xSeries ); - void exportMarker( const css::uno::Reference< css::chart2::XDataSeries >& xSeries ); + void exportMarker( const css::uno::Reference< css::beans::XPropertySet >& xPropSet ); void exportSmooth(); void exportFirstSliceAng(); diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 65b7bd3c3e23..b6c764ddbd8c 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -1930,7 +1930,7 @@ void ChartExport::exportSeries( const Reference& xChartType, break; case chart::TYPEID_LINE: { - exportMarker(xDataSeries); + exportMarker(xOldPropSet); break; } case chart::TYPEID_PIE: @@ -1947,12 +1947,12 @@ void ChartExport::exportSeries( const Reference& xChartType, } case chart::TYPEID_SCATTER: { - exportMarker(xDataSeries); + exportMarker(xOldPropSet); break; } case chart::TYPEID_RADARLINE: { - exportMarker(xDataSeries); + exportMarker(xOldPropSet); break; } } @@ -3222,12 +3222,20 @@ void ChartExport::exportDataPoints( case chart::TYPEID_BUBBLE: case chart::TYPEID_HORBAR: case chart::TYPEID_BAR: - { pFS->singleElement(FSNS(XML_c, XML_invertIfNegative), XML_val, "0"); - } - break; + exportShapeProps(xPropSet); + break; + + case chart::TYPEID_LINE: + case chart::TYPEID_SCATTER: + case chart::TYPEID_RADARLINE: + exportMarker(xPropSet); + break; + + default: + exportShapeProps(xPropSet); + break; } - exportShapeProps( xPropSet ); pFS->endElement( FSNS( XML_c, XML_dPt ) ); } @@ -3433,9 +3441,8 @@ void ChartExport::exportTrendlines( const Reference< chart2::XDataSeries >& xSer } } -void ChartExport::exportMarker(const Reference< chart2::XDataSeries >& xSeries) +void ChartExport::exportMarker(const Reference< XPropertySet >& xPropSet) { - Reference< XPropertySet > xPropSet( xSeries, uno::UNO_QUERY ); chart2::Symbol aSymbol; if( GetProperty( xPropSet, "Symbol" ) ) mAny >>= aSymbol;