Mattias Gaertner wrote:
On Mon, 13 Sep 2010 09:54:45 +0000
Mark Morgan Lloyd <[email protected]> wrote:
I've got a form containing main menu, status lines top and bottom, and a
couple of grids. I've been doing other things for a few days but I now
seem to have a problem where resizing the form (diagonal mouse-drag on
bottom-right corner) does not correctly resize/reposition all of the
content.
Running on x86 Linux (Debian) and looking at the app built with
different versions of Lazarus, each with its own LCL and preferred FPC
version, and for either GTK1 or GTK2:
With 0.9.28.3 (27343) for GTK, neither status line changes when the form
is resized, one of the grids which is left-aligned also stays unchanged
with part of the bottom status line visible below it.
With 0.9.28.3 (27343) for GTK2, performance is erratic. The bottom
status line sometimes changes correctly, but the width of the top line
and its panes is always unchanged.
With 0.9.29 (27343) for both GTK and GTK2, attempting to resize the form
sometimes results in it "snapping back" to the original size or
sometimes to something intermediate; I suspect that this might be a DPI
issue since I'm working over VNC and the setting of the two X servers
might not be the same. Positioning of the status lines etc. appears to
be correct.
For completeness, 0.9.26.2 (25955) and 0.9.28.2 (27246) appear to behave
as 0.9.28. However I think that I've seen all of those working properly
in the past, although details such as the resizing of panes within a
status line might have been erratic.
The layout algorithm was rewritten in 0.9.29 to support complex layouts.
Please create a bug report with an example.
I've reviewed my code and not liked what I saw. After reorganising some
things overall behavior is far better so I don't think it's worth
treating as a bug.
For the record, I'd put in various hacks to work around the fact that a
TDrawGrid doesn't have a resize event. This was having non-obvious
side-effects including things like the menu bar not tracking the form
width properly, moving the DrawGrid and its immediate siblings into a
panel hence being able to use the panel's resize appears to have sorted
things out.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus