examples: fix dockmanager compilation

git-svn-id: trunk@22406 -
This commit is contained in:
paul 2009-11-03 15:01:54 +00:00
parent 0598f2da99
commit 0690273f72
7 changed files with 98 additions and 85 deletions

View File

@ -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

View File

@ -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
]);

View File

@ -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;

View File

@ -34,7 +34,7 @@
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="16">
<Units Count="17">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
@ -49,8 +49,8 @@
<ComponentName Value="DockingSite"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="fElastic"/>
<CursorPos X="3" Y="294"/>
<TopLine Value="255"/>
<CursorPos X="36" Y="282"/>
<TopLine Value="264"/>
<EditorIndex Value="0"/>
<UsageCount Value="42"/>
<Bookmarks Count="1">
@ -98,9 +98,7 @@
<UnitName Value="fTestPanels"/>
<CursorPos X="1" Y="85"/>
<TopLine Value="43"/>
<EditorIndex Value="4"/>
<UsageCount Value="37"/>
<Loaded Value="True"/>
</Unit6>
<Unit7>
<Filename Value="..\..\..\lcl\extctrls.pp"/>
@ -123,7 +121,7 @@
<UnitName Value="EasyDockSite"/>
<CursorPos X="1" Y="694"/>
<TopLine Value="694"/>
<EditorIndex Value="2"/>
<EditorIndex Value="3"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
</Unit9>
@ -144,7 +142,7 @@
<UnitName Value="InterfaceBase"/>
<CursorPos X="3" Y="37"/>
<TopLine Value="13"/>
<EditorIndex Value="3"/>
<EditorIndex Value="4"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
</Unit12>
@ -167,131 +165,143 @@
<Filename Value="..\..\..\lcl\include\winapih.inc"/>
<CursorPos X="10" Y="150"/>
<TopLine Value="126"/>
<EditorIndex Value="1"/>
<EditorIndex Value="2"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit15>
<Unit16>
<Filename Value="..\package\fdockbook.pas"/>
<ComponentName Value="EasyDockBook"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="fDockBook"/>
<CursorPos X="24" Y="128"/>
<TopLine Value="104"/>
<EditorIndex Value="1"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit16>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="felastic.pas"/>
<Caret Line="141" Column="1" TopLine="117"/>
<Caret Line="75" Column="13" TopLine="51"/>
</Position1>
<Position2>
<Filename Value="..\..\..\lcl\include\control.inc"/>
<Caret Line="1125" Column="1" TopLine="1101"/>
<Filename Value="felastic.pas"/>
<Caret Line="76" Column="13" TopLine="51"/>
</Position2>
<Position3>
<Filename Value="felastic.pas"/>
<Caret Line="133" Column="5" TopLine="117"/>
<Caret Line="71" Column="15" TopLine="51"/>
</Position3>
<Position4>
<Filename Value="felastic.pas"/>
<Caret Line="143" Column="1" TopLine="119"/>
<Caret Line="75" Column="12" TopLine="51"/>
</Position4>
<Position5>
<Filename Value="felastic.pas"/>
<Caret Line="146" Column="1" TopLine="122"/>
<Caret Line="78" Column="41" TopLine="51"/>
</Position5>
<Position6>
<Filename Value="felastic.pas"/>
<Caret Line="147" Column="1" TopLine="123"/>
<Caret Line="77" Column="41" TopLine="51"/>
</Position6>
<Position7>
<Filename Value="felastic.pas"/>
<Caret Line="148" Column="1" TopLine="124"/>
<Caret Line="105" Column="18" TopLine="71"/>
</Position7>
<Position8>
<Filename Value="felastic.pas"/>
<Caret Line="150" Column="1" TopLine="126"/>
<Caret Line="261" Column="22" TopLine="236"/>
</Position8>
<Position9>
<Filename Value="felastic.pas"/>
<Caret Line="136" Column="19" TopLine="117"/>
<Caret Line="61" Column="34" TopLine="25"/>
</Position9>
<Position10>
<Filename Value="felastic.pas"/>
<Caret Line="218" Column="64" TopLine="171"/>
<Filename Value="..\..\..\lcl\controls.pp"/>
<Caret Line="1159" Column="27" TopLine="1112"/>
</Position10>
<Position11>
<Filename Value="felastic.pas"/>
<Caret Line="77" Column="15" TopLine="57"/>
<Caret Line="201" Column="22" TopLine="173"/>
</Position11>
<Position12>
<Filename Value="felastic.pas"/>
<Caret Line="75" Column="13" TopLine="51"/>
<Caret Line="206" Column="1" TopLine="173"/>
</Position12>
<Position13>
<Filename Value="felastic.pas"/>
<Caret Line="76" Column="13" TopLine="51"/>
<Caret Line="208" Column="11" TopLine="181"/>
</Position13>
<Position14>
<Filename Value="felastic.pas"/>
<Caret Line="71" Column="15" TopLine="51"/>
<Caret Line="209" Column="18" TopLine="181"/>
</Position14>
<Position15>
<Filename Value="felastic.pas"/>
<Caret Line="75" Column="12" TopLine="51"/>
<Caret Line="68" Column="1" TopLine="55"/>
</Position15>
<Position16>
<Filename Value="felastic.pas"/>
<Caret Line="78" Column="41" TopLine="51"/>
<Caret Line="293" Column="10" TopLine="249"/>
</Position16>
<Position17>
<Filename Value="felastic.pas"/>
<Caret Line="77" Column="41" TopLine="51"/>
<Filename Value="..\..\..\lcl\controls.pp"/>
<Caret Line="2341" Column="28" TopLine="2317"/>
</Position17>
<Position18>
<Filename Value="felastic.pas"/>
<Caret Line="105" Column="18" TopLine="71"/>
<Filename Value="..\..\..\lcl\controls.pp"/>
<Caret Line="2191" Column="25" TopLine="2158"/>
</Position18>
<Position19>
<Filename Value="felastic.pas"/>
<Caret Line="261" Column="22" TopLine="236"/>
<Caret Line="59" Column="48" TopLine="25"/>
</Position19>
<Position20>
<Filename Value="felastic.pas"/>
<Caret Line="61" Column="34" TopLine="25"/>
<Filename Value="..\package\fdockbook.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position20>
<Position21>
<Filename Value="..\..\..\lcl\controls.pp"/>
<Caret Line="1159" Column="27" TopLine="1112"/>
<Filename Value="..\package\fdockbook.pas"/>
<Caret Line="46" Column="7" TopLine="46"/>
</Position21>
<Position22>
<Filename Value="felastic.pas"/>
<Caret Line="201" Column="22" TopLine="173"/>
<Filename Value="..\package\fdockbook.pas"/>
<Caret Line="104" Column="14" TopLine="87"/>
</Position22>
<Position23>
<Filename Value="felastic.pas"/>
<Caret Line="206" Column="1" TopLine="173"/>
<Filename Value="..\package\fdockbook.pas"/>
<Caret Line="46" Column="1" TopLine="22"/>
</Position23>
<Position24>
<Filename Value="felastic.pas"/>
<Caret Line="208" Column="11" TopLine="181"/>
<Filename Value="..\package\fdockbook.pas"/>
<Caret Line="123" Column="16" TopLine="104"/>
</Position24>
<Position25>
<Filename Value="felastic.pas"/>
<Caret Line="209" Column="18" TopLine="181"/>
<Caret Line="281" Column="61" TopLine="258"/>
</Position25>
<Position26>
<Filename Value="felastic.pas"/>
<Caret Line="68" Column="1" TopLine="55"/>
<Caret Line="119" Column="51" TopLine="100"/>
</Position26>
<Position27>
<Filename Value="felastic.pas"/>
<Caret Line="293" Column="10" TopLine="249"/>
<Caret Line="141" Column="49" TopLine="123"/>
</Position27>
<Position28>
<Filename Value="..\..\..\lcl\controls.pp"/>
<Caret Line="2341" Column="28" TopLine="2317"/>
<Filename Value="felastic.pas"/>
<Caret Line="144" Column="49" TopLine="125"/>
</Position28>
<Position29>
<Filename Value="..\..\..\lcl\controls.pp"/>
<Caret Line="2191" Column="25" TopLine="2158"/>
<Filename Value="felastic.pas"/>
<Caret Line="268" Column="50" TopLine="249"/>
</Position29>
<Position30>
<Filename Value="felastic.pas"/>
<Caret Line="59" Column="48" TopLine="25"/>
<Caret Line="280" Column="48" TopLine="261"/>
</Position30>
</JumpHistory>
</ProjectOptions>

View File

@ -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

View File

@ -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
]);

View File

@ -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;