diff --git a/examples/dockmanager/elasticsite/felastic.lfm b/examples/dockmanager/elasticsite/felastic.lfm
index 272a91bc67..11bd01739e 100644
--- a/examples/dockmanager/elasticsite/felastic.lfm
+++ b/examples/dockmanager/elasticsite/felastic.lfm
@@ -11,7 +11,7 @@ object DockingSite: TDockingSite
Visible = True
object pnlLeft: TPanel
Left = 0
- Height = 138
+ Height = 135
Top = 0
Width = 0
Align = alLeft
@@ -27,13 +27,13 @@ object DockingSite: TDockingSite
end
object splitLeft: TSplitter
Left = 0
- Height = 138
+ Height = 135
Top = 0
Width = 4
end
object pnlRight: TPanel
Left = 255
- Height = 138
+ Height = 135
Top = 0
Width = 0
Align = alRight
@@ -50,7 +50,7 @@ object DockingSite: TDockingSite
object pnlBottom: TPanel
Left = 0
Height = 1
- Top = 142
+ Top = 139
Width = 255
Align = alBottom
Caption = 'pnlBottom'
@@ -63,7 +63,7 @@ object DockingSite: TDockingSite
end
object splitRight: TSplitter
Left = 251
- Height = 138
+ Height = 135
Top = 0
Width = 4
Align = alRight
@@ -71,19 +71,19 @@ object DockingSite: TDockingSite
end
object StatusBar1: TStatusBar
Left = 0
- Height = 20
- Top = 143
+ Height = 23
+ Top = 140
Width = 255
Panels = <>
end
object Panel1: TPanel
Left = 4
- Height = 138
+ Height = 135
Top = 0
Width = 247
Align = alClient
Caption = 'Client'
- ClientHeight = 138
+ ClientHeight = 135
ClientWidth = 247
TabOrder = 6
object buNewForm: TButton
@@ -100,7 +100,7 @@ object DockingSite: TDockingSite
Cursor = crVSplit
Left = 0
Height = 4
- Top = 138
+ Top = 135
Width = 255
Align = alBottom
ResizeAnchor = akBottom
diff --git a/examples/dockmanager/elasticsite/felastic.lrs b/examples/dockmanager/elasticsite/felastic.lrs
index 3e60fe2161..3f573cbd09 100644
--- a/examples/dockmanager/elasticsite/felastic.lrs
+++ b/examples/dockmanager/elasticsite/felastic.lrs
@@ -4,29 +4,29 @@ LazarusResources.Add('TDockingSite','FORMDATA',[
'TPF0'#12'TDockingSite'#11'DockingSite'#4'Left'#3#188#1#6'Height'#3#163#0#3'T'
+'op'#3#156#0#5'Width'#3#255#0#8'AutoSize'#9#7'Caption'#6#9'Dock Site'#12'Cli'
+'entHeight'#3#163#0#11'ClientWidth'#3#255#0#10'LCLVersion'#6#6'0.9.29'#7'Vis'
- +'ible'#9#0#6'TPanel'#7'pnlLeft'#4'Left'#2#0#6'Height'#3#138#0#3'Top'#2#0#5'W'
+ +'ible'#9#0#6'TPanel'#7'pnlLeft'#4'Left'#2#0#6'Height'#3#135#0#3'Top'#2#0#5'W'
+'idth'#2#0#5'Align'#7#6'alLeft'#7'Caption'#6#7'pnlLeft'#5'Color'#7#7'clWhite'
+#8'DockSite'#9#11'ParentColor'#8#8'TabOrder'#2#0#10'OnDockDrop'#7#15'pnlLeft'
+'DockDrop'#10'OnDockOver'#7#15'pnlLeftDockOver'#13'OnGetSiteInfo'#7#18'pnlLe'
+'ftGetSiteInfo'#8'OnUnDock'#7#13'pnlLeftUnDock'#0#0#9'TSplitter'#9'splitLeft'
- +#4'Left'#2#0#6'Height'#3#138#0#3'Top'#2#0#5'Width'#2#4#0#0#6'TPanel'#8'pnlRi'
- +'ght'#4'Left'#3#255#0#6'Height'#3#138#0#3'Top'#2#0#5'Width'#2#0#5'Align'#7#7
+ +#4'Left'#2#0#6'Height'#3#135#0#3'Top'#2#0#5'Width'#2#4#0#0#6'TPanel'#8'pnlRi'
+ +'ght'#4'Left'#3#255#0#6'Height'#3#135#0#3'Top'#2#0#5'Width'#2#0#5'Align'#7#7
+'alRight'#7'Caption'#6#8'pnlRight'#5'Color'#7#6'clAqua'#8'DockSite'#9#11'Par'
+'entColor'#8#8'TabOrder'#2#2#10'OnDockDrop'#7#15'pnlLeftDockDrop'#10'OnDockO'
+'ver'#7#15'pnlLeftDockOver'#13'OnGetSiteInfo'#7#18'pnlLeftGetSiteInfo'#8'OnU'
+'nDock'#7#13'pnlLeftUnDock'#0#0#6'TPanel'#9'pnlBottom'#4'Left'#2#0#6'Height'
- +#2#1#3'Top'#3#142#0#5'Width'#3#255#0#5'Align'#7#8'alBottom'#7'Caption'#6#9'p'
+ +#2#1#3'Top'#3#139#0#5'Width'#3#255#0#5'Align'#7#8'alBottom'#7'Caption'#6#9'p'
+'nlBottom'#8'DockSite'#9#8'TabOrder'#2#3#10'OnDockDrop'#7#15'pnlLeftDockDrop'
+#10'OnDockOver'#7#15'pnlLeftDockOver'#13'OnGetSiteInfo'#7#18'pnlLeftGetSiteI'
+'nfo'#8'OnUnDock'#7#13'pnlLeftUnDock'#0#0#9'TSplitter'#10'splitRight'#4'Left'
- +#3#251#0#6'Height'#3#138#0#3'Top'#2#0#5'Width'#2#4#5'Align'#7#7'alRight'#12
+ +#3#251#0#6'Height'#3#135#0#3'Top'#2#0#5'Width'#2#4#5'Align'#7#7'alRight'#12
+'ResizeAnchor'#7#7'akRight'#0#0#10'TStatusBar'#10'StatusBar1'#4'Left'#2#0#6
- +'Height'#2#20#3'Top'#3#143#0#5'Width'#3#255#0#6'Panels'#14#0#0#0#6'TPanel'#6
- +'Panel1'#4'Left'#2#4#6'Height'#3#138#0#3'Top'#2#0#5'Width'#3#247#0#5'Align'#7
- +#8'alClient'#7'Caption'#6#6'Client'#12'ClientHeight'#3#138#0#11'ClientWidth'
+ +'Height'#2#23#3'Top'#3#140#0#5'Width'#3#255#0#6'Panels'#14#0#0#0#6'TPanel'#6
+ +'Panel1'#4'Left'#2#4#6'Height'#3#135#0#3'Top'#2#0#5'Width'#3#247#0#5'Align'#7
+ +#8'alClient'#7'Caption'#6#6'Client'#12'ClientHeight'#3#135#0#11'ClientWidth'
+#3#247#0#8'TabOrder'#2#6#0#7'TButton'#9'buNewForm'#4'Left'#2'`'#6'Height'#2
+#20#3'Top'#2#16#5'Width'#2'>'#7'Caption'#6#8'New Form'#7'OnClick'#7#14'buNew'
+'FormClick'#8'TabOrder'#2#0#0#0#0#9'TSplitter'#11'splitBottom'#6'Cursor'#7#8
- +'crVSplit'#4'Left'#2#0#6'Height'#2#4#3'Top'#3#138#0#5'Width'#3#255#0#5'Align'
+ +'crVSplit'#4'Left'#2#0#6'Height'#2#4#3'Top'#3#135#0#5'Width'#3#255#0#5'Align'
+#7#8'alBottom'#12'ResizeAnchor'#7#8'akBottom'#0#0#0
]);
diff --git a/examples/dockmanager/elasticsite/felastic.pas b/examples/dockmanager/elasticsite/felastic.pas
index 78faea8c0f..68737f2b76 100644
--- a/examples/dockmanager/elasticsite/felastic.pas
+++ b/examples/dockmanager/elasticsite/felastic.pas
@@ -115,8 +115,8 @@ begin
inc(r.Right, w);
BoundsRect := r;
end else begin
- dec(DragTarget.Left, w);
- dec(splitRight.Left, w);
+ DragTarget.Left := DragTarget.Left - w;
+ splitRight.Left := splitRight.Left - w;
end;
end else if AutoExpand then begin
//enlarge left
@@ -138,10 +138,10 @@ begin
r := self.BoundsRect;
inc(r.Bottom, w);
BoundsRect := r;
- inc(StatusBar1.Top, w);
+ StatusBar1.Top := StatusBar1.Top + w;
end else begin
- dec(splitBottom.Top, w);
- dec(DragTarget.Top, w);
+ splitBottom.Top := splitBottom.Top - w;
+ DragTarget.Top := DragTarget.Top - w;
end;
end;
EnableAlign;
@@ -264,8 +264,8 @@ begin
dec(r.Right, wh);
BoundsRect := r; //does not resize :-(
end else begin
- inc(Site.Left, wh);
- inc(splitRight.Left, wh); //doesn't help :-(
+ Site.Left := Site.Left + wh;
+ splitRight.Left := splitRight.Left + wh; //doesn't help :-(
end;
end;
alBottom:
@@ -276,10 +276,10 @@ begin
r := BoundsRect;
dec(r.Bottom, wh);
BoundsRect := r;
- dec(splitBottom.Top, wh);
- dec(StatusBar1.Top, wh);
+ splitBottom.Top := splitBottom.Top - wh;
+ StatusBar1.Top := StatusBar1.Top - wh;
end else begin
- inc(Site.Top, wh);
+ Site.Top := Site.Top + wh;
splitBottom.Top := Site.Top - splitBottom.Height - 10;
end;
end;
diff --git a/examples/dockmanager/elasticsite/project1.lpi b/examples/dockmanager/elasticsite/project1.lpi
index 35e4e2c1cd..0db2d7a833 100644
--- a/examples/dockmanager/elasticsite/project1.lpi
+++ b/examples/dockmanager/elasticsite/project1.lpi
@@ -34,7 +34,7 @@
-
+
@@ -49,8 +49,8 @@
-
-
+
+
@@ -98,9 +98,7 @@
-
-
@@ -123,7 +121,7 @@
-
+
@@ -144,7 +142,7 @@
-
+
@@ -167,131 +165,143 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
diff --git a/examples/dockmanager/package/fdockbook.lfm b/examples/dockmanager/package/fdockbook.lfm
index 3d052dd6da..2c0c073b59 100644
--- a/examples/dockmanager/package/fdockbook.lfm
+++ b/examples/dockmanager/package/fdockbook.lfm
@@ -13,7 +13,7 @@ object EasyDockBook: TEasyDockBook
OnDockOver = FormDockOver
OnGetSiteInfo = FormGetSiteInfo
OnUnDock = FormUnDock
- LCLVersion = '0.9.27'
+ LCLVersion = '0.9.29'
Visible = True
object pnlDock: TPanel
Left = 0
diff --git a/examples/dockmanager/package/fdockbook.lrs b/examples/dockmanager/package/fdockbook.lrs
index 7a663b2e2f..5233aef49d 100644
--- a/examples/dockmanager/package/fdockbook.lrs
+++ b/examples/dockmanager/package/fdockbook.lrs
@@ -6,7 +6,7 @@ LazarusResources.Add('TEasyDockBook','FORMDATA',[
+','#1#11'ClientWidth'#3#144#1#8'DockSite'#9#8'DragKind'#7#6'dkDock'#8'OnCrea'
+'te'#7#10'FormCreate'#10'OnDockDrop'#7#12'FormDockDrop'#10'OnDockOver'#7#12
+'FormDockOver'#13'OnGetSiteInfo'#7#15'FormGetSiteInfo'#8'OnUnDock'#7#10'Form'
- +'UnDock'#10'LCLVersion'#6#6'0.9.27'#7'Visible'#9#0#6'TPanel'#7'pnlDock'#4'Le'
+ +'UnDock'#10'LCLVersion'#6#6'0.9.29'#7'Visible'#9#0#6'TPanel'#7'pnlDock'#4'Le'
+'ft'#2#0#6'Height'#3','#1#3'Top'#2#0#5'Width'#3#144#1#5'Align'#7#8'alClient'
+#8'TabOrder'#2#0#14'UseDockManager'#8#0#0#0
]);
diff --git a/examples/dockmanager/package/fdockbook.pas b/examples/dockmanager/package/fdockbook.pas
index f4c176896e..41cc31f80d 100644
--- a/examples/dockmanager/package/fdockbook.pas
+++ b/examples/dockmanager/package/fdockbook.pas
@@ -42,8 +42,8 @@ type
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
public
- constructor Create(TheOwner: TComponent); override;
Control: TControl;
+ constructor Create(TheOwner: TComponent); override;
end;
TTabs = class(TToolBar)
@@ -113,15 +113,18 @@ end;
procedure TEasyDockBook.FormDockOver(Sender: TObject; Source: TDragDockObject;
X, Y: Integer; State: TDragState; var Accept: Boolean);
+var
+ ARect: TRect;
begin
//unmanaged dock site requires an OnDockOver handler.
Accept := True; //this is the default, can be omitted
//make DockRect reflect the docking area
with Source do begin
- DockRect := pnlDock.ClientRect;
- DockRect.TopLeft := pnlDock.ClientToScreen(DockRect.TopLeft);
- inc(DockRect.Bottom, DockRect.Top);
- inc(DockRect.Right, DockRect.Left);
+ ARect := pnlDock.ClientRect;
+ ARect.TopLeft := pnlDock.ClientToScreen(ARect.TopLeft);
+ inc(ARect.Bottom, ARect.Top);
+ inc(ARect.Right, ARect.Left);
+ DockRect := ARect;
end;
end;