[GSoC15] Chained Text Boxes - Report Week 3

Matteo Campanelli matteo.campanelli at gmail.com
Fri Jun 12 09:23:49 PDT 2015


Hi,
this week there were a lot of changes in code architecture.
Overflow handling now is now similar to how AutoFit works:
- a specific handler is triggered in ImpEditEng::FormatDoc if overflow
occurs during editing
- otherwise an appropriate drawinglayer primitive takes care of everything

As a consequence now overflowing is handled even during resizing.
Problems with special cases, such as overflowing text in clones during
resizing, have been treated appropriately with small non-too-hacky-looking
portions of code.

Next direction 1: one more sub-feature
---------------------
For now only shrinking and overflow cause movements of text. The next step
is to let text flow back into a previous link if enough space appears.
If we dealt with overflow so far, next step is dealing with underflow.

Next direction 2: issue fixing
---------------------
There is a current occasional issue where non-overflowing text is copied in
the destination box (instead of the overflowing one).
To reproduce:
- Have two boxes whose name start with "Chainable" (necessary to make them
act as a chain atm);
- Set the first box's text to "A random line" making sure to have enough
space for it so that it fits on one line.
- Shrink the first box from below so that only that one line fits (don't
cause overflow yet)
- Shrink the first box from the right edge so to cut the word "line".

Expected behavior: "line" should be prepended to the second box; first box
should contain only "A random".

Observed behavior: second box get "A random" prepended; First box is empty.

Next direction 3: fixing hacks
---------------------------------------
Currently transfer of text in decomposition of static text is done by
calling a special Outliner (a "chaining" outliner) from SdrModel. Besides
being a quite ugly solution (a SdrModel has a new outliner adhoc for this
specific feature) it would probably break when transfer of text occurs
recursively in a chain of three of more boxes.

Cheers,
Matteo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20150612/23f713be/attachment.html>


More information about the LibreOffice mailing list