[Lazarus] Autosize behaviour

Martin lazarus at mfriebe.de
Mon Apr 5 19:01:40 CEST 2010


On 05/04/2010 17:26, Michael Van Canneyt wrote:
>
>> I already asked for an (user selectable) layout manager some time 
>> ago. Such a manager would replace or include docking managers, that 
>> essentially control the *layout* of a docksite, while docking itself 
>> is only a minor addition. Then AutoSize should be handled by the 
>> applicable layout manager, and anchor docking will become just 
>> another layout manager. A stable algorithm and protocol (API) has to 
>> be established, that allows all layout managers to work together.
>
> I have been thinking about layout managers. I think that this should 
> be an add-on
> to the currently existing layouting (to preserve delphi 
> compatibility): I imagine a component that one drops on a form. One 
> sets the 'target' control (control whose children should be managed) 
> and some properties.
>
> Depending on the layout one wants, a different component must be dropped:
>
> TLayout
> +-  TAbsoluteLayout
> +-  THBoxLayout
> +-  TVBoxLayout
> +-  TTableLayout
> +-  TBorderLayout
>   ...
> Each descendent has different properties. Changing the layout just means
> dropping another component; something that can be done run-time.
+1

>
> The only thing I am unsure about is whether TControl should be made 
> TLayout-aware.
IHMO probably not, except for providing the cneeded callbacks/hooks


Martin




More information about the Lazarus mailing list