I've been looking at the docking feature(s) of Lazarus, and would like to know more about the current implementation. Where should I look for?
One of the most important question is about the general overview of the docking concept, from the technical point of view. I assume that there must exist one application-wide manager (singleton?), that manages all the related windows?
Does there exist another docking manager, apart from anchor docking? With sample code?
IMO anchor docking is a nice idea, but not very useful in practice. What will happen to such a (spiral...) layout, when the container form is resized? Not to mention other possible and existing problems...
The implementation (in Lazarus 0.26) seems to be very fragile. Even if I could run the sample project, I failed to make work even an clone of that project, not to mention a different project. Strange exceptions all over, when I only try to install an docking manager as done in the sample or described in the according docs :-(
Any chance that the trunk contains a more stable implementation?
What I want to achieve and contribute:
- Docking by drag&drop, at least for Windows and Linux. A proof of concept in the first place, I've been warned ;-)
- Old fashion (orthogonal/notebook) docking - if not yet implemented?
- Multiple editor windows and related explorers. This was my first idea, that lead me straight to the docking problems.
Which Lazarus revision (trunk/tag) should I use for my first steps? I also think that I must create my own (local) repository, so that I can share my modifications across various platforms (VM's). Any better idea?
DoDi
