Files
odfstudio/sd/qa
Armin Le Grand (collabora) 3ad22de97d SmartArt: Add posssibility to edit (simple) text
A loaded SmartArt allows to start TextEdit when one of the
included nodes gets klicked. TextEdit seems to work, but the
object degrades from a SmartArt to a GroupObject with content.

I try to add the preconditions here which are needed to be
able to do change at a SmartArt in the future. Basic problem
is that the ModelData for SmartArt are 'attached' to the
GroupObject that is used for representation, but no ways
exist to support edit/change and promote that to that
seperated model.

One of the main hindrances is that the needed IDs that
create the associations between that model and the Shapes
is missing, added that. This needs to be added for two
scenarios (what makes it complicated):
- loaded replacement visualization
- re-created SmartArt (add/rmove used)
To test this I added a simple text edit that does a first
change at that SmartArt model data. For now just simple
text, of course TextAttributes need to follow, as do
changes when Attributes get changed (Line/Fill/style/...)

Thus it's a 1st step and needed quite some experimenting.
As long as this is not further progressed (which I try to
make happen) the default will stay to have SmartArt as
GroupObject with content - as it is today.

Unified connect/disconnect, added slot and commands for
disconnect, adapted test to use that.

Needed to adapt UnitTest testTextEditEmptyGrabBag, it needs
to work with a *real* SmartArt/Diagram. The former test
created a 'fake' one and checked if on TextEdit the GrabBag
gets deleted.
The updated SmartArt text edit *tries* to keep the Data (in
IDiagramHelper attached to SdrObjGroup). It clears the
GrabBag, but only if a 'real' SmartArt exists.
Thus I added a bugdoc for that task which contains a 'real'
SmartArt to test if GrabBag gets cleared on change of the
model data.

Also added a modified state to the SmartArt model data
(which is in IDiagramHelper). This is needed to decide
what shall be done at export time. As long as we have
no SmartArt model data export, the fallback to conversion
to SdrObjGroup has to be used (as before).

Change-Id: Ie6ef3f3a8bbc5da99984d85f79f89e5df308e3c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195097
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2025-12-10 18:19:10 +01:00
..
2025-11-12 10:00:33 +01:00