chart2/qa/extras/chart2export.cxx | 10 +++++++++ chart2/qa/extras/data/docx/Bar_horizontal_cone.docx |binary oox/source/drawingml/chart/axisconverter.cxx | 2 - oox/source/export/chartexport.cxx | 22 ++++++++++---------- xmloff/source/chart/XMLAxisPositionPropertyHdl.cxx | 8 +++++++ 5 files changed, 31 insertions(+), 11 deletions(-)
New commits: commit a70dfc34a67e9fb240cc70853da0c49fa01c2e4f Author: sushil_shinde <sushil.shi...@synerzip.com> Date: Mon Dec 9 12:27:40 2013 +0530 fdo#72306 Axis names were lost after saving file on LO. While exporting chart "crosses" position values were not handled properly in chartexport. Fixed this issue by handling "autozero" value for c:crosses. Added unit test. Change-Id: I3489908d4c3d4b41a04debfecf95e65f373649ce diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx index 9830f0a..dbc0a0d 100644 --- a/chart2/qa/extras/chart2export.cxx +++ b/chart2/qa/extras/chart2export.cxx @@ -34,6 +34,7 @@ public: void testTrendline(); void testStockChart(); void testBarChart(); + void testCrosses(); CPPUNIT_TEST_SUITE(Chart2ExportTest); CPPUNIT_TEST(test); @@ -41,6 +42,7 @@ public: CPPUNIT_TEST(testTrendline); CPPUNIT_TEST(testStockChart); CPPUNIT_TEST(testBarChart); + CPPUNIT_TEST(testCrosses); CPPUNIT_TEST_SUITE_END(); @@ -425,6 +427,14 @@ void Chart2ExportTest::testBarChart() assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:barChart/c:barDir", "val", "col"); } +void Chart2ExportTest::testCrosses() +{ + load("/chart2/qa/extras/data/docx/", "Bar_horizontal_cone.docx"); + xmlDocPtr pXmlDoc = parseExport("word/charts/chart", "Office Open XML Text"); + + assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:catAx/c:crosses", "val", "autoZero"); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/chart2/qa/extras/data/docx/Bar_horizontal_cone.docx b/chart2/qa/extras/data/docx/Bar_horizontal_cone.docx new file mode 100644 index 0000000..2280d89 Binary files /dev/null and b/chart2/qa/extras/data/docx/Bar_horizontal_cone.docx differ diff --git a/oox/source/drawingml/chart/axisconverter.cxx b/oox/source/drawingml/chart/axisconverter.cxx index da1a732..5efa7d9 100644 --- a/oox/source/drawingml/chart/axisconverter.cxx +++ b/oox/source/drawingml/chart/axisconverter.cxx @@ -323,7 +323,7 @@ void AxisConverter::convertFromModel( const Reference< XCoordinateSystem >& rxCo { case XML_min: eAxisPos = cssc::ChartAxisPosition_START; break; case XML_max: eAxisPos = cssc::ChartAxisPosition_END; break; - case XML_autoZero: eAxisPos = cssc::ChartAxisPosition_VALUE; break; + case XML_autoZero: eAxisPos = cssc::ChartAxisPosition_ZERO; break; } if( !mrModel.mbAuto ) aAxisProp.setProperty( PROP_CrossoverPosition, eAxisPos ); diff --git a/xmloff/source/chart/XMLAxisPositionPropertyHdl.cxx b/xmloff/source/chart/XMLAxisPositionPropertyHdl.cxx index 1243011..de047a7 100644 --- a/xmloff/source/chart/XMLAxisPositionPropertyHdl.cxx +++ b/xmloff/source/chart/XMLAxisPositionPropertyHdl.cxx @@ -62,6 +62,14 @@ bool XMLAxisPositionPropertyHdl::importXML( const OUString& rStrImpValue, bResult = true; } } + else if( rStrImpValue.equals( GetXMLToken(XML_0) ) ) + { + if( !m_bCrossingValue ) + { + rValue <<= ::com::sun::star::chart::ChartAxisPosition_ZERO; + bResult = true; + } + } else { if( !m_bCrossingValue ) commit 02a047365fccce91d5b1feae0addf79fe58ebe31 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sun Dec 15 23:11:56 2013 +0100 fix an OOXML chart validation error Change-Id: I0c95aa285509187b6d54f44c41720e2aefab175b diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 53ca88d..7575263 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -1594,7 +1594,7 @@ void ChartExport::exportSeries( Reference< chart2::XChartType > xChartType, sal_ exportErrorBar(xErrorBarXProps, false); // export categories - if( mxCategoriesValues.is() ) + if( eChartType != chart::TYPEID_SCATTER && mxCategoriesValues.is() ) exportSeriesCategory( mxCategoriesValues ); if( (eChartType == chart::TYPEID_SCATTER) commit b60bb82a0a1d79b0c967fc8cc405ba3d9394eb4a Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sun Dec 15 23:00:42 2013 +0100 fix an OOXML chart validation error Change-Id: Ic91f6179b663afb59700f85ea48720dc9b14f372 diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 3447f2d..53ca88d 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -2037,15 +2037,6 @@ void ChartExport::_exportAxis( pFS->startElement( FSNS( XML_c, XML_scaling ), FSEND ); - // orientation: minMax, maxMin - sal_Bool bReverseDirection = sal_False; - if(GetProperty( xAxisProp, "ReverseDirection" ) ) - mAny >>= bReverseDirection; - - const char* orientation = bReverseDirection ? "maxMin":"minMax"; - pFS->singleElement( FSNS( XML_c, XML_orientation ), - XML_val, orientation, - FSEND ); // logBase, min, max if(GetProperty( xAxisProp, "Logarithmic" ) ) { @@ -2060,6 +2051,17 @@ void ChartExport::_exportAxis( FSEND ); } } + + // orientation: minMax, maxMin + sal_Bool bReverseDirection = sal_False; + if(GetProperty( xAxisProp, "ReverseDirection" ) ) + mAny >>= bReverseDirection; + + const char* orientation = bReverseDirection ? "maxMin":"minMax"; + pFS->singleElement( FSNS( XML_c, XML_orientation ), + XML_val, orientation, + FSEND ); + sal_Bool bAutoMax = sal_False; if(GetProperty( xAxisProp, "AutoMax" ) ) mAny >>= bAutoMax; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits