[Lazarus] Dockable IDE
DrDiettrich1 at aol.com
Mon Mar 19 07:31:59 CET 2012
Paul Ishenin schrieb:
> 18.03.12 11:11, Hans-Peter Diettrich wrote:
>> These are only different implementations of the same (TDockManager)
>> interface. I found LDockTree unusable, failing already on slightly
>> nested layouts. It also lacks layout streaming, required in applications
>> like the IDE. Dunno about the current state, though...
>> I'm still waiting for a justification of:
>> Dodi has implemented an own vision of docking while delphi like docking
>> still works.
> Alpthough you descend from TDockManager you don't descend from TDockTree
> which was a trial to implement delphi like dock manager.
The TDockTree and related TDockZone classes are not immediately
applicable to the LCL and its Delphi-incompatible DragManager[Default]
and TDragObject. In detail notebook-docking is not supported by the
given TDockTree class, even Delphi uses further classes for that
purpose, and for floating sites etc.
I found the TDockTree (and LDockTree) not really usable, that's why I
used TDockManager as the base class of my DockManager. Neither TDockTree
nor TLazDockTree support the Lazarus extensions to TDockManager.
> > I never implemented anything Delphi-incompatible, in contrast to anchor
> > docking.
> I did not mean that you made something incompatible, just that you made
> an own implementation which Michael probably does not use.
TDockTree is not ready for use in applications, so every application has
to specify an working dockmanager. The "no problems encountered"
statement is meaningless until the used dockmanager, widgetset *and* the
unproblematic use cases are specified. Currently (trunk and 0.9.30) not
any dockmanager is usable with the Win32 widgetset, due to bugs in the
LCL and TDragManager, which e.g. prevent undocking a control using the
The IDE (see topic) is not bound to an specific dockmanager, but I have
the impression that currently only anchor docking implements the IDE
interface properly (if at all). This is not a matter of an specific
dockmanager, which only manages a single docksite, but of the management
of all dockable forms and docksites pertaining to an application,
including save/restore of layouts.
More information about the Lazarus