mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-01 11:32:30 +02:00
anchordocking: restoretest: load/restore BoundsRect
git-svn-id: trunk@39735 -
This commit is contained in:
parent
06fd9d01ec
commit
626930d7e3
@ -6,6 +6,7 @@ object ADRestDbg: TADRestDbg
|
|||||||
Caption = 'ADRestDbg'
|
Caption = 'ADRestDbg'
|
||||||
ClientHeight = 567
|
ClientHeight = 567
|
||||||
ClientWidth = 715
|
ClientWidth = 715
|
||||||
|
OnClose = FormClose
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
LCLVersion = '1.1'
|
LCLVersion = '1.1'
|
||||||
|
@ -34,9 +34,10 @@ unit MainUnit;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, LazFileUtils, SynEdit, SynHighlighterXML,
|
Classes, SysUtils, FileUtil, LazFileUtils, LazLogger, SynEdit,
|
||||||
AnchorDocking, AnchorDockStorage, ADLayoutViewer, Forms, Controls, Graphics,
|
SynHighlighterXML, AnchorDocking, AnchorDockStorage, ADLayoutViewer, Forms,
|
||||||
Dialogs, ComCtrls, ExtCtrls, Buttons, StdCtrls, XMLPropStorage;
|
Controls, Graphics, Dialogs, ComCtrls, ExtCtrls, Buttons, StdCtrls,
|
||||||
|
XMLPropStorage;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -58,13 +59,17 @@ type
|
|||||||
OpenToolButton: TToolButton;
|
OpenToolButton: TToolButton;
|
||||||
OpenRecentToolButton: TToolButton;
|
OpenRecentToolButton: TToolButton;
|
||||||
OriginalLayoutToolBar: TToolBar;
|
OriginalLayoutToolBar: TToolBar;
|
||||||
|
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure FormDestroy(Sender: TObject);
|
procedure FormDestroy(Sender: TObject);
|
||||||
private
|
private
|
||||||
|
FConfigFilename: string;
|
||||||
FOriginalFilename: string;
|
FOriginalFilename: string;
|
||||||
FSettings: TAnchorDockSettings;
|
FSettings: TAnchorDockSettings;
|
||||||
function GetOriginalLayout: TAnchorDockLayoutTree;
|
function GetOriginalLayout: TAnchorDockLayoutTree;
|
||||||
function GetRestoredLayout: TAnchorDockLayoutTree;
|
function GetRestoredLayout: TAnchorDockLayoutTree;
|
||||||
|
procedure LoadConfig;
|
||||||
|
procedure SaveConfig;
|
||||||
public
|
public
|
||||||
OriginalView: TADLayoutTreeView;
|
OriginalView: TADLayoutTreeView;
|
||||||
RestoredView: TADLayoutTreeView;
|
RestoredView: TADLayoutTreeView;
|
||||||
@ -74,6 +79,7 @@ type
|
|||||||
property OriginalLayout: TAnchorDockLayoutTree read GetOriginalLayout;
|
property OriginalLayout: TAnchorDockLayoutTree read GetOriginalLayout;
|
||||||
property OriginalFilename: string read FOriginalFilename;
|
property OriginalFilename: string read FOriginalFilename;
|
||||||
property RestoredLayout: TAnchorDockLayoutTree read GetRestoredLayout;
|
property RestoredLayout: TAnchorDockLayoutTree read GetRestoredLayout;
|
||||||
|
property ConfigFilename: string read FConfigFilename write FConfigFilename;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -87,6 +93,9 @@ implementation
|
|||||||
|
|
||||||
procedure TADRestDbg.FormCreate(Sender: TObject);
|
procedure TADRestDbg.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
FConfigFilename:=GetAppConfigFileUTF8(false);
|
||||||
|
DebugLn(['TADRestDbg.FormCreate ',FConfigFilename]);
|
||||||
|
|
||||||
Caption:='Anchordocking Restore Debugger';
|
Caption:='Anchordocking Restore Debugger';
|
||||||
FSettings:=TAnchorDockSettings.Create;
|
FSettings:=TAnchorDockSettings.Create;
|
||||||
|
|
||||||
@ -109,10 +118,17 @@ begin
|
|||||||
Align:=alClient;
|
Align:=alClient;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
LoadConfig;
|
||||||
|
|
||||||
if Paramcount>0 then
|
if Paramcount>0 then
|
||||||
OpenLayout(ParamStrUTF8(1));
|
OpenLayout(ParamStrUTF8(1));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TADRestDbg.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||||
|
begin
|
||||||
|
SaveConfig;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TADRestDbg.FormDestroy(Sender: TObject);
|
procedure TADRestDbg.FormDestroy(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FreeAndNil(FSettings);
|
FreeAndNil(FSettings);
|
||||||
@ -128,6 +144,49 @@ begin
|
|||||||
Result:=RestoredView.Layout;
|
Result:=RestoredView.Layout;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TADRestDbg.LoadConfig;
|
||||||
|
var
|
||||||
|
Cfg: TXMLConfigStorage;
|
||||||
|
NewBounds: TRect;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
Cfg:=TXMLConfigStorage.Create(ConfigFilename,true);
|
||||||
|
try
|
||||||
|
Cfg.GetValue('Bounds',NewBounds,Rect(0,0,0,0));
|
||||||
|
if (NewBounds.Right>NewBounds.Left)
|
||||||
|
and (NewBounds.Bottom>NewBounds.Top) then
|
||||||
|
BoundsRect:=NewBounds;
|
||||||
|
finally
|
||||||
|
Cfg.Free;
|
||||||
|
end;
|
||||||
|
except
|
||||||
|
on E:Exception do begin
|
||||||
|
debugln(['TADRestDbg.LoadConfig ',E.Message]);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TADRestDbg.SaveConfig;
|
||||||
|
var
|
||||||
|
Cfg: TXMLConfigStorage;
|
||||||
|
begin
|
||||||
|
if not ForceDirectoriesUTF8(ExtractFilePath(ConfigFilename)) then begin
|
||||||
|
debugln(['WARNING: TADRestDbg.SaveConfig: can not create directory ',ExtractFilePath(ConfigFilename)]);
|
||||||
|
end;
|
||||||
|
try
|
||||||
|
Cfg:=TXMLConfigStorage.Create(ConfigFilename,false);
|
||||||
|
try
|
||||||
|
Cfg.SetDeleteValue('Bounds',BoundsRect,Rect(0,0,0,0));
|
||||||
|
finally
|
||||||
|
Cfg.Free;
|
||||||
|
end;
|
||||||
|
except
|
||||||
|
on E:Exception do begin
|
||||||
|
debugln(['TADRestDbg.SaveConfig ',E.Message]);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TADRestDbg.OpenLayout(Filename: string);
|
procedure TADRestDbg.OpenLayout(Filename: string);
|
||||||
begin
|
begin
|
||||||
if Filename='' then exit;
|
if Filename='' then exit;
|
||||||
|
Loading…
Reference in New Issue
Block a user