[Lazarus] Autosize behaviour

Hans-Peter Diettrich DrDiettrich1 at aol.com
Tue Apr 6 14:43:21 CEST 2010


Michael Van Canneyt schrieb:

>> I wonder how you want LCL code to use a dropped layout component. When 
>> no predefined property exists, every TWinControl had to be searched 
>> for an according component, whenever a layout method or property shall 
>> be accessed.
> 
> I would use a mechanism similar to the datalink. As soon as you tell the 
> layout manager to manage a certain control, a hook is installed in the
> control.

And where do you want to store layout specific information?

>> With a dedicated LayoutManager property, all anchor-docking related 
>> stuff could be moved from TWinControl into the AnchoredLayoutManager, 
>> and DockManager could be replaced (or merged with) the LayoutManager. 
>> In further steps the DockClient list could be removed, the Controls 
>> list can be used instead. Delphi compatibility can be maintained by 
>> delegation to the still existing elements.
> 
> The reason I don't want to introduce the layoutmanager property is that it
> simply does not make sense for all TWinControls. a TEdit does not need a
> layoutmanager, only the parent of the TEdit needs one.

There is much stuff that doesn't make sense for all controls.


>> What should be complicated, when the Delphi layout manager is one of 
>> multiple available managers? How do you want to implement different 
>> layout management for parts of a form?
> 
> Simply drop 2 layouters, and point them to the right parts of the form.

With the result that the form is crowded with layouters :-(

Not to mention prefabricated controls, e.g. with horizontal or vertical 
layout.

DoDi





More information about the Lazarus mailing list