Re: GSoC project summary - Improve SmartArt import

2017-08-29 Thread Heiko Tietze
2017-08-29 16:14 GMT+02:00 Grzegorz Araminowicz :

> Here is the list of changes I made:
>
>
Can you please translate this into a human readable format? ;-)
In particular I wonder what subtickets of tdf#106547 are fixed now and how
the design team can improve the situation on tdf#99563.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


GSoC project summary - Improve SmartArt import

2017-08-29 Thread Grzegorz Araminowicz
Hello everyone!

I'd like to summarize what I did during three months of Google Summer of
Code.

I started the project as improving VML import. As this filter is quite
mature, it was mostly fixing bugs:
tdf#76446 GSoC: incorrect rotation of VML shapes

GSoC: import VML shape adjustments 
tdf#108945 Correctly import default value in VML shape adjustments


After week or two we decided with Jan Holesovsky to change aim to SmartArt
import. I had already a bit of experience with import filters, so I quickly
went for it. There were already good foundations: whole file parsing code,
building of diagram model and some layouting code. I had to extend it,
taking Office 2007 test files one by one and implementing missing features
required to load them correctly.

Here is the list of changes I made:
SmartArt: separate LayoutAtomVisitors from LayoutAtoms

SmartArt: layout diagram 
SmartArt: reuse existing diagram shape for root shape

SmartArt: shape styling 
SmartArt: more layout work 
SmartArt: add ShapeAtom to store shape template instead of LayoutNode

SmartArt: support hideGeom shape attrbute

SmartArt: cycle layout algorithm 
SmartArt: text alignment 
SmartArt: first unit test 
SmartArt: add nested shapes only if they are node's children

SmartArt: fix duplicated text 
SmartArt: support cnt function 
SmartArt: simplify conditions, miscellaneous changes

SmartArt: basic support for layout constraints

SmartArt: shape rotation support 
SmartArt: get rid of tagToVarIdx() and change VarMap to std::map

SmartArt: implement dir and maxDepth if node functions

SmartArt: correct behaviour of if/else nodes

SmartArt: grDir snake algorithm parameter


I am happy with project results. Now LibreOffice is able to load and
correctly render many types of basic diagrams. However, there is still much
to be done to support more complex SmartArts.

If anyone would be interested in contributing in this area, feel free to
contact me for any help.

Best regards,
Grzegorz Araminowicz
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice