lazarus/examples/dockmanager/easytree
2010-04-08 10:15:30 +00:00
..
BUGS.txt dockmanager example: attempt to improve notebook docking 2009-05-23 11:26:56 +00:00
easydocking.lpi dockmanager example: introduce docking into non-empty root zone 2010-04-08 10:15:30 +00:00
easydocking.lpr dockmanager example: added missing package files 2009-06-08 09:35:38 +00:00
fdockable.lfm dockmanager example: removed old splitter code 2009-06-24 14:11:59 +00:00
fdockable.lrs dockmanager example: removed old splitter code 2009-06-24 14:11:59 +00:00
fdockable.pas dockmanager example: removed old splitter code 2009-06-24 14:11:59 +00:00
fmain.lfm dockmanager example: try fViewWindow in fFloatingSite, using dock-icon 2009-11-12 06:54:48 +00:00
fmain.lrs dockmanager example: try fViewWindow in fFloatingSite, using dock-icon 2009-11-12 06:54:48 +00:00
fmain.pas dockmanager example: introduce docking into non-empty root zone 2010-04-08 10:15:30 +00:00
ftree.lfm dockmanager example: cleanup workarounds for fixed bugs/features. 2009-06-03 10:12:13 +00:00
ftree.lrs dockmanager example: cleanup workarounds for fixed bugs/features. 2009-06-03 10:12:13 +00:00
ftree.pas dockmanager example: introduce docking into non-empty root zone 2010-04-08 10:15:30 +00:00
README.txt

This project demonstrates how to write and use your own docking manager.
It's a Lazarus adaptation of a Delphi 7 project, which also can be used to
demonstrate remaining LCL drag-drop flaws.

The docking manager itself resides in EasyDockSite.pas and EasyDockHelpers.pas,
ready for use. Add EasyDockSite.pas to the uses list of your forms,
and set the DockManagerClass property to EasyTree for every dock site (form or control).

fMain is the project main form,
fTree can show an dump of the internal tree structure (in debug mode),
fDockable is a sample floating dock site.

More information can be found at:
http://wiki.lazarus.freepascal.org/LCL_Drag_Drop
See also:
http://wiki.lazarus.freepascal.org/Anchor_Docking

Configuration Options
---------------------
Various test scenarios can be selected by $defines.
In fMain:
- docker: use panel or entire form as docksite
- easy: use default or EasyTree dockmanager
- dragform: dragging controls or forms (forms not on all platforms)

In EasyDockSite:
- NoDrop: required patch applied to the dragmanager?
- splitter_color: use special color for splitter (debug splitters)

In EasyDockHelpers:
- restore: show restore button (purpose?)

ToDos:
At the time of writing this README the following does not yet work:

1. Layouts can not be saved and restored (to be copied from LDock)

2. Hidden (invisible) controls are not handled.

3. Notebooks do not initialize properly (resize the form to fix that)

4. Captions can be empty?

5. Dropped controls do not preserve their original extent?