[Lazarus] IDE docking flaw?

Mattias Gaertner nc-gaertnma at netcologne.de
Tue Jun 7 22:52:34 CEST 2011


On Tue, 07 Jun 2011 15:30:33 +0200
Hans-Peter Diettrich <DrDiettrich1 at aol.com> wrote:

> Mattias Gaertner schrieb:
> 
> >>> The IDE package that installs the dock master can provide
> >>> default layouts.
> >> Which are selectable how?
> > 
> > You gave the answer yourself:
> > 
> >> [...]as in Delphi or my MiniIDE example :-)
> 
> Sorry, I still cannot find a Layout list in the MainBar :-(

Your MiniIDE has default layouts, because you added them to the menu.
Same can be done by an IDE package that registers a dock master.

 
> >> [...]
> > ShowControl existed since revision 5536 in
> > the LCL. You can find out such facts with svn blame.
> 
> How are these affected by an added default parameter?

Overrides don't compile anymore.
If you still don't understand this, please read the fine manual
about virtual methods.


> >> BTW the SimpleLayout should *not* remember the bounds of *docked* forms, 
> >> instead it should retain their *undocked* bounds, for use when such a 
> >> form is undocked later.
> > 
> > That's just my preference: When a form is undocked it should not move. 
> > You can send me a patch to make this optional.
> 
> The user specifies the position when undocking a form, whereupon the 
> form is resized to its UndockedWidth/Height. That's Delphi docking 
> convention - see also DockRect.

You are free to implement this in your dockmaster.
Maybe I will implement this as an option in anchordocking.

For anchordocking the simplelayout is only important, when the user
uninstalls/deactivates anchordocking. That's why simplelayout should
store screen bounds of docked forms.
If I understand you correct, you want to use simplelayout in parallel
with your dockmaster, right?

 
>[...]
> >> I've improved TScreen 
> >> and ShowForm already, so that my ShowForm will force all forms into the 
> >> monitor bounds. [Patch available on demand]
> > 
> > Have you tested this under Linux/gtk2?
> 
> No, but it should work when Screen.Monitors returns the true monitor 
> bounds. More complicated is exclusion of the TaskBar...

AFAIK Screen.Monitors changes when switching to another workspace.

And it seems the monitor bounds are not always correct from the
beginning, for example when the IDE creates its first window and calls
restore layout. This seems to be a general problem on all widgetsets.

 
> >> [...]
> >> I can help myself, as mentioned above. But I cannot help when my bug 
> >> reports and patches are not even *recognized* by the Lazarus team :-(
> > 
> > I'm sorry for that. But these patches require some time to check, which
> > I don't have at the moment.
> 
> Let me know when you can spend some time for IDE docking.

ok. Probably not in the next two weeks.


Mattias




More information about the Lazarus mailing list