On Wed, 10 Jun 2009 20:52:11 +0200 Hans-Peter Diettrich <[email protected]> wrote:
> Mattias Gärtner schrieb: > > > Windows that can stay open together with other IDE windows use at > > the moment the EnvironmentOptions.IDEWindowLayoutList. But there is > > no IDE interface for this, because this should be replaced by the > > docking manager. > > > > For example the idea of the anchor docking manager is, that every > > window has a TLazControlDocker (just put one onto a form in the > > designer). The rest is done by the docking manager. But I had not > > the time to complete the restore algorithm and the recent changes > > probably broke some parts. > > I had a quick look at TLazControlDocker, but I don't understand how > to use it. Normally you just put it onto a form. There must be one TLazDockingManager to which all TLazControlDocker are connected. That's all. The rest is done automatically. > > Maybe DoDi can outline what his docking manager requires. Maybe we > > can then create an IDE interface for IDE windows. > > I've not yet looked deeper into persistent layouts. IMO there should > exist a global registration instance, for all dockable components. > Every such component registers itself, when it's created, just like a > DockSite registers itself with the DragManager. It also should > provide identifying information, that can be saved by an docking > manager. On rebuild of a layout the manager should be able to create > all components, that do not already exist. The creation sequence may > be important, so that e.g. a Code Explorer can be created for and > linked to a specific editor window, as the Delphi IDE can do. Only those should be created that were open when the IDE was closed. When a window is later opened by the user it would be nice if the docking manager would put it there where it was when it was last time opened. > My next demo application will be an editor with multiple windows, > where I can look deeper into details of saving and loading docking > layouts. My docking notebook already allows to dock individual pages, > so that multiple editor windows already are possible. As long as we > don't have files with multiple viewers, another global manager will > be required to prevent multiple concurrent edits of the same source, > in multiple editor pages. Mattias -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
