dockmanager example: test minimize/restore

git-svn-id: trunk@22517 -
This commit is contained in:
dodi 2009-11-10 11:24:09 +00:00
parent da7a635ff0
commit cda0e731b5
5 changed files with 103 additions and 29 deletions

View File

@ -7,6 +7,7 @@ inherited EditorSite: TEditorSite
ClientWidth = 400
Menu = MainMenu1
OnCreate = FormCreate
ShowInTaskBar = stAlways
inherited pnlLeft: TPanel
Height = 256
end
@ -100,6 +101,21 @@ inherited EditorSite: TEditorSite
end
end
end
object MenuItem14: TMenuItem
Caption = '&Windows'
object mnWindowDump: TMenuItem
Caption = '&Dump'
OnClick = mnWindowDumpClick
end
object mnMinimize: TMenuItem
Caption = 'Minimize all'
OnClick = mnMinimizeClick
end
object mnRestore: TMenuItem
Caption = 'Restore all'
OnClick = mnRestoreClick
end
end
end
object OpenDialog1: TOpenDialog[8]
Filter = '*.pas|*.pas|All Files|*.*'

View File

@ -1,31 +1,38 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TEditorSite','FORMDATA',[
'TPF0'#241#11'TEditorSite'#10'EditorSite'#4'Left'#3'b'#1#6'Height'#3','#1#5'W'
+'idth'#3#144#1#7'Caption'#6#10'EditorSite'#12'ClientHeight'#3#25#1#11'Client'
+'Width'#3#144#1#4'Menu'#7#9'MainMenu1'#8'OnCreate'#7#10'FormCreate'#0#241#6
+'TPanel'#7'pnlLeft'#6'Height'#3#0#1#0#0#241#9'TSplitter'#9'splitLeft'#6'Heig'
+'ht'#3#0#1#0#0#241#6'TPanel'#8'pnlRight'#4'Left'#3#144#1#6'Height'#3#0#1#0#0
+#241#6'TPanel'#9'pnlBottom'#3'Top'#3#4#1#5'Width'#3#144#1#0#0#241#9'TSplitte'
+'r'#10'splitRight'#4'Left'#3#140#1#6'Height'#3#0#1#0#0#241#10'TStatusBar'#10
+'StatusBar1'#3'Top'#3#5#1#5'Width'#3#144#1#0#0#241#9'TSplitter'#11'splitBott'
+'om'#3'Top'#3#0#1#5'Width'#3#144#1#0#0#242#2#7#9'TMainMenu'#9'MainMenu1'#4'l'
+'eft'#3#240#0#3'top'#2'0'#0#9'TMenuItem'#6'mnFile'#7'Caption'#6#5'&File'#0#9
+'TMenuItem'#6'mnOpen'#7'Caption'#6#5'&Open'#7'OnClick'#7#11'mnOpenClick'#0#0
+#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#6'mnExit'#7'Ca'
+'ption'#6#5'E&xit'#7'OnClick'#7#11'mnExitClick'#0#0#0#9'TMenuItem'#6'mnView'
+#7'Caption'#6#5'&View'#0#9'TMenuItem'#9'MenuItem2'#7'Caption'#6#16'Object In'
+'spector'#7'OnClick'#7#13'ViewMenuClick'#0#0#9'TMenuItem'#9'MenuItem3'#7'Cap'
+'tion'#6#8'Messages'#7'OnClick'#7#13'ViewMenuClick'#0#0#9'TMenuItem'#9'MenuI'
+'tem4'#7'Caption'#6#13'Code Explorer'#7'OnClick'#7#13'ViewMenuClick'#0#0#9'T'
+'MenuItem'#9'MenuItem5'#7'Caption'#6#9'ToDo List'#7'OnClick'#7#13'ViewMenuCl'
+'ick'#0#0#9'TMenuItem'#9'MenuItem6'#7'Caption'#6#13'Debug windows'#0#9'TMenu'
+'Item'#9'MenuItem7'#7'Caption'#6#7'Watches'#7'OnClick'#7#13'ViewMenuClick'#0
+#0#9'TMenuItem'#9'MenuItem8'#7'Caption'#6#11'BreakPoints'#7'OnClick'#7#13'Vi'
+'ewMenuClick'#0#0#9'TMenuItem'#9'MenuItem9'#7'Caption'#6#15'Local Variables'
+#7'OnClick'#7#13'ViewMenuClick'#0#0#9'TMenuItem'#10'MenuItem10'#7'Caption'#6
+#9'Registers'#7'OnClick'#7#13'ViewMenuClick'#0#0#9'TMenuItem'#10'MenuItem11'
+#7'Caption'#6#10'Call Stack'#7'OnClick'#7#13'ViewMenuClick'#0#0#9'TMenuItem'
+#10'MenuItem12'#7'Caption'#6#9'Assembler'#7'OnClick'#7#13'ViewMenuClick'#0#0
+#9'TMenuItem'#10'MenuItem13'#7'Caption'#6#12'Debug Output'#7'OnClick'#7#13'V'
+'iewMenuClick'#0#0#0#0#0#242#2#8#11'TOpenDialog'#11'OpenDialog1'#6'Filter'#6
+#25'*.pas|*.pas|All Files|*.*'#4'left'#3'5'#1#3'top'#2'0'#0#0#0
+'Width'#3#144#1#4'Menu'#7#9'MainMenu1'#8'OnCreate'#7#10'FormCreate'#13'ShowI'
+'nTaskBar'#7#8'stAlways'#0#241#6'TPanel'#7'pnlLeft'#6'Height'#3#0#1#0#0#241#9
+'TSplitter'#9'splitLeft'#6'Height'#3#0#1#0#0#241#6'TPanel'#8'pnlRight'#4'Lef'
+'t'#3#144#1#6'Height'#3#0#1#0#0#241#6'TPanel'#9'pnlBottom'#3'Top'#3#4#1#5'Wi'
+'dth'#3#144#1#0#0#241#9'TSplitter'#10'splitRight'#4'Left'#3#140#1#6'Height'#3
+#0#1#0#0#241#10'TStatusBar'#10'StatusBar1'#3'Top'#3#5#1#5'Width'#3#144#1#0#0
+#241#9'TSplitter'#11'splitBottom'#3'Top'#3#0#1#5'Width'#3#144#1#0#0#242#2#7#9
+'TMainMenu'#9'MainMenu1'#4'left'#3#240#0#3'top'#2'0'#0#9'TMenuItem'#6'mnFile'
+#7'Caption'#6#5'&File'#0#9'TMenuItem'#6'mnOpen'#7'Caption'#6#5'&Open'#7'OnCl'
+'ick'#7#11'mnOpenClick'#0#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#1'-'#0#0#9
+'TMenuItem'#6'mnExit'#7'Caption'#6#5'E&xit'#7'OnClick'#7#11'mnExitClick'#0#0
+#0#9'TMenuItem'#6'mnView'#7'Caption'#6#5'&View'#0#9'TMenuItem'#9'MenuItem2'#7
+'Caption'#6#16'Object Inspector'#7'OnClick'#7#13'ViewMenuClick'#0#0#9'TMenuI'
+'tem'#9'MenuItem3'#7'Caption'#6#8'Messages'#7'OnClick'#7#13'ViewMenuClick'#0
+#0#9'TMenuItem'#9'MenuItem4'#7'Caption'#6#13'Code Explorer'#7'OnClick'#7#13
+'ViewMenuClick'#0#0#9'TMenuItem'#9'MenuItem5'#7'Caption'#6#9'ToDo List'#7'On'
+'Click'#7#13'ViewMenuClick'#0#0#9'TMenuItem'#9'MenuItem6'#7'Caption'#6#13'De'
+'bug windows'#0#9'TMenuItem'#9'MenuItem7'#7'Caption'#6#7'Watches'#7'OnClick'
+#7#13'ViewMenuClick'#0#0#9'TMenuItem'#9'MenuItem8'#7'Caption'#6#11'BreakPoin'
+'ts'#7'OnClick'#7#13'ViewMenuClick'#0#0#9'TMenuItem'#9'MenuItem9'#7'Caption'
+#6#15'Local Variables'#7'OnClick'#7#13'ViewMenuClick'#0#0#9'TMenuItem'#10'Me'
+'nuItem10'#7'Caption'#6#9'Registers'#7'OnClick'#7#13'ViewMenuClick'#0#0#9'TM'
+'enuItem'#10'MenuItem11'#7'Caption'#6#10'Call Stack'#7'OnClick'#7#13'ViewMen'
+'uClick'#0#0#9'TMenuItem'#10'MenuItem12'#7'Caption'#6#9'Assembler'#7'OnClick'
+#7#13'ViewMenuClick'#0#0#9'TMenuItem'#10'MenuItem13'#7'Caption'#6#12'Debug O'
+'utput'#7'OnClick'#7#13'ViewMenuClick'#0#0#0#0#9'TMenuItem'#10'MenuItem14'#7
+'Caption'#6#8'&Windows'#0#9'TMenuItem'#12'mnWindowDump'#7'Caption'#6#5'&Dump'
+#7'OnClick'#7#17'mnWindowDumpClick'#0#0#9'TMenuItem'#10'mnMinimize'#7'Captio'
+'n'#6#12'Minimize all'#7'OnClick'#7#15'mnMinimizeClick'#0#0#9'TMenuItem'#9'm'
+'nRestore'#7'Caption'#6#11'Restore all'#7'OnClick'#7#14'mnRestoreClick'#0#0#0
+#0#242#2#8#11'TOpenDialog'#11'OpenDialog1'#6'Filter'#6#25'*.pas|*.pas|All Fi'
+'les|*.*'#4'left'#3'5'#1#3'top'#2'0'#0#0#0
]);

