chart2/qa/extras/chart2export.cxx | 10 ++++++++++ chart2/qa/extras/data/odt/testPieChartWallLineStyle.odt |binary oox/source/export/chartexport.cxx | 11 +++++++++++ 3 files changed, 21 insertions(+)
New commits: commit a1d4c2419097169cb2d51f7c11d90073766f6d9d Author: Balazs Varga <balazs.varga...@gmail.com> AuthorDate: Mon Oct 8 19:31:38 2018 +0200 Commit: László Németh <nem...@numbertext.org> CommitDate: Tue Oct 9 09:27:56 2018 +0200 tdf#120341 OOXML export: fix export of Pie Chart Wall Borderline Export LineStyle_NONE instead of default linestyle of PlotArea border, because LibreOffice make invisible the Wall shape properties in case of PIE/NET/FILLED_NET charts. Or other solution in the future is set the default LineStyle of these charts to LineStyle_NONE. Change-Id: I59e6f18058713f4a0d4c77da8760a319f9c25152 Reviewed-on: https://gerrit.libreoffice.org/61547 Tested-by: Jenkins Reviewed-by: László Németh <nem...@numbertext.org> diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx index d170510e2294..c6efff2eaaa0 100644 --- a/chart2/qa/extras/chart2export.cxx +++ b/chart2/qa/extras/chart2export.cxx @@ -57,6 +57,7 @@ public: void testDisplayUnits(); // void testFdo74115WallGradientFill(); void testFdo74115WallBitmapFill(); + void testPieChartWallLineStyle(); void testBarChartRotation(); void testShapeFollowedByChart(); void testPieChartDataLabels(); @@ -140,6 +141,7 @@ public: CPPUNIT_TEST(testDisplayUnits); // CPPUNIT_TEST(testFdo74115WallGradientFill); CPPUNIT_TEST(testFdo74115WallBitmapFill); + CPPUNIT_TEST(testPieChartWallLineStyle); CPPUNIT_TEST(testBarChartRotation); CPPUNIT_TEST(testShapeFollowedByChart); CPPUNIT_TEST(testPieChartDataLabels); @@ -712,6 +714,14 @@ void Chart2ExportTest::testFdo74115WallBitmapFill() assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:spPr/a:blipFill"); } +void Chart2ExportTest::testPieChartWallLineStyle() +{ + load("/chart2/qa/extras/data/odt/", "testPieChartWallLineStyle.odt"); + xmlDocPtr pXmlDoc = parseExport("word/charts/chart", "Office Open XML Text"); + CPPUNIT_ASSERT(pXmlDoc); + assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:spPr/a:ln/a:noFill"); +} + //The below test case tests the built in marker 'x' for Office 2010 in Line charts void Chart2ExportTest::testFdo78290LineChartMarkerX() diff --git a/chart2/qa/extras/data/odt/testPieChartWallLineStyle.odt b/chart2/qa/extras/data/odt/testPieChartWallLineStyle.odt new file mode 100644 index 000000000000..0e1ab533b15a Binary files /dev/null and b/chart2/qa/extras/data/odt/testPieChartWallLineStyle.odt differ diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 63958cdb3f7a..ded91c2b47d1 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -75,6 +75,7 @@ #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/drawing/XShape.hpp> #include <com/sun/star/drawing/FillStyle.hpp> +#include <com/sun/star/drawing/LineStyle.hpp> #include <com/sun/star/drawing/BitmapMode.hpp> #include <com/sun/star/awt/XBitmap.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> @@ -1178,6 +1179,16 @@ void ChartExport::exportPlotArea( const Reference< css::chart::XChartDocument >& Reference< beans::XPropertySet > xWallPropSet( xWallFloorSupplier->getWall(), uno::UNO_QUERY ); if( xWallPropSet.is() ) { + uno::Any aAny = xWallPropSet->getPropertyValue("LineStyle"); + sal_Int32 eChartType = getChartType( ); + // Export LineStyle_NONE instead of default linestyle of PlotArea border, because LibreOffice + // make invisible the Wall shape properties, in case of these charts. Or in the future set + // the default LineStyle of these charts to LineStyle_NONE. + bool noSupportWallProp = ( (eChartType == chart::TYPEID_PIE) || (eChartType == chart::TYPEID_RADARLINE) || (eChartType == chart::TYPEID_RADARAREA) ); + if ( noSupportWallProp && (aAny != drawing::LineStyle_NONE) ) + { + xWallPropSet->setPropertyValue( "LineStyle", uno::Any(drawing::LineStyle_NONE) ); + } exportShapeProps( xWallPropSet ); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits