mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-10 08:08:00 +02:00
dockmanager example: fixed splitter appearance and orientation for new notebook
git-svn-id: trunk@22721 -
This commit is contained in:
parent
ffaf004a69
commit
c91bb602d6
@ -8,7 +8,7 @@
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<Icon Value="0"/>
|
||||
<UseXPManifest Value="True"/>
|
||||
<ActiveEditorIndexAtStart Value="2"/>
|
||||
<ActiveEditorIndexAtStart Value="4"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<ProjectVersion Value=""/>
|
||||
@ -33,14 +33,14 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="32">
|
||||
<Units Count="34">
|
||||
<Unit0>
|
||||
<Filename Value="MakeSite.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="MakeSite"/>
|
||||
<CursorPos X="51" Y="18"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="74"/>
|
||||
<UsageCount Value="80"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="fmastersite.pas"/>
|
||||
@ -48,31 +48,28 @@
|
||||
<ComponentName Value="MasterSite"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="fMasterSite"/>
|
||||
<CursorPos X="17" Y="35"/>
|
||||
<TopLine Value="8"/>
|
||||
<CursorPos X="1" Y="51"/>
|
||||
<TopLine Value="23"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="74"/>
|
||||
<UsageCount Value="80"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<UnitName Value="uMakeSite"/>
|
||||
<CursorPos X="11" Y="108"/>
|
||||
<TopLine Value="77"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="71"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="7" Y="173" ID="1"/>
|
||||
</Bookmarks>
|
||||
<CursorPos X="1" Y="126"/>
|
||||
<TopLine Value="105"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="74"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="..\..\..\lcl\controls.pp"/>
|
||||
<UnitName Value="Controls"/>
|
||||
<CursorPos X="15" Y="1783"/>
|
||||
<TopLine Value="1760"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="36"/>
|
||||
<CursorPos X="15" Y="1757"/>
|
||||
<TopLine Value="1733"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="39"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
@ -96,8 +93,8 @@
|
||||
<Filename Value="..\..\..\..\..\lazarus\fpc\2.2.4\source\rtl\objpas\classes\classesh.inc"/>
|
||||
<CursorPos X="14" Y="1556"/>
|
||||
<TopLine Value="1533"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="11"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="14"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
@ -109,9 +106,7 @@
|
||||
<UnitName Value="fClientForm"/>
|
||||
<CursorPos X="10" Y="38"/>
|
||||
<TopLine Value="12"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="74"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="80"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="..\..\..\lcl\include\winapih.inc"/>
|
||||
@ -134,30 +129,30 @@
|
||||
<Unit11>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<UnitName Value="EasyDockSite"/>
|
||||
<CursorPos X="4" Y="45"/>
|
||||
<TopLine Value="24"/>
|
||||
<CursorPos X="1" Y="364"/>
|
||||
<TopLine Value="341"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="35"/>
|
||||
<UsageCount Value="38"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="1" Y="1537" ID="2"/>
|
||||
<Item0 X="3" Y="365" ID="2"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="..\..\..\lcl\forms.pp"/>
|
||||
<UnitName Value="Forms"/>
|
||||
<CursorPos X="15" Y="577"/>
|
||||
<TopLine Value="553"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="33"/>
|
||||
<CursorPos X="17" Y="532"/>
|
||||
<TopLine Value="509"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="34"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="..\..\..\lcl\include\customform.inc"/>
|
||||
<CursorPos X="16" Y="2424"/>
|
||||
<TopLine Value="2422"/>
|
||||
<EditorIndex Value="15"/>
|
||||
<UsageCount Value="16"/>
|
||||
<CursorPos X="17" Y="1593"/>
|
||||
<TopLine Value="1571"/>
|
||||
<EditorIndex Value="14"/>
|
||||
<UsageCount Value="19"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
@ -191,10 +186,10 @@
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="fFloatingSite"/>
|
||||
<CursorPos X="3" Y="22"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="33"/>
|
||||
<CursorPos X="9" Y="107"/>
|
||||
<TopLine Value="64"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="36"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
@ -203,10 +198,10 @@
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="fDockBook"/>
|
||||
<CursorPos X="5" Y="96"/>
|
||||
<TopLine Value="73"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="31"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="34"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
@ -214,9 +209,7 @@
|
||||
<UnitName Value="EasyDockMgr"/>
|
||||
<CursorPos X="7" Y="10"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="31"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="..\package\fpageframe.pas"/>
|
||||
@ -254,176 +247,197 @@
|
||||
<Filename Value="..\..\..\..\..\lazarus\fpc\2.2.4\source\rtl\objpas\classes\compon.inc"/>
|
||||
<CursorPos X="3" Y="161"/>
|
||||
<TopLine Value="158"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="11"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="14"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
<Filename Value="..\..\..\lcl\include\control.inc"/>
|
||||
<CursorPos X="3" Y="540"/>
|
||||
<TopLine Value="525"/>
|
||||
<EditorIndex Value="14"/>
|
||||
<UsageCount Value="21"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<UsageCount Value="24"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="..\..\..\lcl\include\wincontrol.inc"/>
|
||||
<CursorPos X="1" Y="5215"/>
|
||||
<TopLine Value="5208"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="21"/>
|
||||
<CursorPos X="3" Y="6514"/>
|
||||
<TopLine Value="6468"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="24"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<Filename Value="..\..\..\lcl\include\dragdock.inc"/>
|
||||
<CursorPos X="10" Y="21"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="17"/>
|
||||
<UsageCount Value="21"/>
|
||||
<EditorIndex Value="16"/>
|
||||
<UsageCount Value="24"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\..\..\lcl\include\dragmanager.inc"/>
|
||||
<CursorPos X="1" Y="730"/>
|
||||
<TopLine Value="687"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<UsageCount Value="16"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="19"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<Filename Value="..\..\..\lcl\include\application.inc"/>
|
||||
<CursorPos X="1" Y="2074"/>
|
||||
<TopLine Value="2051"/>
|
||||
<EditorIndex Value="16"/>
|
||||
<UsageCount Value="16"/>
|
||||
<EditorIndex Value="15"/>
|
||||
<UsageCount Value="19"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<Filename Value="..\..\..\lcl\include\toolbutton.inc"/>
|
||||
<CursorPos X="1" Y="700"/>
|
||||
<TopLine Value="677"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="16"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<Filename Value="..\..\..\lcl\include\customcontrol.inc"/>
|
||||
<CursorPos X="17" Y="113"/>
|
||||
<TopLine Value="92"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<Filename Value="..\package\zoneheader.inc"/>
|
||||
<CursorPos X="41" Y="168"/>
|
||||
<TopLine Value="145"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="41" Y="168" ID="1"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
</Unit33>
|
||||
</Units>
|
||||
<JumpHistory Count="29" HistoryIndex="28">
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="..\package\fdockbook.pas"/>
|
||||
<Caret Line="209" Column="1" TopLine="180"/>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="249" Column="23" TopLine="244"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="..\package\fdockbook.pas"/>
|
||||
<Caret Line="208" Column="16" TopLine="184"/>
|
||||
<Filename Value="..\package\ffloatingsite.pas"/>
|
||||
<Caret Line="107" Column="9" TopLine="64"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="fmastersite.pas"/>
|
||||
<Caret Line="35" Column="17" TopLine="8"/>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<Caret Line="555" Column="29" TopLine="526"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="263" Column="1" TopLine="221"/>
|
||||
<Caret Line="65" Column="28" TopLine="38"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="151" Column="19" TopLine="121"/>
|
||||
<Filename Value="..\package\fdockbook.pas"/>
|
||||
<Caret Line="143" Column="20" TopLine="124"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="177" Column="19" TopLine="139"/>
|
||||
<Filename Value="fmastersite.pas"/>
|
||||
<Caret Line="50" Column="17" TopLine="15"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="..\..\..\lcl\include\control.inc"/>
|
||||
<Caret Line="3989" Column="27" TopLine="3957"/>
|
||||
<Filename Value="fmastersite.pas"/>
|
||||
<Caret Line="51" Column="17" TopLine="15"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="177" Column="19" TopLine="139"/>
|
||||
<Filename Value="fmastersite.pas"/>
|
||||
<Caret Line="50" Column="17" TopLine="15"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="86" Column="15" TopLine="80"/>
|
||||
<Filename Value="fmastersite.pas"/>
|
||||
<Caret Line="57" Column="17" TopLine="15"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="163" Column="31" TopLine="155"/>
|
||||
<Caret Line="253" Column="23" TopLine="232"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="73" Column="1" TopLine="60"/>
|
||||
<Caret Line="62" Column="96" TopLine="39"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="49" Column="1" TopLine="28"/>
|
||||
<Caret Line="256" Column="18" TopLine="237"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="150" Column="16" TopLine="133"/>
|
||||
<Filename Value="..\package\fdockbook.pas"/>
|
||||
<Caret Line="90" Column="15" TopLine="66"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="153" Column="14" TopLine="130"/>
|
||||
<Filename Value="..\package\fdockbook.pas"/>
|
||||
<Caret Line="87" Column="12" TopLine="74"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="154" Column="20" TopLine="131"/>
|
||||
<Filename Value="..\package\fdockbook.pas"/>
|
||||
<Caret Line="98" Column="26" TopLine="74"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="65" Column="6" TopLine="41"/>
|
||||
<Filename Value="..\package\fdockbook.pas"/>
|
||||
<Caret Line="143" Column="30" TopLine="119"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="155" Column="43" TopLine="132"/>
|
||||
<Filename Value="..\package\fdockbook.pas"/>
|
||||
<Caret Line="275" Column="36" TopLine="251"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="190" Column="1" TopLine="144"/>
|
||||
<Filename Value="..\package\fdockbook.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="155" Column="25" TopLine="132"/>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<Caret Line="565" Column="1" TopLine="598"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="156" Column="1" TopLine="111"/>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<Caret Line="228" Column="14" TopLine="206"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="177" Column="21" TopLine="148"/>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<Caret Line="363" Column="17" TopLine="339"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="50" Column="60" TopLine="19"/>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<Caret Line="371" Column="1" TopLine="339"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="68" Column="23" TopLine="53"/>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<Caret Line="380" Column="23" TopLine="339"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="76" Column="69" TopLine="53"/>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<Caret Line="786" Column="40" TopLine="763"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="87" Column="38" TopLine="64"/>
|
||||
<Filename Value="..\package\zoneheader.inc"/>
|
||||
<Caret Line="168" Column="41" TopLine="143"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="178" Column="24" TopLine="138"/>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<Caret Line="169" Column="7" TopLine="148"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="52" Column="17" TopLine="30"/>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<Caret Line="228" Column="14" TopLine="205"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="..\package\umakesite.pas"/>
|
||||
<Caret Line="181" Column="8" TopLine="144"/>
|
||||
<Filename Value="..\package\zoneheader.inc"/>
|
||||
<Caret Line="168" Column="43" TopLine="145"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="..\package\easydocksite.pas"/>
|
||||
<Caret Line="288" Column="19" TopLine="265"/>
|
||||
<Filename Value="fmastersite.pas"/>
|
||||
<Caret Line="51" Column="1" TopLine="23"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="fmastersite.pas"/>
|
||||
<Caret Line="52" Column="1" TopLine="23"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
@ -9,7 +9,7 @@ object MasterSite: TMasterSite
|
||||
OnCreate = FormCreate
|
||||
LCLVersion = '0.9.29'
|
||||
object buDump: TButton
|
||||
Left = 10
|
||||
Left = 144
|
||||
Height = 25
|
||||
Top = 10
|
||||
Width = 75
|
||||
@ -17,4 +17,30 @@ object MasterSite: TMasterSite
|
||||
OnClick = buDumpClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object buCreateForm: TButton
|
||||
Left = 10
|
||||
Height = 25
|
||||
Top = 10
|
||||
Width = 75
|
||||
Caption = 'buCreateForm'
|
||||
OnClick = buCreateFormClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object buSave: TButton
|
||||
Left = 8
|
||||
Height = 25
|
||||
Top = 48
|
||||
Width = 75
|
||||
Caption = 'buSave'
|
||||
TabOrder = 2
|
||||
end
|
||||
object buRestore: TButton
|
||||
Left = 96
|
||||
Height = 25
|
||||
Top = 48
|
||||
Width = 75
|
||||
Caption = 'buRestore'
|
||||
OnClick = buRestoreClick
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
|
@ -12,10 +12,15 @@ uses
|
||||
type
|
||||
TMasterSite = class(TForm)
|
||||
buDump: TButton;
|
||||
buCreateForm: TButton;
|
||||
buSave: TButton;
|
||||
buRestore: TButton;
|
||||
procedure buCreateFormClick(Sender: TObject);
|
||||
procedure buDumpClick(Sender: TObject);
|
||||
procedure buRestoreClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
ms: TMemoryStream;
|
||||
public
|
||||
DockMaster: TDockMaster;
|
||||
end;
|
||||
@ -30,11 +35,23 @@ uses
|
||||
|
||||
{ TMasterSite }
|
||||
|
||||
procedure TMasterSite.buCreateFormClick(Sender: TObject);
|
||||
begin
|
||||
DockMaster.CreateDockable('', True);
|
||||
end;
|
||||
|
||||
procedure TMasterSite.buDumpClick(Sender: TObject);
|
||||
begin
|
||||
DockMaster.DumpSites;
|
||||
end;
|
||||
|
||||
procedure TMasterSite.buRestoreClick(Sender: TObject);
|
||||
begin
|
||||
if ms = nil then
|
||||
ms := TMemoryStream.Create;
|
||||
DockMaster.LoadFromStream(ms);
|
||||
end;
|
||||
|
||||
procedure TMasterSite.FormCreate(Sender: TObject);
|
||||
begin
|
||||
DockMaster := TDockMaster.Create(self); //(Application)?
|
||||
|
@ -59,7 +59,7 @@ LCL TODO:
|
||||
//depending on widgetset or patched LCL
|
||||
{.$DEFINE NoDrop} //applied DoDiPatch1?
|
||||
{.$DEFINE PageFrame} //problem: notebook frame cannot Release itself
|
||||
{$DEFINE replace} //using ReplaceDockedControl?
|
||||
{.$DEFINE replace} //using ReplaceDockedControl?
|
||||
|
||||
interface
|
||||
|
||||
@ -360,6 +360,9 @@ begin
|
||||
FHeader := TEasyDockHeader.Create;
|
||||
|
||||
FSplitter := TEasySplitter.Create(nil);
|
||||
FSplitter.Beveled := True;
|
||||
//FSplitter.BorderStyle := bsSingle; //border does NOT react!
|
||||
//FSplitter.BorderWidth := 1;
|
||||
FSplitter.Parent := ADockSite;
|
||||
FSplitter.OnMoved := @SplitterMoved;
|
||||
FSplitter.Align := alNone;
|
||||
@ -561,6 +564,7 @@ begin
|
||||
FReplacingControl := NoteBook; //ignore insert (see above)
|
||||
NoteBook.ManualDock(FDockSite); //move into DockClients[]
|
||||
DropZone.ChildControl := NoteBook; //put into the zone
|
||||
NoteBook.DockOrientation := DropCtl.DockOrientation; //strange bug?
|
||||
r := DropZone.GetPartRect(zpClient);
|
||||
NoteBookAdd(NoteBook, DropCtl); //put the original control into the notebook
|
||||
NoteBook.BoundsRect := r;
|
||||
|
@ -27,9 +27,15 @@ into a form, before it can be dragged and docked by dragging the form.
|
||||
Apply ToolButtonAutoSizeAlign.patch to improve the appearance and behaviour
|
||||
of the toolbar buttons.
|
||||
|
||||
ToDo:
|
||||
- Check use of ToggleBox instead of TToolButton
|
||||
- Load/Store layout
|
||||
+ Update parent on un/dock: Caption and DockHeaders!
|
||||
|
||||
Problem:
|
||||
|
||||
Disallow undocking/floating of a NOT docked dockbook.
|
||||
Fix: flag StayDocked.
|
||||
*)
|
||||
|
||||
(* Applications
|
||||
@ -58,7 +64,7 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
ComCtrls, ExtCtrls;
|
||||
ComCtrls, ExtCtrls, StdCtrls;
|
||||
|
||||
type
|
||||
TTabButton = class(TToolButton)
|
||||
@ -126,7 +132,6 @@ procedure TEasyDockBook.FormDockDrop(Sender: TObject; Source: TDragDockObject;
|
||||
var
|
||||
btn: TTabButton;
|
||||
begin
|
||||
//Source.DragTarget := pnlDock; ?
|
||||
Source.Control.Parent := pnlDock; //overwrite DoAddDockClient behaviour
|
||||
|
||||
btn := TTabButton.Create(Tabs);
|
||||
@ -228,8 +233,13 @@ begin
|
||||
//Release; //Close;
|
||||
PostMessage(Self.Handle, WM_CLOSE, 0, 0);
|
||||
end;
|
||||
if (HostDockSite is TFloatingSite) then
|
||||
TFloatingSite(HostDockSite).UpdateCaption(nil);
|
||||
//update the host dock site and its DockManager
|
||||
if HostDockSite <> nil then begin
|
||||
if (HostDockSite is TFloatingSite) then
|
||||
TFloatingSite(HostDockSite).UpdateCaption(nil);
|
||||
if HostDockSite.DockManager <> nil then
|
||||
HostDockSite.Invalidate;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TEasyDockBook.GetControlTab(AControl: TControl): TTabButton;
|
||||
|
@ -1,6 +1,11 @@
|
||||
unit uMakeSite;
|
||||
(* Create elastic dock sites within a form, make forms dockable.
|
||||
|
||||
Owners:
|
||||
The DockMaster can own all floating forms, for easy enumeration.
|
||||
The DockMaster can own all dock grips, for easy detection of the dockable forms.
|
||||
The owner of the dockable forms is responsible for creating or finding dockable forms?
|
||||
|
||||
Problems:
|
||||
|
||||
Forms are not (easily) dockable on all platforms,
|
||||
@ -16,6 +21,7 @@ Default floating sites are owned by Application,
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
{$DEFINE ownSites} //floating sites owned by TDockMaster?
|
||||
{$DEFINE ownGrips} //docking grips owned by TDockMaster?
|
||||
|
||||
interface
|
||||
|
||||
@ -41,7 +47,9 @@ type
|
||||
public
|
||||
end;
|
||||
|
||||
//the owner of all docksites (if ownSites is defined)
|
||||
(* The owner of all docksites (if ownSites is defined),
|
||||
and of all dockable window grips (if ownGrips is defined)
|
||||
*)
|
||||
TDockMaster = class(TComponent)
|
||||
protected //event handlers
|
||||
procedure DockHandleMouseMove(Sender: TObject; Shift: TShiftState;
|
||||
@ -51,8 +59,10 @@ type
|
||||
public
|
||||
Factory: TComponent; //generic owner
|
||||
procedure AddElasticSites(AForm: TCustomForm; Sides: sDockSides);
|
||||
function CreateDockable(const AName: string; fMultiInst: boolean): TForm;
|
||||
function CreateDockable(const AName: string; fMultiInst: boolean; fWrap: boolean = True): TForm;
|
||||
procedure DumpSites;
|
||||
procedure LoadFromStream(Stream: TStream);
|
||||
procedure SaveToStream(Stream: TStream);
|
||||
end;
|
||||
|
||||
implementation
|
||||
@ -125,7 +135,7 @@ begin
|
||||
end;
|
||||
|
||||
function TDockMaster.CreateDockable(const AName: string;
|
||||
fMultiInst: boolean): TForm;
|
||||
fMultiInst: boolean; fWrap: boolean): TForm;
|
||||
var
|
||||
basename, instname: string;
|
||||
i, l, instno: integer;
|
||||
@ -195,10 +205,12 @@ begin
|
||||
//make it dockable
|
||||
Result.DragKind := dkDock;
|
||||
Result.OnEndDock := @FormEndDock; //float into default host site
|
||||
end;
|
||||
if fWrap then begin
|
||||
//wrap into dock site
|
||||
Site := WrapDockable(Result);
|
||||
//create a docking handle - should become a component?
|
||||
img := TImage.Create(Result);
|
||||
img := TImage.Create(Result); //we could own the img, and be notified when its parent becomes nil
|
||||
img.Parent := Result;
|
||||
img.Align := alNone;
|
||||
img.Anchors := [akTop, akRight];
|
||||
@ -233,6 +245,31 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TDockMaster.LoadFromStream(Stream: TStream);
|
||||
var
|
||||
ctl, pre: TControl;
|
||||
site: TFloatingSite;
|
||||
|
||||
procedure MakeForm;
|
||||
begin
|
||||
pre := ctl;
|
||||
ctl := CreateDockable('', True, False);
|
||||
end;
|
||||
|
||||
begin
|
||||
//Test0;
|
||||
site := TFloatingSite.Create(self);
|
||||
MakeForm; ctl.ManualDock(site, nil, alClient);
|
||||
MakeForm; ctl.ManualDock(site, pre, alRight);
|
||||
MakeForm; ctl.ManualDock(site, pre, alBottom);
|
||||
//MakeForm; ctl.ManualDock(site, pre, alCustom);
|
||||
end;
|
||||
|
||||
procedure TDockMaster.SaveToStream(Stream: TStream);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
function TDockMaster.WrapDockable(Client: TControl): TFloatingSite;
|
||||
var
|
||||
Site: TForm absolute Result;
|
||||
@ -335,6 +372,7 @@ begin
|
||||
s := OrientString[ctl.DockOrientation];
|
||||
DebugLn(' Client=%s@%s (%d,%d)[%d,%d]', [SiteName(ctl), s,
|
||||
ctl.Left, ctl.Top, ctl.Width, ctl.Height]);
|
||||
//if ctl is TFloatingSite then
|
||||
end;
|
||||
end else begin
|
||||
ctl := Site;
|
||||
|
Loading…
Reference in New Issue
Block a user