Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.