[Libreoffice-commits] core.git: 8 commits - chart2/qa include/oox oox/source sc/source

Markus Mohrhard markus.mohrhard at googlemail.com
Tue Apr 14 19:00:50 PDT 2015


 chart2/qa/extras/chart2export.cxx                 |   30 +++++++++++++
 chart2/qa/extras/data/xlsx/markerColor.xlsx       |binary
 include/oox/export/chartexport.hxx                |    3 +
 oox/source/drawingml/chart/typegroupconverter.cxx |    1 
 oox/source/export/chartexport.cxx                 |   48 +++++++++++++++++++++-
 sc/source/filter/excel/xestyle.cxx                |    2 
 6 files changed, 83 insertions(+), 1 deletion(-)

New commits:
commit a4757e800be39ca528d3b7d3f39b09d10c39978e
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Wed Apr 15 03:54:24 2015 +0200

    add test case for tdf#81407
    
    Change-Id: I45124d662cee9b845c1f851de4f564dfe8c0e94e

diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx
index 4d67a24..b60c1e4 100644
--- a/chart2/qa/extras/chart2export.cxx
+++ b/chart2/qa/extras/chart2export.cxx
@@ -82,6 +82,7 @@ public:
     void testFdo83058dlblPos();
     void testAutoTitleDelXLSX();
     void testDispBlanksAsXLSX();
+    void testMarkerColorXLSX();
 
     CPPUNIT_TEST_SUITE(Chart2ExportTest);
     CPPUNIT_TEST(test);
@@ -129,6 +130,7 @@ public:
     CPPUNIT_TEST(testFdo83058dlblPos);
     CPPUNIT_TEST(testAutoTitleDelXLSX);
     CPPUNIT_TEST(testDispBlanksAsXLSX);
+    CPPUNIT_TEST(testMarkerColorXLSX);
     CPPUNIT_TEST_SUITE_END();
 
 protected:
@@ -1219,6 +1221,14 @@ void Chart2ExportTest::testDispBlanksAsXLSX()
     assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:dispBlanksAs", "val", "gap");
 }
 
+void Chart2ExportTest::testMarkerColorXLSX()
+{
+    load("/chart2/qa/extras/data/xlsx/", "markerColor.xlsx");
+    xmlDocPtr pXmlDoc = parseExport("xl/charts/chart", "Calc Office Open XML");
+    CPPUNIT_ASSERT(pXmlDoc);
+    assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:scatterChart/c:ser/c:marker/c:spPr/a:solidFill/a:srgbClr", "val", "92d050");
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ExportTest);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/chart2/qa/extras/data/xlsx/markerColor.xlsx b/chart2/qa/extras/data/xlsx/markerColor.xlsx
new file mode 100644
index 0000000..65e87ff
Binary files /dev/null and b/chart2/qa/extras/data/xlsx/markerColor.xlsx differ
commit 30936e3f6f8242950526ce9a0d02971a881b7910
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Wed Apr 15 03:25:55 2015 +0200

    import marker color from OOXML, related tdf#81407
    
    Change-Id: Ie416d757b73e99836d14b7f24a5cb4b370284d8c

