[Libreoffice-commits] core.git: Branch 'libreoffice-6-2' - chart2/qa oox/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sat Feb 16 09:49:03 UTC 2019


 chart2/qa/extras/chart2export.cxx                  |   20 ++++++++++++++++++++
 chart2/qa/extras/data/docx/testLabelSeparator.docx |binary
 oox/source/export/chartexport.cxx                  |   11 +++++++++++
 3 files changed, 31 insertions(+)

New commits:
commit f394d911c00d96537841873d1ba20be9df58f5fd
Author:     Balazs Varga <balazs.varga991 at gmail.com>
AuthorDate: Wed Feb 13 08:40:55 2019 +0100
Commit:     Markus Mohrhard <markus.mohrhard at googlemail.com>
CommitDate: Sat Feb 16 10:48:42 2019 +0100

    tdf#123400 OOXML Chart: Export Data Label Separator
    
    Export the data label separator XML tag and
    the separated character to OOXML.
    
    Change-Id: I9b3bcb588e42a42494107ebde70f4a72492cfac4
    Reviewed-on: https://gerrit.libreoffice.org/67753
    Tested-by: Jenkins
    Reviewed-by: László Németh <nemeth at numbertext.org>
    (cherry picked from commit e32e5e61b509dcae0462419acfc556d445895840)
    Reviewed-on: https://gerrit.libreoffice.org/67772
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx
index 45d9ff73f08f..88d58bd7c683 100644
--- a/chart2/qa/extras/chart2export.cxx
+++ b/chart2/qa/extras/chart2export.cxx
@@ -117,6 +117,7 @@ public:
     void testCustomDataLabel();
     void testCustomDataLabelMultipleSeries();
     void testNumberFormatExportPPTX();
+    void testLabelSeparatorExportDOCX();
     void testChartTitlePropertiesColorFillPPTX();
     void testChartTitlePropertiesGradientFillPPTX();
     void testChartTitlePropertiesBitmapFillPPTX();
@@ -203,6 +204,7 @@ public:
     CPPUNIT_TEST(testCustomDataLabel);
     CPPUNIT_TEST(testCustomDataLabelMultipleSeries);
     CPPUNIT_TEST(testNumberFormatExportPPTX);
+    CPPUNIT_TEST(testLabelSeparatorExportDOCX);
     CPPUNIT_TEST(testChartTitlePropertiesColorFillPPTX);
     CPPUNIT_TEST(testChartTitlePropertiesGradientFillPPTX);
     CPPUNIT_TEST(testChartTitlePropertiesBitmapFillPPTX);
@@ -1892,6 +1894,24 @@ void Chart2ExportTest::testNumberFormatExportPPTX()
     assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:barChart/c:ser/c:dLbls/c:numFmt", "sourceLinked", "0");
 }
 
+void Chart2ExportTest::testLabelSeparatorExportDOCX()
+{
+    load("/chart2/qa/extras/data/docx/", "testLabelSeparator.docx");
+
+    Reference<chart2::XChartDocument> xChartDoc(getChartDocFromWriter(0), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xChartDoc.is());
+
+    xmlDocPtr pXmlDoc = parseExport("word/charts/chart","Office Open XML Text");
+    CPPUNIT_ASSERT(pXmlDoc);
+
+    // The text separator should be a new line
+    assertXPathContent(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:barChart/c:ser[1]/c:dLbls/c:separator", "\n");
+    // The text separator should be a comma
+    assertXPathContent(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:barChart/c:ser[2]/c:dLbls/c:separator", ", ");
+    // The text separator should be a semicolon
+    assertXPathContent(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:barChart/c:ser[3]/c:dLbls/c:separator", "; ");
+}
+
 void Chart2ExportTest::testChartTitlePropertiesColorFillPPTX()
 {
     load("/chart2/qa/extras/data/pptx/", "testChartTitlePropertiesColorFill.pptx");
diff --git a/chart2/qa/extras/data/docx/testLabelSeparator.docx b/chart2/qa/extras/data/docx/testLabelSeparator.docx
new file mode 100755
index 000000000000..452fdccc9403
Binary files /dev/null and b/chart2/qa/extras/data/docx/testLabelSeparator.docx differ
diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx
index 00b631688b14..05a2946f9e4a 100644
--- a/oox/source/export/chartexport.cxx
+++ b/oox/source/export/chartexport.cxx
@@ -3134,6 +3134,17 @@ void writeLabelProperties( const FSHelperPtr& pFS, ChartExport* pChartExport,
     pFS->singleElement(FSNS(XML_c, XML_showCatName), XML_val, ToPsz10(aLabel.ShowCategoryName), FSEND);
     pFS->singleElement(FSNS(XML_c, XML_showSerName), XML_val, ToPsz10(false), FSEND);
     pFS->singleElement(FSNS(XML_c, XML_showPercent), XML_val, ToPsz10(aLabel.ShowNumberInPercent), FSEND);
+
+    // Export the text "separator" if exists
+    uno::Any aAny = xPropSet->getPropertyValue("LabelSeparator");
+    if( aAny.hasValue() )
+    {
+        OUString nLabelSeparator;
+        aAny >>= nLabelSeparator;
+        pFS->startElement( FSNS( XML_c, XML_separator ), FSEND );
+        pFS->writeEscaped( nLabelSeparator );
+        pFS->endElement( FSNS( XML_c, XML_separator ) );
+    }
 }
 
 }


More information about the Libreoffice-commits mailing list