[Lazarus] Docking manager implementation

Hans-Peter Diettrich DrDiettrich1 at aol.com
Sat Jan 24 20:20:35 CET 2009


Reenen Laurie schrieb:

> For me, all I really want that's not supported via Lazarus at the moment 
> is the % of parent statement...

Are you talking about the form designer or docking manager?

A percentage based scaling is unsafe, because the sum may exceed 100%. 
It also will be hard to add any new element, requiring a recalculation 
of the previous percentages. What about the required adjustment of 
percentages in other rows or columns of the same layout? Also required 
is kind of an alClient value, for an element that should fill the 
remaining space.

That's why I'd favor a proportional scaling, as used in the dock site 
resize procedure. When the undocked sizes are used for scaling, nothing 
new has to be added to the existing design tools and data structures. It 
might be possible to take into account the control alignment (including 
alClient, see above), but this may require a distinct DockAlign property 
with every control.

For general layout managers it may be necessary to add a reference size 
for proportional scaling, dunno whether this is related to the newer 
Delphi ExplicitWidth etc. properties. It may be possible to mix absolute 
and relative sizes, when relative sizes are given as negative values.

DoDi




More information about the Lazarus mailing list