From 4ad75a50a433b8018ab432ed8f05489c0e2a62cc Mon Sep 17 00:00:00 2001 From: dodi Date: Sat, 14 Nov 2009 11:28:57 +0000 Subject: [PATCH] dockmanager example: added support to make existing forms dock sites and clients. git-svn-id: trunk@22584 - --- .gitattributes | 2 +- .../dockmanager/elasticsite/fclientform.lfm | 5 ++- .../dockmanager/elasticsite/fclientform.lrs | 38 +++++++++--------- .../dockmanager/package/ffloatingsite.lfm | 24 +++++++++++ .../dockmanager/package/ffloatingsite.lrs | 20 +++++++-- .../dockmanager/package/ffloatingsite.pas | 4 +- .../dockmanager/package/{pen.ico => pin.ico} | Bin 7 files changed, 67 insertions(+), 26 deletions(-) rename examples/dockmanager/package/{pen.ico => pin.ico} (100%) diff --git a/.gitattributes b/.gitattributes index 6369d096b3..8463674ff3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2797,7 +2797,7 @@ examples/dockmanager/package/felasticsite.pas svneol=native#text/pascal examples/dockmanager/package/ffloatingsite.lfm svneol=native#text/plain examples/dockmanager/package/ffloatingsite.lrs svneol=native#text/plain examples/dockmanager/package/ffloatingsite.pas svneol=native#text/pascal -examples/dockmanager/package/pen.ico -text +examples/dockmanager/package/pin.ico -text examples/dockmanager/package/uminirestore.pas svneol=native#text/pascal examples/dockmanager/package/zoneheader.inc svneol=native#text/pascal examples/dockmanager/patches/FloatHostDockable.patch svneol=native#text/pascal diff --git a/examples/dockmanager/elasticsite/fclientform.lfm b/examples/dockmanager/elasticsite/fclientform.lfm index 07b7544b5b..746ec0a4a0 100644 --- a/examples/dockmanager/elasticsite/fclientform.lfm +++ b/examples/dockmanager/elasticsite/fclientform.lfm @@ -1,7 +1,7 @@ object ViewWindow: TViewWindow - Left = 321 + Left = 369 Height = 300 - Top = 332 + Top = 369 Width = 400 Caption = 'ViewWindow' ClientHeight = 300 @@ -10,6 +10,7 @@ object ViewWindow: TViewWindow DragMode = dmAutomatic OnEndDock = FormEndDock LCLVersion = '0.9.29' + Visible = True object Label1: TLabel Left = 16 Height = 14 diff --git a/examples/dockmanager/elasticsite/fclientform.lrs b/examples/dockmanager/elasticsite/fclientform.lrs index 380bd4b35e..573e06a544 100644 --- a/examples/dockmanager/elasticsite/fclientform.lrs +++ b/examples/dockmanager/elasticsite/fclientform.lrs @@ -1,22 +1,22 @@ LazarusResources.Add('TViewWindow','FORMDATA',[ - 'TPF0'#11'TViewWindow'#10'ViewWindow'#4'Left'#3'A'#1#6'Height'#3','#1#3'Top'#3 - +'L'#1#5'Width'#3#144#1#7'Caption'#6#10'ViewWindow'#12'ClientHeight'#3','#1#11 + 'TPF0'#11'TViewWindow'#10'ViewWindow'#4'Left'#3'q'#1#6'Height'#3','#1#3'Top'#3 + +'q'#1#5'Width'#3#144#1#7'Caption'#6#10'ViewWindow'#12'ClientHeight'#3','#1#11 +'ClientWidth'#3#144#1#8'DragKind'#7#6'dkDock'#8'DragMode'#7#11'dmAutomatic'#9 - +'OnEndDock'#7#11'FormEndDock'#10'LCLVersion'#6#6'0.9.29'#0#6'TLabel'#6'Label' - +'1'#4'Left'#2#16#6'Height'#2#14#3'Top'#2#8#5'Width'#3#142#0#8'AutoSize'#8#7 - +'Caption'#6#6'Label1'#8'DragKind'#7#6'dkDock'#8'DragMode'#7#11'dmAutomatic' - +#11'ParentColor'#8#0#0#6'TImage'#6'Image1'#4'Left'#3#128#1#6'Height'#2#16#3 - +'Top'#2#0#5'Width'#2#16#7'Anchors'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9#11 - +'OnMouseMove'#7#15'Image1MouseMove'#12'Picture.Data'#10'H'#1#0#0#5'TIcon>'#1 - +#0#0#0#0#1#0#1#0#16#16#16#0#0#0#0#0'('#1#0#0#22#0#0#0'('#0#0#0#16#0#0#0' '#0 - +#0#0#1#0#4#0#0#0#0#0#192#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#128#0#0#128#0#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0#128#128#128#0 - +#192#192#192#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255 - +#0#0#255#255#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#153#0#0#0#0 - +#0#0#153#153#153#0#0#0#0#0#153#153#153#0#0#0#0#9#153#153#153#144#0#0#0#9#153 - +#153#153#144#0#0#0#0#153#153#153#0#0#0#0#0#153#153#153#0#0#0#0#0#0#153#0#0#0 - +#0#0#0#0#0#0#0#127#255#0#0#191#255#0#0#223#255#0#0#239#255#0#0#247#255#0#0 - +#251#255#0#0#253#207#0#0#254#3#0#0#254#1#0#0#254#1#0#0#252#0#0#0#252#0#0#0 - +#254#1#0#0#254#1#0#0#255#3#0#0#255#207#0#0#0#0#0 + +'OnEndDock'#7#11'FormEndDock'#10'LCLVersion'#6#6'0.9.29'#7'Visible'#9#0#6'TL' + +'abel'#6'Label1'#4'Left'#2#16#6'Height'#2#14#3'Top'#2#8#5'Width'#3#142#0#8'A' + +'utoSize'#8#7'Caption'#6#6'Label1'#8'DragKind'#7#6'dkDock'#8'DragMode'#7#11 + +'dmAutomatic'#11'ParentColor'#8#0#0#6'TImage'#6'Image1'#4'Left'#3#128#1#6'He' + +'ight'#2#16#3'Top'#2#0#5'Width'#2#16#7'Anchors'#11#5'akTop'#7'akRight'#0#8'A' + +'utoSize'#9#11'OnMouseMove'#7#15'Image1MouseMove'#12'Picture.Data'#10'H'#1#0 + +#0#5'TIcon>'#1#0#0#0#0#1#0#1#0#16#16#16#0#0#0#0#0'('#1#0#0#22#0#0#0'('#0#0#0 + +#16#0#0#0' '#0#0#0#1#0#4#0#0#0#0#0#192#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0#0#0#128#0#128#0#128#128#0#0 + +#128#128#128#0#192#192#192#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0 + +#255#0#255#255#0#0#255#255#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#153#0#0#0#0#0#0#153#153#153#0#0#0#0#0#153#153#153#0#0#0#0#9#153#153#153 + +#144#0#0#0#9#153#153#153#144#0#0#0#0#153#153#153#0#0#0#0#0#153#153#153#0#0#0 + +#0#0#0#153#0#0#0#0#0#0#0#0#0#0#127#255#0#0#191#255#0#0#223#255#0#0#239#255#0 + +#0#247#255#0#0#251#255#0#0#253#207#0#0#254#3#0#0#254#1#0#0#254#1#0#0#252#0#0 + +#0#252#0#0#0#254#1#0#0#254#1#0#0#255#3#0#0#255#207#0#0#0#0#0 ]); diff --git a/examples/dockmanager/package/ffloatingsite.lfm b/examples/dockmanager/package/ffloatingsite.lfm index a7c0bda01d..236e8ccf72 100644 --- a/examples/dockmanager/package/ffloatingsite.lfm +++ b/examples/dockmanager/package/ffloatingsite.lfm @@ -4,10 +4,34 @@ object FloatingSite: TFloatingSite Top = 498 Width = 377 Caption = 'FloatingSite' + ClientHeight = 265 + ClientWidth = 377 DockSite = True OnDockDrop = FormDockDrop OnUnDock = FormUnDock UseDockManager = True LCLVersion = '0.9.29' Visible = True + object Image1: TImage + Left = 361 + Height = 16 + Top = 0 + Width = 16 + Anchors = [akTop, akRight] + AutoSize = True + Picture.Data = { + 055449636F6E3E01000000000100010010101000000000002801000016000000 + 2800000010000000200000000100040000000000C00000000000000000000000 + 0000000000000000000000000000800000800000008080008000000080008000 + 8080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00 + FFFF0000FFFFFF00000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000990000000000009999990000000000999999000000000999999990 + 0000000999999990000000009999990000000000999999000000000000990000 + 00000000000000007FFF0000BFFF0000DFFF0000EFFF0000F7FF0000FBFF0000 + FDCF0000FE030000FE010000FE010000FC000000FC000000FE010000FE010000 + FF030000FFCF0000 + } + Visible = False + end end diff --git a/examples/dockmanager/package/ffloatingsite.lrs b/examples/dockmanager/package/ffloatingsite.lrs index 523ef50e70..ccb9fc49d3 100644 --- a/examples/dockmanager/package/ffloatingsite.lrs +++ b/examples/dockmanager/package/ffloatingsite.lrs @@ -2,7 +2,21 @@ LazarusResources.Add('TFloatingSite','FORMDATA',[ 'TPF0'#13'TFloatingSite'#12'FloatingSite'#4'Left'#3#175#1#6'Height'#3#9#1#3'T' - +'op'#3#242#1#5'Width'#3'y'#1#7'Caption'#6#12'FloatingSite'#8'DockSite'#9#10 - +'OnDockDrop'#7#12'FormDockDrop'#8'OnUnDock'#7#10'FormUnDock'#14'UseDockManag' - +'er'#9#10'LCLVersion'#6#6'0.9.29'#7'Visible'#9#0#0 + +'op'#3#242#1#5'Width'#3'y'#1#7'Caption'#6#12'FloatingSite'#12'ClientHeight'#3 + +#9#1#11'ClientWidth'#3'y'#1#8'DockSite'#9#10'OnDockDrop'#7#12'FormDockDrop'#8 + +'OnUnDock'#7#10'FormUnDock'#14'UseDockManager'#9#10'LCLVersion'#6#6'0.9.29'#7 + +'Visible'#9#0#6'TImage'#6'Image1'#4'Left'#3'i'#1#6'Height'#2#16#3'Top'#2#0#5 + +'Width'#2#16#7'Anchors'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9#12'Picture.Da' + +'ta'#10'H'#1#0#0#5'TIcon>'#1#0#0#0#0#1#0#1#0#16#16#16#0#0#0#0#0'('#1#0#0#22#0 + +#0#0'('#0#0#0#16#0#0#0' '#0#0#0#1#0#4#0#0#0#0#0#192#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#128#0#0#0#128#128#0#128#0#0#0#128#0#128#0 + +#128#128#0#0#128#128#128#0#192#192#192#0#0#0#255#0#0#255#0#0#0#255#255#0#255 + +#0#0#0#255#0#255#0#255#255#0#0#255#255#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#153#0#0#0#0#0#0#153#153#153#0#0#0#0#0#153#153#153#0#0#0#0#9 + +#153#153#153#144#0#0#0#9#153#153#153#144#0#0#0#0#153#153#153#0#0#0#0#0#153 + +#153#153#0#0#0#0#0#0#153#0#0#0#0#0#0#0#0#0#0#127#255#0#0#191#255#0#0#223#255 + +#0#0#239#255#0#0#247#255#0#0#251#255#0#0#253#207#0#0#254#3#0#0#254#1#0#0#254 + +#1#0#0#252#0#0#0#252#0#0#0#254#1#0#0#254#1#0#0#255#3#0#0#255#207#0#0#7'Visib' + +'le'#8#0#0#0 ]); diff --git a/examples/dockmanager/package/ffloatingsite.pas b/examples/dockmanager/package/ffloatingsite.pas index 9599379a77..440d2b9d48 100644 --- a/examples/dockmanager/package/ffloatingsite.pas +++ b/examples/dockmanager/package/ffloatingsite.pas @@ -15,10 +15,12 @@ unit fFloatingSite; interface uses - Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs; + Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, + ExtCtrls; type TFloatingSite = class(TForm) + Image1: TImage; procedure FormDockDrop(Sender: TObject; Source: TDragDockObject; X, Y: Integer); procedure FormUnDock(Sender: TObject; Client: TControl; diff --git a/examples/dockmanager/package/pen.ico b/examples/dockmanager/package/pin.ico similarity index 100% rename from examples/dockmanager/package/pen.ico rename to examples/dockmanager/package/pin.ico