Bugs fixed:
+ Some of the separators weren't hidden (zooming out and then zooming
in is an example)
+ The footer separator wasn't properly placed under footnotes
containers if there was no footer.
This avoids drawing control things on the document OutputDevice and
helps keeping them properly refreshed without refreshing the whole
document layout.
Drawing small inner corners for the columns helps showing the columns
without drawing a full rectangle and it is still compatible with the
page and sections text boundaries.
The whole subsidiary lines painting has been changed to call the method
on all nested SwLayoutFrm. In order not to draw anything, simply
override the method and do nothing in it: (almost) every object takes
care of its boundaries.
Merged the page and column breaks rendering: columns breaks are now
easily visible. The column boundaries are shown as before using plain
lines.
Also fixed the breaks rendering for vertical layout
Changed the following:
+ Draw a gradient in the separator tabs background
+ Draw a solid line under the dotted one to have a contrast for some page
background colors.
When leaving the mouse over a header or footer area for 2 seconds, the
separator is shown. This feature enables adding headers and footers
easily without knowing anything about page styles.
The separators are hidden back after 2 seconds outside the header or
footer area.
Bugs fixed by this change:
* The Header/footer window is now moving with the parent window
* The Window rectangle is adapted to the parent area and doesn't go
over the scrollbar
* The windows are shown properly in all cases
+ Implemented http://wiki.services.openoffice.org/wiki/DocumentBorder#Option_3
+ Show the text boundaries for the currently edited area, e.g. don't
show the header and footer boundaries when editing the main body
+ Included the footnote boundaries into the main body ones as it's the
same editing area
+ Reimplemented the painting of the manual page breaks. These are
hidden when editing headers/footers and are be toggled with the
non-printing characters instead of the document boundaries.
Had quite a hard time drawing the new windows at the correct position
and find the proper VCL attributes. This new Window child class is using
the WB_MOVEABLE and WB_OWNERDRAWDECORATION to workaround bugs in VCL.
According to Christoph's ideas, here are changes to the separators:
* labels moved to the right of the page instead of the left
* the label background color computation has been improved to handle
more cases
* the separator line has been removed when there is a header or footer
* the label is now sticking to the bottom/top of the header/footer
Changing the height of the footer frame (i.e. by creating a new line in
it) didn't update the page margins and broke the rendering of the
header/footer decorators. To avoid that, redraw the whole page when the
SwFooterFrm is invalid.