[Lazarus] Docking into main window

Hans-Peter Diettrich DrDiettrich1 at aol.com
Wed Jun 23 20:33:34 CEST 2010


Mattias Gärtner schrieb:

>>> Have you documented the requirements for easydockmgr somewhere already?
>>
>> I don't understand what requirements you mean. The arrangment and 
>> extent of all the forms should be up to the user, so that docksites 
>> and dockable forms should not impose limits that prevent the user from 
>> constructing his intended layout.
> 
> For example that constrains are not "applicable".

Constraints are not applicable in a tree-style docksite. The DockManager 
arranges the docked clients, by tiling the client area, and allows the 
user to fine-tune the layout. A docked client must stay visible, because 
the DockManager interface lacks an according notification.


> I added some notes here:
> http://wiki.lazarus.freepascal.org/Extending_the_IDE#Notes_about_IDEWindowCreators_and_SimpleLayoutStorage

Thanks, but your implementation IMO works in the wrong sequence. The IDE 
should ask the layout manager to show a form, and the layout manager 
calls an IDEWindowCreator to create not yet existing forms, and then can 
apply its current layout, or it can delegate the placement of unmanaged 
forms again to the WindowCreator. The default layout manager will do 
what the IDE currently does when no layout manager (IDEDockMaster) is 
installed.


>> BTW, I just noticed that on Linux (KDE) the "Show single button in 
>> TaskBar" option has the strange effect, that on a Minimze of the 
>> MainBar *only* the MainBar is minimized, all other windows stay visible.
> 
> Yes, that is a limitation of your window manager. It does not allow to 
> hide windows without a task bar button.

Several months ago I presented an patch, that minimizes only the main 
form to the taskbar, and hides all other windows. When the main form is 
restored, all other windows are made visible again. This procedure 
should work for all window managers.

DoDi





More information about the Lazarus mailing list