tdf#140623 Chart OOXML import: set text overlap to false

of category axis label unless the rotation is 0 in xml.

Regression from commit: 21620f9d2f
(tdf#138194 Chart OOXML import: set text break to true)

Change-Id: I18db7483f49c84a83760200037f8858a3b471994
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116575
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
This commit is contained in:
Tünde Tóth
2021-06-02 11:51:13 +02:00
committed by László Németh
parent ff44c5f6bc
commit 6185d1ff01
3 changed files with 17 additions and 9 deletions

View File

@@ -271,10 +271,12 @@ void AxisConverter::convertFromModel(const Reference<XCoordinateSystem>& rxCoord
} }
else else
{ {
// do not overlap text when the rotation is undefined in xml // do not overlap text unless the rotation is 0 in xml
bool bTextOverlap bool bTextOverlap = false;
= mrModel.mxTextProp.is() if (mrModel.mxTextProp.is()
&& mrModel.mxTextProp->getTextProperties().moRotation.has(); && mrModel.mxTextProp->getTextProperties().moRotation.has())
bTextOverlap
= mrModel.mxTextProp->getTextProperties().moRotation.get() == 0;
aAxisProp.setProperty(PROP_TextOverlap, bTextOverlap); aAxisProp.setProperty(PROP_TextOverlap, bTextOverlap);
/* do not break text into several lines unless the rotation is 0 degree, /* do not break text into several lines unless the rotation is 0 degree,
or the rotation is 90 degree and the inner size of the chart is not fixed, or the rotation is 90 degree and the inner size of the chart is not fixed,

View File

@@ -409,7 +409,6 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter2, testTdf131707)
assertXPath(pXmlDoc, "//body/tab/row[3]/cell[2]/txt/anchored/fly/infos/bounds", "top", "2185"); assertXPath(pXmlDoc, "//body/tab/row[3]/cell[2]/txt/anchored/fly/infos/bounds", "top", "2185");
} }
#if HAVE_MORE_FONTS
CPPUNIT_TEST_FIXTURE(SwLayoutWriter2, testTdf122225) CPPUNIT_TEST_FIXTURE(SwLayoutWriter2, testTdf122225)
{ {
SwDoc* pDoc = createDoc("tdf122225.docx"); SwDoc* pDoc = createDoc("tdf122225.docx");
@@ -421,12 +420,19 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter2, testTdf122225)
xmlDocUniquePtr pXmlDoc = dumpAndParse(dumper, *xMetaFile); xmlDocUniquePtr pXmlDoc = dumpAndParse(dumper, *xMetaFile);
CPPUNIT_ASSERT(pXmlDoc); CPPUNIT_ASSERT(pXmlDoc);
assertXPathContent(pXmlDoc, // Bug 122225 - FILEOPEN DOCX Textbox of Column chart legend reduces and text of legend disappears
"/metafile/push[1]/push[1]/push[1]/push[4]/push[1]/textarray[8]/text", const sal_Int32 nLegendLabelLines
"Advanced Diploma"); = getXPathContent(pXmlDoc, "count(//text[contains(text(),\"Advanced Diploma\")])")
.toInt32();
// This failed, if the legend label is not "Advanced Diploma". // This failed, if the legend label is not "Advanced Diploma".
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), nLegendLabelLines);
// Bug 140623 - Fileopen DOCX: Text Orientation of X-Axis 0 instead of 45 degrees
const sal_Int32 nThirdLabelLines
= getXPathContent(pXmlDoc, "count(//text[contains(text(),\"Hispanic\")])").toInt32();
// This failed, if the third X axis label broke to multiple lines.
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), nThirdLabelLines);
} }
#endif
CPPUNIT_TEST_FIXTURE(SwLayoutWriter2, testTdf125335) CPPUNIT_TEST_FIXTURE(SwLayoutWriter2, testTdf125335)
{ {