View File

@ -41,6 +41,10 @@ type
MenuItem11: TMenuItem;
MenuItem12: TMenuItem;
MenuItem13: TMenuItem;
MenuItem14: TMenuItem;
mnRestore: TMenuItem;
mnMinimize: TMenuItem;
mnWindowDump: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
@ -57,6 +61,9 @@ type
mnOpen: TMenuItem;
mnFile: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure mnMinimizeClick(Sender: TObject);
procedure mnRestoreClick(Sender: TObject);
procedure mnWindowDumpClick(Sender: TObject);
procedure ViewMenuClick(Sender: TObject);
procedure mnExitClick(Sender: TObject);
procedure mnOpenClick(Sender: TObject);
@ -74,6 +81,7 @@ var
implementation
uses
LCLProc,
fFloatingSite;
{ TEditorSite }
@ -138,6 +146,16 @@ begin
Close;
end;
procedure TEditorSite.mnMinimizeClick(Sender: TObject);
begin
self.WindowState := wsMinimized;
end;
procedure TEditorSite.mnRestoreClick(Sender: TObject);
begin
WindowState := wsNormal;
end;
procedure TEditorSite.mnOpenClick(Sender: TObject);
begin
if OpenDialog1.Execute then begin
@ -145,6 +163,38 @@ begin
end;
end;
procedure TEditorSite.mnWindowDumpClick(Sender: TObject);
var
i: integer;
f: TWinControl;
s: string;
begin
DebugLn('--- CustomForms ---');
for i := 0 to Screen.CustomFormCount - 1 do begin
f := Screen.CustomForms[i];
s := f.Name;
while f.HostDockSite <> nil do begin
f := f.HostDockSite;
s := s + ' in ' + f.Name;
end;
DebugLn(s);
end;
{ Seems to be the same list
}
DebugLn('--- Forms ---');
for i := 0 to Screen.FormCount - 1 do begin
f := Screen.Forms[i];
s := f.Name;
while f.Parent <> nil do begin
f := f.Parent;
s := s + ' in ' + f.Name;
end;
DebugLn(s);
end;
{}
DebugLn('---');
end;
function TEditorSite.OpenFile(const FileName: string): TObject;
begin
//todo: load the file

View File

@ -8,6 +8,7 @@ object FloatingSite: TFloatingSite
OnDockDrop = FormDockDrop
OnDockOver = FormDockOver
OnUnDock = FormUnDock
ShowInTaskBar = stNever
UseDockManager = True
LCLVersion = '0.9.29'
Visible = True

View File

@ -4,6 +4,6 @@ LazarusResources.Add('TFloatingSite','FORMDATA',[
'TPF0'#13'TFloatingSite'#12'FloatingSite'#4'Left'#3#175#1#6'Height'#3','#1#3
+'Top'#3#242#1#5'Width'#3#144#1#7'Caption'#6#12'FloatingSite'#8'DockSite'#9#10
+'OnDockDrop'#7#12'FormDockDrop'#10'OnDockOver'#7#12'FormDockOver'#8'OnUnDock'
+#7#10'FormUnDock'#14'UseDockManager'#9#10'LCLVersion'#6#6'0.9.29'#7'Visible'
+#9#0#0
+#7#10'FormUnDock'#13'ShowInTaskBar'#7#7'stNever'#14'UseDockManager'#9#10'LCL'
+'Version'#6#6'0.9.29'#7'Visible'#9#0#0
]);