[Lazarus] Autosize behaviour
Mattias Gaertner
nc-gaertnma at netcologne.de
Tue Apr 6 11:24:35 CEST 2010
On Tue, 6 Apr 2010 10:48:58 +0200 (CEST)
Michael Van Canneyt <michael at freepascal.org> wrote:
>
>
> On Tue, 6 Apr 2010, Hans-Peter Diettrich wrote:
>
> > Michael Van Canneyt schrieb:
> >
> >>>> 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.
> >>>
> >>> I imagine a Layout property for TWinControls, or an intermediate layer,
> >>> that is initialized to the Delphi compatible manager. That property then
> >>> can be assigned any other layout manager.
> >>
> >> That is the same as what I am saying, only the arrow points in the opposite
> >> direction. I want to avoid this extra TWinControl property.
> >
> > 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 is the hook stored?
> >
> > 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.
Then don't publish it for TEdit.
>[...]
Mattias
More information about the Lazarus
mailing list