diff options
| author | Armin Le Grand (Allotropia) <Armin.Le.Grand@me.com> | 2022-03-25 16:34:30 +0100 |
|---|---|---|
| committer | Armin Le Grand <Armin.Le.Grand@me.com> | 2022-03-26 15:36:01 +0100 |
| commit | 2b56631f9406b29eebcfcbe8dec5348590b4b817 (patch) | |
| tree | 8e9019f3f2aea4da12f23ebd73b24950d2cc47ec /icon-themes/colibre/cmd/32/arrowshapes.chevron.png | |
| parent | 0527446d05059a54130106edb7418a3aa6796d5b (diff) | |
Advanced Diagram support: Preparations to make oox-Shape temporary
When we come from the LO-side of things and need to (re)create the
Diagram, no oox-Shapes can exist by definition. That forces to see
oox-Shapes as temporary helper objects.
Since some ModelData is at the oox-Shape after importing a Diagram
that data needs to be identified and added to the Diagram
ModelData.
On the other path, when (re)creating a Diagram from the ModelData,
oox-Shapes are needed to use the currently existing mechanism
in the import-Filter to create XShapes froom the oox-Shapes. In
that path, the Diagram ModelData needs to be applied to the
newly created oox-Shape.
For now I have identified e.g. the Text as such data value. In
the future there may be more ModelData of that type identified
and may need to be added. To support that, I have added methods
to do that.
It may even be feasible in debug builds to add code to compare
the imported oox-Shape with a temporarily (re)created one to
allow easier identification of yet missing secured/copied
ModelData.
To make that mechanism obligatory I have added code in
DiagramData::build() that deletes all oox-Shapes which were
created at Diagam import. This is necessary. That way, the
(re)creation is used for Diagram re-creation and can be already
used and tested.
Deleting all oox-Shapes in build() immediately triggered an
error in a UnitTest: testPictureStrip. This shows that here
some ModelData in form of BitmapData is not secured - proof
of concept and what I described above.
To get forward, I adapted to not delete oox-Shapes when
Diagram import is executed. Thus, the UnitTests work, and
the ReCreate can be used to trigger that behaviour. As
an end result this has to be re-activated. It allows now
to search and add the missing model data from the test file
used in that UnitTest.
Change-Id: I6bc39a0898c7be1b4c656875f6d7508c36c9bea8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132127
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Diffstat (limited to 'icon-themes/colibre/cmd/32/arrowshapes.chevron.png')
0 files changed, 0 insertions, 0 deletions