diff --git a/oox/source/drawingml/chart/typegroupconverter.cxx b/oox/source/drawingml/chart/typegroupconverter.cxx
index 7a7b2a6..2a38f5a 100644
--- a/oox/source/drawingml/chart/typegroupconverter.cxx
+++ b/oox/source/drawingml/chart/typegroupconverter.cxx
@@ -478,6 +478,7 @@ void TypeGroupConverter::convertMarker( PropertySet& rPropSet, sal_Int32 nOoxSym
         {
             Color aFillColor = xShapeProps->getFillProperties().maFillColor;
             aSymbol.FillColor = aFillColor.getColor(getFilter().getGraphicHelper());
+            rPropSet.setProperty(PROP_Color, aSymbol.FillColor);
         }
 
         // set the property
commit 96c05f82cd4df35505497bc29d96c8a250072db0
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Wed Apr 15 03:02:01 2015 +0200

    export marker color correctly, tdf#81407
    
    Change-Id: Iebc3d87642c93fcdecddd6332fd57b7fdfb2d337

diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx
index 7161242..2373c5a 100644
--- a/oox/source/export/chartexport.cxx
+++ b/oox/source/export/chartexport.cxx
@@ -3101,7 +3101,12 @@ void ChartExport::exportMarker(Reference< chart2::XDataSeries > xSeries)
 
     pFS->startElement( FSNS( XML_c, XML_spPr ),
             FSEND );
-    WriteSolidFill(aSymbol.FillColor);
+
+    util::Color aColor = aSymbol.FillColor;
+    if (GetProperty(xPropSet, "Color"))
+        mAny >>= aColor;
+
+    WriteSolidFill(aColor);
     pFS->endElement( FSNS( XML_c, XML_spPr ) );
 
     pFS->endElement( FSNS( XML_c, XML_marker ) );
commit 3781872660f1d7a28fb601c57ea063deb2aacb60
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Wed Apr 15 00:29:10 2015 +0200

    add test for dispBlanksAs export
    
    Change-Id: I5d48b99c87c66033a1e5ada05a9d2aa6bd3fb667

diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx
index b0874dd..4d67a24 100644
--- a/chart2/qa/extras/chart2export.cxx
+++ b/chart2/qa/extras/chart2export.cxx
@@ -81,6 +81,7 @@ public:
     void testDataLabelDefaultLineChartDOCX();
     void testFdo83058dlblPos();
     void testAutoTitleDelXLSX();
+    void testDispBlanksAsXLSX();
 
     CPPUNIT_TEST_SUITE(Chart2ExportTest);
     CPPUNIT_TEST(test);
@@ -127,6 +128,7 @@ public:
     CPPUNIT_TEST(testDataLabelDefaultLineChartDOCX);
     CPPUNIT_TEST(testFdo83058dlblPos);
     CPPUNIT_TEST(testAutoTitleDelXLSX);
+    CPPUNIT_TEST(testDispBlanksAsXLSX);
     CPPUNIT_TEST_SUITE_END();
 
 protected:
@@ -1209,6 +1211,14 @@ void Chart2ExportTest::testAutoTitleDelXLSX()
     assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:autoTitleDeleted", "val", "0");
 }
 
+void Chart2ExportTest::testDispBlanksAsXLSX()
+{
+    load("/chart2/qa/extras/data/xlsx/", "dispBlanksAs_2007.xlsx");
+    xmlDocPtr pXmlDoc = parseExport("xl/charts/chart","Calc Office Open XML");
+    CPPUNIT_ASSERT(pXmlDoc);
+    assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:dispBlanksAs", "val", "gap");
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ExportTest);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
commit e68ceaec43f0c0ff326064642072bb8f904e7e8a
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Wed Apr 15 00:21:21 2015 +0200

    export missing value treatment to OOXML
    
    Change-Id: I1a448e9c954a3851fe3590a0fae73ed5b27555f0

diff --git a/include/oox/export/chartexport.hxx b/include/oox/export/chartexport.hxx
index 170fe91..ddc6087 100644
--- a/include/oox/export/chartexport.hxx
+++ b/include/oox/export/chartexport.hxx
@@ -178,6 +178,9 @@ private:
     void exportView3D();
     bool isDeep3dChart();
 
+    void exportMissingValueTreatment(com::sun::star::uno::Reference<
+            com::sun::star::beans::XPropertySet> xPropSet);
+
 public:
 
     ChartExport( sal_Int32 nXmlNamespace, ::sax_fastparser::FSHelperPtr pFS, ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xModel, ::oox::core::XmlFilterBase* pFB = NULL, DocumentType eDocumentType = DOCUMENT_PPTX );
diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx
index 7209fe2..7161242 100644
--- a/oox/source/export/chartexport.cxx
+++ b/oox/source/export/chartexport.cxx
@@ -45,6 +45,7 @@
 #include <com/sun/star/chart/ChartSolidType.hpp>
 #include <com/sun/star/chart/DataLabelPlacement.hpp>
 #include <com/sun/star/chart/ErrorBarStyle.hpp>
+#include <com/sun/star/chart/MissingValueTreatment.hpp>
 
 #include <com/sun/star/chart2/XChartDocument.hpp>
 #include <com/sun/star/chart2/XDiagram.hpp>
@@ -904,9 +905,44 @@ void ChartExport::exportChart( Reference< ::com::sun::star::chart::XChartDocumen
             XML_val, "1",
             FSEND );
 
+    exportMissingValueTreatment(Reference<beans::XPropertySet>(mxDiagram, uno::UNO_QUERY));
+
     pFS->endElement( FSNS( XML_c, XML_chart ) );
 }
 
