[Lazarus] Autosize behaviour

Hans-Peter Diettrich DrDiettrich1 at aol.com
Thu Apr 8 14:12:05 CEST 2010


Mattias Gaertner schrieb:

>> BorderSpacing and ChildSizing IMO are specific to an layout manager, 
>> meaningless to other layout managers. BorderSpacing IMO is equivalent to 
>> the Delphi anchors.
> 
> They are not equivalent. Delphi Anchors are only the space to the
> parent. BorderSpacing allows to define the space between a label and an
> anchored button.

The description of BorderSpacing is not very clear, can you improve it?

In a generalized layout management every control could be adjustable 
inside the cell, that has been determined by the layout manager. I.e. a 
regular[1] layout manager would tile the client area and assign every 
control a cell. When required, every control can align itself inside its 
cell, instead of inside its parent, using the same properties. Then the 
fine-tuning is independent from a specific layout manager or control type.

[1] With "regular" I mean an layout manager that splits the entire 
client area into rectangles, maybe 1-D (horizontal, vertical) or 2-D 
(grid). Every rectangle can be splitted again in the same way, resulting 
in a tree layout; it's a matter of convenience whether the layout 
manager builds an entire tree, like in a dock-tree, or multiple layout 
managers are used for further subdividing the rectangles. Such layouts 
are quite easy to manage, in contrast to an arbitrary placement and 
anchoring of every single control within its parent or relative other 
controls (almost unmanaged until unmanageable).

DoDi





More information about the Lazarus mailing list