diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2020-08-04 10:58:00 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2020-08-04 15:30:00 +0200 |
commit | 3c185bf386b4c9609ab32d19bf95b83fe0eeeea3 (patch) | |
tree | 24fc710e710527cac444e177b72e957a88da01df /sd/qa | |
parent | 16a3a548d4e8e1132689de5615e025d0d4b3d564 (diff) |
oox smartart: add support for <dgm:layoutNode ... chOrder="t">
This changes the order of children, which matters when they have no
explicit ZOrder. With this, the text shapes on the arrow shape are on
top of the arrow, not behind it.
The trick is that nominally chOrder can be "t"(op) or "b"(ottom),
defaulting to bottom, but there is a difference between an explicit "b"
and not setting it. When not setting it, the layout node is expected to
inherit it from its parent layout node, recursively.
This would probably make sense for other algorithms as well, but set it
only for the linear algorithm for now, as that's where we have a bug
document showing the PowerPoint behavior.
Change-Id: I433f92c620149ef5590aebc8cbf43110e1d2fb85
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100047
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'sd/qa')
-rw-r--r-- | sd/qa/unit/import-tests-smartart.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sd/qa/unit/import-tests-smartart.cxx b/sd/qa/unit/import-tests-smartart.cxx index 6fc195ccd101..bdf320ce831f 100644 --- a/sd/qa/unit/import-tests-smartart.cxx +++ b/sd/qa/unit/import-tests-smartart.cxx @@ -1532,8 +1532,9 @@ void SdImportTestSmartArt::testLinearRule() sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/smartart-linear-rule.pptx"), PPTX); uno::Reference<drawing::XShape> xGroup(getShapeFromPage(0, 0, xDocShRef), uno::UNO_QUERY); - // Last child, then again last child. - uno::Reference<drawing::XShape> xShape = getChildShape(getChildShape(xGroup, 1), 3); + // Last child, then first child inside that. + // It is first as backgroundArrow is last, but chOrder="t" is set to reverse the order. + uno::Reference<drawing::XShape> xShape = getChildShape(getChildShape(xGroup, 1), 0); // Without the accompanying fix in place, this test would have failed with: // - Expected greater than: 17500 (19867) |