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

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to