[Lazarus] debug windows layout
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Fri Feb 26 02:18:43 CET 2010
Flávio Etrusco schrieb:
> I was/am trying to work on IDE docking (as you might know ;-)
> I'm sure we should add code to make all IDE forms dockable
> automatically. If that's the case we could add some property or event
> to TApplication.
My options for dockable forms:
1a) use a handle in the client area (affects form layout)
1b) use a handle in the title bar (added button)
1c) add popup menu entry (as AnchorDocking does)
1d) move window + some key (CTRL?)
Perhaps you can make work 1b or 1d?
> My main development platform is Linux/gtk2, so I can't really say
> about Windows. I am playing with the idea of using WMMove events with
> some conditionals to trigger the drag/dock start, but for starters the
> "reason" parameter isn't "interface" in all situations I expected...
See option 1d - added for you.
For dragging purposes the IDE forms can be put (docked) into special
container forms, that allow to (un)dock their client forms, and also
allow to dock multiple forms into the container.
See the dockmanager/elasticsite demo and package/uMakeSite.pas for
further features.
Mattias has to provide some means to
2a) create the IDE forms by name or class-name, for reloading a layout,
2b) storage and loading of a layout itself, and for
2c) configuring the forms as docksites (SynEdit, perhaps MainBar) or
2d) as dockable clients (all other non-modal forms).
3) a base class for the IDE layout manager, independent from anchor
docking (the anchor docking implementation still does not work).
WRT 2c/d: A classic ("undocked") Delphi layout requires that the editor
forms become docksites. Furthermore multiple full-fledged editor forms
should be made work, with dedicated code explorers.
The new (SDI) layout requires that the MainBar becomes a docksite and
the editor form becomes a dockable client, just like all the other forms.
DoDi
More information about the Lazarus
mailing list