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 :-(


[...]
As you already mentioned, Show can have many meanings WRT siblings and parents. I wonder if there is a legitimate expectation, that Show (or ShowControl, BringToFront...) would *not* make visible components with more than one Parent.

I don't know. But we don't break compatibility without need. And in
this case we can simply add a function with another name, maybe a
better one.

My IDE model contains:

procedure TIDEForm.MakeVisible(inFront: boolean = True);
begin
  ShowControl(nil, inFront);
end;


There are LCL applications. 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?


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.


And the Options Windows page should *always* show the window placement frame, so that the user can adjust at least the extent of (actually or later) undocked forms, and can move misplaced forms into view, after the monitor count or screen resolution has changed.

I added an option to TIDEDockMaster.

Thanks :-)


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...


[...]
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.


See the unit RegisterAnchorDocking as example:

  
LazarusIDE.AddHandlerOnIDERestoreWindows(@IDEAnchorDockMaster.OnIDERestoreWindows);
  LazarusIDE.AddHandlerOnProjectClose(@IDEAnchorDockMaster.OnProjectClose);

See here for other events:
http://wiki.lazarus.freepascal.org/Extending_the_IDE#Project_events

Thanks for the links :-)

DoDi


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to