+void ChartExport::exportMissingValueTreatment(uno::Reference<beans::XPropertySet> xPropSet)
+{
+    if (!xPropSet.is())
+        return;
+
+    sal_Int32 nVal = 0;
+    uno::Any aAny = xPropSet->getPropertyValue("MissingValueTreatment");
+    if (!(aAny >>= nVal))
+        return;
+
+    const char* pVal = NULL;
+    switch (nVal)
+    {
+        case cssc::MissingValueTreatment::LEAVE_GAP:
+            pVal = "gap";
+        break;
+        case cssc::MissingValueTreatment::USE_ZERO:
+            pVal = "zero";
+        break;
+        case cssc::MissingValueTreatment::CONTINUE:
+            pVal = "span";
+        break;
+        default:
+            SAL_WARN("oox", "unknown MissingValueTreatment value");
+        break;
+    }
+
+    FSHelperPtr pFS = GetFS();
+    pFS->singleElement( FSNS(XML_c, XML_dispBlanksAs),
+            XML_val, pVal,
+            FSEND);
+}
+
 void ChartExport::exportLegend( Reference< ::com::sun::star::chart::XChartDocument > rChartDoc )
 {
     FSHelperPtr pFS = GetFS();
commit d6f685f43472f8f849edbc0f5aefd017fcce5912
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Apr 14 23:55:13 2015 +0200

    add test for autoTitleDeleted export
    
    Change-Id: I152b6625b5ae1ec40e375bad2f144978dc7d8bba

diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx
index 66f5b90..b0874dd 100644
--- a/chart2/qa/extras/chart2export.cxx
+++ b/chart2/qa/extras/chart2export.cxx
@@ -80,6 +80,7 @@ public:
     void testDataLabelAreaChartDOCX();
     void testDataLabelDefaultLineChartDOCX();
     void testFdo83058dlblPos();
+    void testAutoTitleDelXLSX();
 
     CPPUNIT_TEST_SUITE(Chart2ExportTest);
     CPPUNIT_TEST(test);
@@ -125,6 +126,7 @@ public:
     CPPUNIT_TEST(testDataLabelAreaChartDOCX);
     CPPUNIT_TEST(testDataLabelDefaultLineChartDOCX);
     CPPUNIT_TEST(testFdo83058dlblPos);
+    CPPUNIT_TEST(testAutoTitleDelXLSX);
     CPPUNIT_TEST_SUITE_END();
 
 protected:
@@ -1199,6 +1201,14 @@ void Chart2ExportTest::testFdo83058dlblPos()
     assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:barChart/c:ser[1]/c:dLbls[1]/c:dLbl[5]/c:dLblPos", "val", "outEnd");
 }
 
+void Chart2ExportTest::testAutoTitleDelXLSX()
+{
+    load("/chart2/qa/extras/data/xlsx/", "autotitledel_2007.xlsx");
+    xmlDocPtr pXmlDoc = parseExport("xl/charts/chart","Calc Office Open XML");
+    CPPUNIT_ASSERT(pXmlDoc);
+    assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:autoTitleDeleted", "val", "0");
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ExportTest);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
commit ec2c8a602ecb8664b24d77e6ca6af17bf59d211c
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Apr 14 23:07:22 2015 +0200

    we use the correct OOXML default value now
    
    Change-Id: I1aad3e40ad61a1397b619bdc6e0f578e2c9c141e

diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx
index c12bf02..7209fe2 100644
--- a/oox/source/export/chartexport.cxx
+++ b/oox/source/export/chartexport.cxx
@@ -859,7 +859,12 @@ void ChartExport::exportChart( Reference< ::com::sun::star::chart::XChartDocumen
     {
         Reference< drawing::XShape > xShape = rChartDoc->getTitle();
         if( xShape.is() )
+        {
             exportTitle( xShape );
+            pFS->singleElement( FSNS(XML_c, XML_autoTitleDeleted),
+                    XML_val, "0",
+                    FSEND);
+        }
     }
     InitPlotArea( );
     if( mbIs3DChart )
commit c16dcf919affd803f4a52cec79be44b62b7a92ee
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Apr 14 21:58:45 2015 +0200

    correct font name export for dxf to xlsx
    
    Change-Id: Ice59382e13ca91f37f7140ee5bc5b5841a61acce

diff --git a/sc/source/filter/excel/xestyle.cxx b/sc/source/filter/excel/xestyle.cxx
index e391a3f..2a79374 100644
--- a/sc/source/filter/excel/xestyle.cxx
+++ b/sc/source/filter/excel/xestyle.cxx
@@ -1089,6 +1089,8 @@ void XclExpDxfFont::SaveXml(XclExpXmlStream& rStrm)
     if (maDxfData.pFontAttr)
     {
         OUString aFontName = (*maDxfData.pFontAttr)->GetFamilyName();
+
+        aFontName = XclTools::GetXclFontName(aFontName);
         if (!aFontName.isEmpty())
         {
             rStyleSheet->singleElement(XML_name,


More information about the Libreoffice-commits mailing list