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