From d0aaad22a95d96f4da2c930d98bdba138d4e15a1 Mon Sep 17 00:00:00 2001 From: Balazs Varga Date: Tue, 29 Oct 2019 16:55:40 +0100 Subject: [PATCH] tdf#128432 OOXML chart import: fix x axis scale regression of 3D charts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Set 3D charts ShiftedCategoryPosition value to default true in case of BarDiagram and StockDiagram. Regression from commit: 111c260ab2883b7906f1a66e222dbf4dc3c58c4f tdf#127777 OOXML chart export: fix "CrossBetween" for not imported charts Change-Id: I5bf0e6f6e7ad96e6c96c01ab18d74d51419f5e3c Reviewed-on: https://gerrit.libreoffice.org/81695 Reviewed-by: László Németh Tested-by: László Németh --- chart2/qa/extras/chart2import.cxx | 17 +++++++++++++++++ chart2/qa/extras/data/ods/tdf128432.ods | Bin 0 -> 13755 bytes xmloff/source/chart/SchXMLAxisContext.cxx | 19 +++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 chart2/qa/extras/data/ods/tdf128432.ods diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx index ab1233b13110..134dec112caa 100644 --- a/chart2/qa/extras/chart2import.cxx +++ b/chart2/qa/extras/chart2import.cxx @@ -132,6 +132,7 @@ public: void testTdf114179(); void testTdf124243(); void testTdf127393(); + void testTdf128432(); void testDeletedDataLabel(); void testDataPointInheritedColorDOCX(); void testExternalStrRefsXLSX(); @@ -224,6 +225,7 @@ public: CPPUNIT_TEST(testTdf114179); CPPUNIT_TEST(testTdf124243); CPPUNIT_TEST(testTdf127393); + CPPUNIT_TEST(testTdf128432); CPPUNIT_TEST(testDeletedDataLabel); CPPUNIT_TEST(testDataPointInheritedColorDOCX); CPPUNIT_TEST(testExternalStrRefsXLSX); @@ -1995,6 +1997,21 @@ void Chart2ImportTest::testTdf127393() CPPUNIT_ASSERT(!aScaleData2.ShiftedCategoryPosition); } +void Chart2ImportTest::testTdf128432() +{ + load("/chart2/qa/extras/data/ods/", "tdf128432.ods"); + + uno::Reference< chart2::XChartDocument > xChartDoc = getChartDocFromSheet(0, mxComponent); + CPPUNIT_ASSERT(xChartDoc.is()); + + Reference xAxis = getAxisFromDoc(xChartDoc, 0, 0, 0); + CPPUNIT_ASSERT(xAxis.is()); + + chart2::ScaleData aScaleData = xAxis->getScaleData(); + CPPUNIT_ASSERT(aScaleData.Categories.is()); + CPPUNIT_ASSERT(aScaleData.ShiftedCategoryPosition); +} + namespace { void checkDataLabelProperties(const Reference& xDataSeries, sal_Int32 nDataPointIndex, bool bValueVisible) diff --git a/chart2/qa/extras/data/ods/tdf128432.ods b/chart2/qa/extras/data/ods/tdf128432.ods new file mode 100644 index 0000000000000000000000000000000000000000..a93822fc9b6677ccffbb5eff61a77a0da63c55de GIT binary patch literal 13755 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 literal 0 HcmV?d00001 diff --git a/xmloff/source/chart/SchXMLAxisContext.cxx b/xmloff/source/chart/SchXMLAxisContext.cxx index aaa3b6f75bf1..931983bc8c01 100644 --- a/xmloff/source/chart/SchXMLAxisContext.cxx +++ b/xmloff/source/chart/SchXMLAxisContext.cxx @@ -461,6 +461,25 @@ void SchXMLAxisContext::CreateAxis() if( m_bAxisTypeImported ) m_xAxisProps->setPropertyValue("AxisType", uno::makeAny(m_nAxisType) ); + if( m_aCurrentAxis.eDimension == SCH_XML_AXIS_X ) + { + bool bIs3DChart = false; + if( (xDiaProp->getPropertyValue("Dim3D") >>= bIs3DChart) && bIs3DChart ) + { + OUString sChartType = m_xDiagram->getDiagramType(); + if( sChartType == "com.sun.star.chart.BarDiagram" || sChartType == "com.sun.star.chart.StockDiagram" ) + { + Reference< chart2::XAxis > xAxis(lcl_getAxis(GetImport().GetModel(), m_aCurrentAxis.eDimension, m_aCurrentAxis.nAxisIndex)); + if( xAxis.is() ) + { + chart2::ScaleData aScaleData(xAxis->getScaleData()); + aScaleData.ShiftedCategoryPosition = true; + xAxis->setScaleData(aScaleData); + } + } + } + } + if( !m_aAutoStyleName.isEmpty()) { const SvXMLStylesContext* pStylesCtxt = m_rImportHelper.GetAutoStylesContext();