Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2015-09

Desktops with docked IDE

14 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Juha Manninen

Lazarus trunk r49778 now supports desktops also with AnchorDocked IDE. Its settings are now stored in environment options just like all desktop settings.
It is made by super-contributor Ondrej Pokorny.
Please test.

Juha

Reply by email

Ondrej Pokorny
to Juha Manninen
Juha Manninen wrote 7 lines
Lazarus trunk r49778 now supports desktops also with AnchorDocked IDE. Its settings are now stored in environment options just like all desktop settings. It is made by super-contributor Ondrej Pokorny. Please test. Juha

At this place I have to say that I also changed the desktops behavior. Now there is always one active desktop from the list. You can choose with the 'Auto save active desktop' check box if the active desktop has to be saved on IDE exit. Default is True.

All import/export/save/load of the current window layout is now managed by the Desktop Manager and not by AnchorDocking any more.

Ondrej

Reply by email

Mattias Gaertner
to Ondrej Pokorny
Show quoted text 16 lines
On 08.09.2015 00:21, Juha Manninen wrote: > Lazarus trunk r49778 now supports desktops also with AnchorDocked IDE. > Its settings are now stored in environment options just like all > desktop settings. > It is made by super-contributor Ondrej Pokorny. > Please test. > > Juha At this place I have to say that I also changed the desktops behavior. Now there is always one active desktop from the list. You can choose with the 'Auto save active desktop' check box if the active desktop has to be saved on IDE exit. Default is True. All import/export/save/load of the current window layout is now managed by the Desktop Manager and not by AnchorDocking any more.

Maybe related:
http://bugs.freepascal.org/view.php?id=28635

Mattias

Reply by email

Mattias Gaertner
to Juha Manninen
Mattias, is it OK to move unit AnchorDockOptionsDlg from package AnchorDocking to AnchorDockingDsgn? It contain the settings frame which is used only in Lazarus IDE.

It works fine without the IDE.
The idea is that applications can easily provide some options for docking.

What features do you need?
Maybe you can create a descendant?

Mattias

Reply by email

Juha Manninen
to Mattias Gaertner
Mattias Gaertner wrote 10 lines
> Mattias, is it OK to move unit AnchorDockOptionsDlg from package > AnchorDocking to AnchorDockingDsgn? > It contain the settings frame which is used only in Lazarus IDE. It works fine without the IDE. The idea is that applications can easily provide some options for docking. What features do you need? Maybe you can create a descendant?

Actually the SaveOnClose feature was removed and moved to the desktop thing when used for IDE docking.
Maybe it must be restored later to be used with user applications.

Anyway I restored some deleted code and refactored and removed the IdeIntf dependency from AnchorDocking package in r49787. MiniIde example compiles and runs OK but damn, saving the layout throws an exception.
TAnchorDockRestoreLayouts.fItems not initialized. I will debug it later (unless somebody solves it sooner). Now must do other things ...

Juha

Reply by email

FreeMan
to Juha Manninen

Yes I know, just in osx.
In linux, issue #0028618 assigned to mattias.
I'm tested svn fpc & lazarus in win8 x64 as well. no problem there.

Juha Manninen wrote 13 lines
On Tuesday, September 8, 2015, FreeMan < <mailto:>> wrote: I wish, test it, but http://bugs.freepascal.org/view.php?id=28605 I have built Lazarus now many times on Linux using "make all", "make bigide" and the Configure Build Lazarus dialog with different flags, no locks so far. Juha

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150908/beb57dbb/attachment.html>

Reply by email

Martin Frb
to Juha Manninen: Lazarus trunk r49778 now supports desktops also with AnchorDocked IDE. Its settings are…
Juha Manninen wrote 6 lines
Lazarus trunk r49778 now supports desktops also with AnchorDocked IDE. Its settings are now stored in environment options just like all desktop settings. It is made by super-contributor Ondrej Pokorny. Please test.

With 2 SourceEditors open ( no docking, anchordocking not installed), the 2nd SourceEditor looses its position and size. It is always restored to default pos.

Desktop auto save is on

tools options shows "restore" for both source editors (on the window tab)

rev 49787

Reply by email

Ondrej Pokorny
to Mattias Gaertner: On Tue, 8 Sep 2015 07:09:28 +0200 Maybe related:…
Mattias Gaertner wrote 22 lines
On Tue, 8 Sep 2015 07:09:28 +0200 Ondrej Pokorny wrote: > On 08.09.2015 00:21, Juha Manninen wrote: >> Lazarus trunk r49778 now supports desktops also with AnchorDocked IDE. >> Its settings are now stored in environment options just like all >> desktop settings. >> It is made by super-contributor Ondrej Pokorny. >> Please test. >> >> Juha > At this place I have to say that I also changed the desktops behavior. > Now there is always one active desktop from the list. You can choose > with the 'Auto save active desktop' check box if the active desktop has > to be saved on IDE exit. Default is True. > > All import/export/save/load of the current window layout is now managed > by the Desktop Manager and not by AnchorDocking any more. Maybe related: http://bugs.freepascal.org/view.php?id=28635 Mattias

Oh yes, I wasn't aware of this...

Reply by email

Juha Manninen
to Ondrej Pokorny
Ondrej Pokorny wrote
Oh yes, I wasn't aware of this...

I have refactored and fixed the packages, except for one detail. FRestoreLayouts is not created when using only package AnchorDocking. It is copied from package AnchorDockingDsgn when it is used. How to fix it cleanly?
The root cause is the parameter aUseIDELayouts: Boolean in the Options constructor.
It is not good when such a parameter affects memory management of another class.

Also I don't think EnvironmentOpts should deal directly with IDEDockMaster, although it apparently does not break anything.

Thinking ...

Juha

Reply by email

Juha Manninen
to Juha Manninen

The FRestoreLayouts issue was solved in r49788.
I am still not completely happy with mixing memory management between the 2 packages, but that works now.

Now I get resize loop errors from the MiniIde example. I don't know how the recent changes could cause that.

Juha

Reply by email

Ondrej Pokorny
to Juha Manninen
Juha Manninen wrote 8 lines
The FRestoreLayouts issue was solved in r49788. I am still not completely happy with mixing memory management between the 2 packages, but that works now. Now I get resize loop errors from the MiniIde example. I don't know how the recent changes could cause that. Juha

You fixed it correctly. The other way round (what I did) was actually pretty bad.

> I am still not completely happy with mixing memory management

between the 2 packages, but that works now.

I will try to think of a solution but I didn't find anything else now. The TAnchorDesktopOpt.FRestoreLayouts of the default options (aUseIDELayouts = True) have to access FRestoreLayouts from AnchorDocking in order to use them correctly in Assign().

Ondrej

Reply by email