anchordocking: added miniide example

git-svn-id: trunk@25971 -
This commit is contained in:
mattias 2010-06-08 13:40:31 +00:00
parent b6d00760e4
commit a30b65e016
7 changed files with 987 additions and 0 deletions

6
.gitattributes vendored
View File

@ -2750,6 +2750,12 @@ examples/anchordocking/anchordocking.lpk svneol=native#text/plain
examples/anchordocking/anchordocking.pas svneol=native#text/plain
examples/anchordocking/anchordockpkg.pas svneol=native#text/plain
examples/anchordocking/anchordockstorage.pas svneol=native#text/plain
examples/anchordocking/minide/miniide1.lpi svneol=native#text/plain
examples/anchordocking/minide/miniide1.lpr svneol=native#text/plain
examples/anchordocking/minide/simplefrm.lfm svneol=native#text/plain
examples/anchordocking/minide/simplefrm.pas svneol=native#text/plain
examples/anchordocking/minide/unit1.lfm svneol=native#text/plain
examples/anchordocking/minide/unit1.pas svneol=native#text/plain
examples/autosize/childsizinglayout/childsizinglayout.lpi svneol=native#text/plain
examples/autosize/childsizinglayout/childsizinglayout.lpr svneol=native#text/plain
examples/autosize/childsizinglayout/mainunit.lfm svneol=native#text/plain

View File

@ -0,0 +1,117 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="7"/>
<General>
<Flags>
<UseDefaultCompilerOptions Value="True"/>
</Flags>
<SessionStorage Value="InIDEConfig"/>
<MainUnit Value="0"/>
<TargetFileExt Value=""/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<VersionInfo>
<Language Value=""/>
<CharSet Value=""/>
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="AnchorDocking"/>
<MinVersion Valid="True"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="3">
<Unit0>
<Filename Value="miniide1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="miniide1"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="MainIDE"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
</Unit1>
<Unit2>
<Filename Value="simplefrm.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="SimpleForm"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="SimpleFrm"/>
</Unit2>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<Target>
<Filename Value="miniide1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)/"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<UseAnsiStrings Value="True"/>
</SyntaxOptions>
</Parsing>
<CodeGeneration>
<Checks>
<IOChecks Value="True"/>
<RangeChecks Value="True"/>
<OverflowChecks Value="True"/>
<StackChecks Value="True"/>
</Checks>
<VerifyObjMethodCallValidity Value="True"/>
</CodeGeneration>
<Linking>
<Debugging>
<UseHeaptrc Value="True"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerMessages>
<UseMsgFile Value="True"/>
</CompilerMessages>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,21 @@
program miniide1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Unit1, SimpleFrm, anchordockpkg
{ you can add units after this };
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TMainIDE, MainIDE);
Application.CreateForm(TSimpleForm, SimpleForm);
Application.Run;
end.

View File

@ -0,0 +1,22 @@
object SimpleForm: TSimpleForm
Left = 283
Height = 240
Top = 193
Width = 320
Caption = 'SimpleForm'
ClientHeight = 240
ClientWidth = 320
OnPaint = FormPaint
LCLVersion = '0.9.29'
object Memo1: TMemo
Left = 0
Height = 240
Top = 0
Width = 320
Align = alClient
Lines.Strings = (
'Memo1'
)
TabOrder = 0
end
end

View File

@ -0,0 +1,70 @@
unit SimpleFrm;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LCLProc, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls;
type
{ TSimpleForm }
TSimpleForm = class(TForm)
Memo1: TMemo;
procedure FormPaint(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
SimpleForm: TSimpleForm;
function CreateSimpleForm(Name, Title: string; NewBounds: TRect;
DisableAutoSizing: boolean): TSimpleForm;
implementation
function CreateSimpleForm(Name, Title: string; NewBounds: TRect;
DisableAutoSizing: boolean): TSimpleForm;
begin
Result:=TSimpleForm(Screen.FindForm(Name));
if Result is TSimpleForm then begin
if DisableAutoSizing then
Result.DisableAutoSizing;
exit;
end;
Result:=TSimpleForm(TSimpleForm.NewInstance);
Result.DisableAlign;
Result.Create(Application);
Result.Caption:=Title;
Result.Name:=Name;
Result.Memo1.Lines.Text:=Name;
Result.BoundsRect:=NewBounds;
if not DisableAutoSizing then
Result.EnableAutoSizing;
end;
{$R *.lfm}
{ TSimpleForm }
procedure TSimpleForm.FormPaint(Sender: TObject);
begin
with Canvas do begin
Pen.Color:=clRed;
MoveTo(0,0);
LineTo(ClientWidth-1,0);
MoveTo(ClientWidth-1,ClientHeight-1);
MoveTo(0,ClientHeight-1);
MoveTo(0,0);
MoveTo(ClientWidth-1,ClientHeight-1);
end;
end;
end.

View File

@ -0,0 +1,523 @@
object MainIDE: TMainIDE
Left = 366
Height = 85
Top = 199
Width = 505
ActiveControl = Page2
Caption = 'MainIDE'
ClientHeight = 85
ClientWidth = 505
Menu = MainMenu1
OnCreate = FormCreate
LCLVersion = '0.9.29'
object ComponentPalette: TNotebook
Left = 208
Height = 85
Top = 0
Width = 297
Align = alClient
PageIndex = 1
TabOrder = 0
object Page1: TPage
Caption = 'Page1'
end
object Page2: TPage
Caption = 'Page2'
end
end
object BtnPanel: TPanel
Left = 0
Height = 85
Top = 0
Width = 208
Align = alLeft
ClientHeight = 85
ClientWidth = 208
TabOrder = 1
object ToolBar1: TToolBar
Left = 1
Height = 26
Top = 1
Width = 206
Caption = 'ToolBar1'
Images = ImageList1
TabOrder = 0
object ViewSrcEditor1ToolButton: TToolButton
Left = 1
Top = 2
Caption = 'ViewSrcEditor1ToolButton'
ImageIndex = 2
ParentShowHint = False
ShowHint = True
OnClick = ViewSrcEditor1ToolButtonClick
end
object ViewSrcEdit2ToolButton: TToolButton
Left = 24
Top = 2
Caption = 'ViewSrcEdit2ToolButton'
ImageIndex = 2
ParentShowHint = False
ShowHint = True
OnClick = ViewSrcEdit2ToolButtonClick
end
object ViewCodeExplToolButton: TToolButton
Left = 47
Top = 2
Caption = 'ViewCodeExplToolButton'
ImageIndex = 3
ParentShowHint = False
ShowHint = True
OnClick = ViewCodeExplToolButtonClick
end
object ViewOIToolButton: TToolButton
Left = 70
Top = 2
Caption = 'ViewOIToolButton'
ImageIndex = 4
ParentShowHint = False
ShowHint = True
OnClick = ViewOIToolButtonClick
end
object ViewMessagesToolButton: TToolButton
Left = 93
Top = 2
Caption = 'ViewMessagesToolButton'
ImageIndex = 5
ParentShowHint = False
ShowHint = True
OnClick = ViewMessagesToolButtonClick
end
object ViewFPDocEditorToolButton: TToolButton
Left = 116
Top = 2
Caption = 'ViewFPDocEditorToolButton'
ImageIndex = 6
ParentShowHint = False
ShowHint = True
OnClick = ViewFPDocEditorToolButtonClick
end
object ViewProjInspToolButton: TToolButton
Left = 139
Top = 2
Caption = 'ViewProjInspToolButton'
ImageIndex = 9
ParentShowHint = False
ShowHint = True
OnClick = ViewProjInspToolButtonClick
end
object ViewDbgOutToolButton: TToolButton
Left = 162
Top = 2
Caption = 'ViewDbgOutToolButton'
ImageIndex = 10
ParentShowHint = False
ShowHint = True
OnClick = ViewDbgOutToolButtonClick
end
end
object ToolBar2: TToolBar
Left = 1
Height = 26
Top = 27
Width = 206
Caption = 'ToolBar2'
Images = ImageList1
TabOrder = 1
object SaveLayoutToolButton: TToolButton
Left = 1
Top = 2
Caption = 'SaveLayoutToolButton'
ImageIndex = 7
ParentShowHint = False
ShowHint = True
OnClick = SaveLayoutToolButtonClick
end
object LoadLayoutToolButton: TToolButton
Left = 24
Top = 2
Caption = 'LoadLayoutToolButton'
ImageIndex = 8
ParentShowHint = False
ShowHint = True
OnClick = LoadLayoutToolButtonClick
end
end
end
object MainMenu1: TMainMenu
left = 235
top = 32
object FileMenuItem: TMenuItem
Caption = 'File'
OnClick = FileMenuItemClick
object OpenFileMenuItem: TMenuItem
Caption = 'Open file'
end
object NewFileMenuItem: TMenuItem
Caption = 'New file'
end
object QuitMenuItem: TMenuItem
Caption = 'Quit'
OnClick = QuitMenuItemClick
end
end
end
object ImageList1: TImageList
left = 296
top = 32
Bitmap = {
4C690B0000001000000010000000FFFFFF00C17D4460C88B4DBBC88C4FEEC88C
4FF6C88C4FF7C88C4FF7C88D4FF7C98C4FF7C78B4FF7C5894BD4C4763B91B368
3C06FFFFFF00FFFFFF00FFFFFF00FFFFFF00C48549C3F7F2ECECF8F4EEFCF8F4
EDFFF8F3EDFFF8F3EDFFF8F3EDFFF8F2ECFFF7F2ECFFF2E6D7FFE2B27DFFDB94
65F5B3683B07FFFFFF00FFFFFF00FFFFFF00C5884BEAFAF6F2FCFAE0C7FFFBE1
C9FFFBE2C9FFFBE0C8FFF9DFC5FFF8DBC1FFF4D6B8FFFFFBF8FFF6D8B4FFE1B0
7DFFDB9264F6B46B3E07FFFFFF00FFFFFF00C6894CF6F9F5F1FFFCE3CDFFFBE3
CEFFFBE3CDFFFBE2CBFFF9E0C8FFF8DCC2FFF5D6BAFFFDFBF8FFFCE6CDFFFAE5
C9FFE2B684FFBF7942A6FFFFFF00FFFFFF00C6894BF7F9F5F1FFFCE3CFFFFBE4
D0FFFCE4CFFFFCE3CDFFFAE1CAFFF9DDC4FFF6D9BCFFF4E9DFFFF7F2ECFFFBF7
F3FFF5EFE9FFC27E45FBFFFFFF00FFFFFF00C6894BF7F9F4F0FFFCE6D3FFFCE6
D4FFFDE7D3FFFCE4D1FFFBE3CDFFFAE0C8FFF8DCC2FFF5D6BBFFF3D4B5FFF1D2
B3FFF8F4F0FFC48246F7FFFFFF00FFFFFF00C6884AF7F9F4EFFFFEE7D7FFFDE7
D6FFFDE7D5FFFDE6D4FFFCE6D2FFFBE1CCFFFADFC7FFF8DCC2FFF6DABDFFF6D8
BBFFFAF4EFFFC68346F7FFFFFF00FFFFFF00C68849F7F9F4EDFFFEE8D8FFFEE8
D8FFFEE8D7FFFEE7D6FFFDE5D3FFFCE4D1FFFBE1CCFFFAE0C7FFF9DDC3FFF8DC
C2FFFAF4EDFFC68245F7FFFFFF00FFFFFF00C68447F7F9F3ECFFFEE8D6FFFEE8
D7FFFDE7D6FFFDE7D6FFFDE7D5FFFDE5D3FFFBE4D0FFFBE3CCFFFADFC7FFFADF
C6FFFAF2EAFFC68042F7FFFFFF00FFFFFF00C58245F7F8F2EBFFFEE7D6FFFDE7
D6FFFDE7D6FFFDE7D6FFFDE6D5FFFDE5D3FFFCE4D1FFFCE2CDFFFBE1CBFFFBE1
C9FFFBF7F2FFC57C3FF7FFFFFF00FFFFFF00C58042F7F8F1E8FFFEE5D5FFFDE5
D3FFFDE5D3FFFCE5D3FFFCE5D3FFFCE4D1FFFCE2CEFFFCE2CCFFFBE0C9FFFBE1
C8FFFDFAF7FFC1763BF7FFFFFF00FFFFFF00C47C40F7F7F0E6FFF8B455FFF7B4
56FFF7B554FFF8B453FFF8B253FFF7B352FFF7B352FFF7B251FFF7B24FFFF7B2
4FFFFCF9F5FFBF6F36F7FFFFFF00FFFFFF00C1783CF7F7EDE3FFFDC26EFFFFD8
A0FFFFD79EFFFFD69BFFFFD798FFFFD696FFFFD695FFFFD594FFFFD493FFFBBE
65FFFBF7F4FFBB6731F7FFFFFF00FFFFFF00BF7138F5F5EBDFFEFDBF68FFFCBD
67FFFBBE65FFFCBE64FFFCBE64FFFCBD62FFFBBD63FFFBBC61FFFCBE60FFFCBC
62FFFDFBF8FDB9642DF3FFFFFF00FFFFFF00BC6933DEF8F1EAF2F7ECDFFDF6EB
DEFFF6EADEFFF6EADCFFF6EADCFFFAF3EBFFFAF3EBFFFAF2EAFFFCF7F3FFFCF8
F4FDFEFEFDF0B7602AD5FFFFFF00FFFFFF00BB6A346BBA6530BCBB6631EDBA66
30F7BA6630F7BA6630F7BA6530F7BA652FF7B9652EF7B9652EF7B9642EF7B964
2EEFB7622CBDB7622E63FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00636CA5FF233E
C2FFFEFEFE00F7F7FB00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00CFD2D1FF868B89FF868B89FF868B89FF868B89FF868B89FF1F2777FF0A37
CAFF0B45F3FFFEFEFE00FAFAFC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868B
89FF868B89FF8D908FFFCFD2D1FFFFFFFF00FFFFFF006B6995FF232971FF0C2C
BAFF0641F2FF4661CEFFFEFEFE00FFFFFF00FFFFFF00FFFFFF00868B89FFB86F
6CFFB97370FFFFFFFF00FEFEFD00FFFFFF00FFFFFF00232971FF232971FF0920
A8FF0B45F3FF0B45F3FF5666C1FFFFFFFF00FFFFFF00A9524AFFBA5E54FFC472
69FFC17067FFB06358FFFFFFFF00FFFFFF009091ADFF232971FF232971FF031E
8EFF0B45F3FF0B45F3FF0B45F3FF5AC2E1FF9C5048FFB14E45FFC17D71FFE7BA
ABFFD09689FFC87A6EFFB4554BFFFFFFFF00FFFFFF00232971FF232971FF2329
71FF0B45F3FF0B45F3FF7C8ECFFF3CB6DCFF832316FFBC5047FFC1786FFFDDA5
9BFFD29C92FFC37C71FFB4554BFFFFFFFF00FFFFFF00FFFFFF00232971FF2329
71FF0B45F3FF3E5CCCFF868B89FF41B4DDFF721F11FFAB4135FFBD6359FFC474
6EFFD18B83FFB86B5EFFB15849FFFFFFFF00F9F9FA00FFFFFF00FFFFFF002329
71FFFFFFFF00FFFFFF00868B89FF41AFDCFF721F11FFAB4135FFBD6359FFC474
6EFF3594DAFF3594DAFF3594DAFF3594DAFF3594DAFF3594DAFF3594DAFF3594
DAFF3594DAFFFFFFFF00868B89FF39ADDBFFE8F6FBFF70BCE7FF55AAE2FF4DA5
E0FF91C9EBFFFAF3EFFFFDFEFDFFFFFDFCFFFFFDFCFFFEFDFCFFFEFCFBFFFEFE
FDFF3594DAFFCFD2D1FF868B89FF3BA8DBFFFEFFFFFFF8FDFFFFF6FDFFFFF5FC
FFFFF3FCFEFF9AE4F4FF9AE6F7FF9BE6F6FF9DE5F5FF9EE5F5FF9FE5F4FFDAF3
F8FF3594DAFF868B89FF868B89FF3BA4DBFFF6FCFEFF94E5F8FF93E5F8FF93E5
F8FF91E5F8FF93DBE9FF93D7E3FF93D2DCFF90CED7FF8CC8CFFF86C1C6FFC9D8
D6FF3594DAFF868B89FFCFD2D1FF3C9DDCFFF2FAFDFF94E6F8FF92E5F8FF90E5
F8FF8BE3F8FF86E2F7FF7FE1F7FF77DEF6FF6CDCF6FF5ED9F4FF4FD5F3FFCCF2
FBFF3594DAFF868B89FFFFFFFF003C98DCFFEFFAFEFF93E5F8FF8FE4F8FF89E3
F8FF82E1F7FF7ADFF7FF71DEF6FF67DBF5FF5BD8F4FF4DD4F3FF40D1F2FFCAF2
FBFF3594DAFFCFD2D1FFFFFFFF003790DAFFDCF0FAFF98E1F6FF95E0F6FF92DF
F6FF8EDEF5FF89DCF5FF85DAF4FF80D9F4FF7AD7F3FF74D5F3FF70D3F2FFC2EA
F8FF3594DAFFFFFFFF00FFFFFF00539CE0FF348CDAFF348BDAFF348CDAFF348C
DAFF348CDAFF348CDAFF348CDAFF348CDAFF348CDAFF348CDAFF348BDAFF348C
DAFF539CE0FFFFFFFF00FFFFFF00FFFFFF008C8E8DFF858A88FF858A88FF858A
88FF858A88FF858A88FF858A88FF858A88FF858A88FF858A88FF858A88FFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00858A88FFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF858A
88FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00858A88FFFFFFFFFFF7F8F8FFF7F8
F8FFF7F8F8FFF7F8F8FFF7F8F8FFF7F8F8FFF7F8F8FFF7F8F8FFF7F8F8FFF7F8
F8FF858A88FFFFFFFF00FFFFFF00FFFFFF00858A88FFFFFFFFFFF7F8F8FF0E0E
D8FF0E0ED8FF0E0ED8FF858A88FF858A88FFF7F8F8FFF7F8F8FFF7F8F8FFF7F8
F8FFFEFEFEFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFF7F8F8FFF7F8
F8FFF7F8F8FFF7F8F8FFF7F8F8FFF7F8F8FFF7F8F8FFF7F8F8FF02598FFF0259
8FFFFEFEFEFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFF7F8F8FF858A
88FF858A88FF858A88FF858A88FF858A88FF858A88FF02598FFF02598FFFC7EB
EFFF02598FFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFF7F8F8FFF4F5
F5FFF4F5F5FFF4F5F5FFF4F5F5FFF4F5F5FF02598FFFC7EBEFFF02598FFF0259
8FFF02598FFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFF7F8F8FFA369
36FFA36936FFA36936FFA36936FF02598FFFC7EBEFFF6AACD2FF5787A4FF0259
8FFFFEFEFEFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFF7F8F8FFF4F5
F5FFF4F5F5FFF4F5F5FF02598FFFC6EAEEFF69AACFFF5683A0FF02598FFFF3F3
F3FFFEFEFEFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFF7F8F8FF858A
88FF858A88FF02598FFFC5E6EDFF68A6CEFF5784A0FF02598FFFF7F8F8FFF1F2
F2FFFEFEFEFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFF7F8F8FFF6F7
F7FF02598FFFC4E5EDFF649FC8FF5787A4FF02598FFFF1F2F2FFF0F1F1FFF0F0
F0FFFEFEFEFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFF6F7F7FF858A
88FF325061FF8AABC2FF5585A3FF02598FFF858A88FF858A88FF858A88FFEEEF
EFFFFEFEFEFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFF4F5F5FFF4F5
F5FF000000FF36576BFF02598FFFF4F5F5FFF4F5F5FFF4F5F5FFEEEEEEFFEDED
EDFFFEFEFEFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFF3F4F4FF858A
88FFF4F5F5FFF4F5F5FFF4F5F5FFF4F5F5FFF4F5F5FFF4F5F5FFECECECFFEBEC
ECFFFEFEFEFF888D8BFFFFFFFF00FFFFFF00858A88FFFFFFFFFFFEFEFEFFFEFE
FEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFE
FEFFFFFFFFFF888D8BFFFFFFFF00FFFFFF008C8E8DFF888D8BFF888D8BFF888D
8BFF888D8BFF888D8BFF888D8BFF888D8BFF888D8BFF888D8BFF888D8BFF888D
8BFF888D8BFF8C8E8DFFFFFFFF00FEFEFE00FEFEFE00FDFDFD00FDFDFD00FDFC
FC00FCFBFB00FCFCFC00FDFCFC00FAFAFB00FCFCFC00FFFFFF00C5C3D900E2DC
E500FFFEFE00FCFCFC00FDFDFC00FEFEFE00FDFCFD00FEFEFE00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FEFEFF00FFFFFF00D9DCE2002D3A9AFF7F82
C9FFFEFDFD00FDFDFD00FCFCFB00FCFCFC00FEFEFF00FFFFFF00F5F2F100F5EC
EC00F6EBEB00EDEFEF00E8EBEB00E2E3E700EBECEC00848197FF011694FF1441
DAFFA7B2DB00FFFFFA00FAFAFC00FDFDFE00F9F6F500D6B6B200B8716AFFBC64
5FFF98706EFF545655FF545655FF545655FF545655FF545655FF3E4D8CFF0032
EBFF143BCCFFC6C7DA00FFFFFF00FBFBFB00BA8A8600982E24FFBD594EFF9D70
6CFF545655FF545655FFD2A391FFF9E9D8FFB4A8AEFF545655FF545655FF3F5F
C5FF0533F4FF3447C1FFCBCCE0000000000092342BFFB95248FFC49D96FF5456
55FF545655FFD69B82FFCC9888FFD7C1BAFF9A94A6FF6A658AFF545655FF5456
55FF5C80F3FF001FDAFF5C6DB4FF0000000095291CFFC85B52FFB98E8AFF5456
55FFE3AF96FFCDA693FFDFAA9DFFB99B9DFF878BB9FF766F8FFF534E7CFF5456
55FF5577F0FF103AC8FFBFC7DC00000000007D190CFFC05044FFBD8A84FF5456
55FFDBA188FFD4A898FFD49482FFC6A8A5FFA7B7CBFF9D9FB1FF6A567CFF5456
55FF4A6AD4FF808FC9FFFFFFFE00000000006A2718FF951E14FFC28078FF5456
55FFD58A71FFD19F93FFCCBCB3FFBFD5D2FFBCE2E8FFB8CFC9FF878E9DFF5456
55FF9399C8FFEFEEF600FAFAFD00FDFFFF00B49D95006D1003FFA65B52FF5456
55FF545655FFC5CDC2FFA9D0D5FFABD4DCFFA3BFC5FFA7CCCBFF545655FF5456
55FFECE9E900FFFFFF00FCFCFC00FCFBFC00FAFAF900D0BEB600545655FF0EB2
5FFF545655FF545655FF96C6CEFFABC4C4FFAAD3D8FF545655FF545655FF4471
8CFFD8E4EE00FEFEFE00FCFCFC00FEFEFE00FEFDFD00545655FF0EB25FFF0EB2
5FFF7ECAA3FF545655FF545655FF545655FF545655FF545655FF3E6179FF1054
86FFD0DDE600FEFEFF00FBFAFC00F6F6F600545655FF0EB25FFF0EB25FFF7ECA
A3FF545655FF80BDE2FF72B6DEFF8FD1EBFF80B0C9FF6A8A9FFF005185FF0F52
80FFD5DEE400FEFEFE00FCFCFD00545655FF0EB25FFF0EB25FFF7ECAA3FF5456
55FFDFEEF00038AFF6FF00A5FFFF1AC0FFFF0779BAFF005389FF005390FF336D
95FFE3E9EB00FFFFFF00FBFDFD00545655FF0EB25FFF7ECAA3FF545655FFF7F7
F700FFFFFF00CDE9F70032AFF1FF06B0FEFF0F83BEFF004A7FFF155882FFB2C3
CE00FDFEFE00FDFDFD00FCFCFC0054565500545655FF545655FFFDFCFC00FFFE
FF00F8FBFC00FFFFFD00D7EAF40046BAF4FF0072ADFF43768EFFCED8DB00FFFE
FD00FDFDFD00FCFCFC00FDFCFC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00848484FF848484FF848484FFC4C4C4FFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00848484FF848484FF848484FF848484FF8484
84FF848484FFC4C4C4FFFFFFFF00848484FFE5E5E5FFE5E5E5FF848484FF8484
84FF848484FF848484FF848484FF848484FFE5E5E5FFE5E5E5FFE5E5E5FFE5E5
E5FFE5E5E5FF848484FFFFFFFF00C4C4C4FF848484FF848484FF848484FFFFFF
FF00848484FF545655FF545655FF545655FF545655FF545655FF848484FF8484
84FF848484FF848484FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00545655FF545655FFD4C3C0FFF9E9D8FFD4C3C0FF545655FF545655FFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005456
55FF545655FFD4B2A4FFD4C3C0FFF9E9D8FFD4C3C0FFBA774FFF545655FF5456
55FF848484FFC4C4C4FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005456
55FF8F746BFFC67B3CFF9D8B86FF9C8D8AFFD8C0AEFFE3BB7EFFE4B881FF5456
55FFE5E5E5FF848484FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005456
55FFAD795DFFDFBB94FFD4C3C0FFD8C0AEFFAD856BFFC1824DFFA87F66FF5456
55FF848484FF848484FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005456
55FF947868FFE4B881FFDCBAA0FFD9BFA9FFD7C1B4FFDFB896FFE3BB7EFF5456
55FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005456
55FF545655FFE4B881FFE4B881FFB97F5FFFB67A58FFBD7C4FFF545655FF5456
55FF848484FFC4C4C4FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00545655FF0EB2
5FFF545655FF545655FFE4B881FFB97F5FFFE2B68EFF545655FF545655FFE5E5
E5FFE5E5E5FF848484FFFFFFFF00FFFFFF00FFFFFF00545655FF0EB25FFF0EB2
5FFF7ECAA3FF545655FF545655FF545655FF545655FF545655FF848484FF8484
84FF848484FF848484FFFFFFFF00FFFFFF00545655FF0EB25FFF0EB25FFF7ECA
A3FF545655FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00545655FF0EB25FFF0EB25FFF7ECAA3FF5456
55FF848484FFFFFFFF00FFFFFF00848484FF848484FF848484FF848484FF8484
84FF848484FFC4C4C4FFFFFFFF00545655FF0EB25FFF7ECAA3FF545655FFFFFF
FF00848484FF848484FF848484FF848484FFE5E5E5FFE5E5E5FFE5E5E5FFE5E5
E5FFE5E5E5FF848484FFFFFFFF00545655FF545655FF545655FFFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00C4C4C4FF848484FF848484FF848484FF8484
84FF848484FF848484FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE009EA3C6FF7689D7FFFEFE
FE00F7F7FB00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DFE1
E0FFB3B6B5FFB3B6B5FFB3B6B5FFB3B6B5FFB3B6B5FF7579AAFF6983DCFF698B
F3FFFEFEFE00FAFAFC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B3B6B5FFB3B6
B5FFB8BAB9FFDFE1E0FFFFFFFF00FFFFFF00A3A3BCFF767BA6FF697DD3FF658A
F3FF8C9DDEFFFEFEFE00FFFFFF00FFFFFF00FFFFFF00B3B6B5FFD1A5A3FFD2A8
A6FFFFFFFF00FEFEFD00FFFFFF00FFFFFF00767BA6FF767BA6FF6875C8FF698B
F3FF698BF3FF96A0D7FFFFFFFF00FFFFFF00C8938FFFD39B95FFD9A7A3FFD7A6
A1FFCD9E97FF3A3E3EFF3A3E3EFF3A3E3EFF3A3E3EFF767BA6FF6475B9FF698B
F3FF698BF3FF698BF3FFFFFFFF00C0938DFFCD938BFFD7AEA6FFEDD3C9FFE0BD
B5FF3A3E3EFF9E7D71FFF7D8C3FFCCC2C2FF605F64FF3A3E3EFF767BA6FF698B
F3FF698BF3FFADB9DFFFFFFFFF00B1766FFFD4938CFFD7ABA5FFE8C6C0FF3A3E
3EFFA88979FFDD9F89FFCFAEA5FFA69FAFFF6E6991FF535460FF3A3E3EFF698B
F3FF899BDEFFB3B6B5FFFFFFFF00A7756CFFC98A81FFD49E98FFD9A9A4FF3A3E
3EFFEDBCA3FFD0A293FFCD9A92FF9493B5FF7F7EA0FF594C7BFF3A3E3EFFFFFF
FF00FFFFFF00B3B6B5FFFFFFFF00FFFFFF00B3766DFFD08A82FFD0938CFF3A3E
3EFFEDA790FFCC998AFFCCACA1FFB8CCD5FFACBBC2FF7F7590FF3A3E3EFFFFFF
FF00FFFFFF00B3B6B5FFFFFFFF00FFFFFF00B3B6B5FFBB827CFFC98A80FF3A3E
3EFFC39E8DFFCDC8C2FFB1D0D2FFADD0D6FFBCDFDAFF7E898EFF3A3E3EFFFFFF
FF00DFE1E0FFB3B6B5FFFFFFFF00FFFFFF00B3B6B5FFB3B6B5FF3A3E3EFF3A3E
3EFF3A3E3EFF9EC5C6FFB0DDE5FFB6DAE0FF879FA0FF3A3E3EFFA7E2FDFFFFFF
FF00B3B6B5FFB3B6B5FFFFFFFF00FFFFFF00DFE1E0FF3A3E3EFF008D43FF2FC6
79FF3A3E3EFF3A3E3EFF3A3E3EFF3A3E3EFF3A3E3EFFA7E2FDFF7B9EB7FFDFE1
E0FFB3B6B5FFDFE1E0FFFFFFFF00FFFFFF003A3E3EFF019148FF21CC75FF5DA1
7EFF3A3E3EFF70BFE6FF70BFE6FFA7E2FDFFA7E2FDFF7B9EB7FF7B9EB7FFB3B6
B5FFB3B6B5FFFFFFFF00FFFFFF003A3E3EFF06974DFF1AC770FF67A786FF3A3E
3EFFB3B6B5FF70BFE6FF70BFE6FF70BFE6FF7B9EB7FF7B9EB7FF7B9EB7FFB3B6
B5FFDFE1E0FFFFFFFF00FFFFFF003A3E3EFF19C26CFF6BAD8BFF3A3E3EFFDFE1
E0FFB3B6B5FFB3B6B5FF70BFE6FF70BFE6FF7B9EB7FF7B9EB7FFDFE1E0FFFFFF
FF00FFFFFF00FFFFFF00FFFFFF003A3E3EFF3A3E3EFF3A3E3EFFFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF0070BFE6FF7B9EB7FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00A5AACAFF8092DAFFFEFE
FE00F7F7FB00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E1E3
E2FFB9BBBAFFB9BBBAFFB9BBBAFFB9BBBAFFB9BBBAFF8083B0FF758CDEFF7594
F3FFFEFEFE00FAFAFC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B9BBBAFFB9BB
BAFFBDBFBEFFE1E3E2FFFFFFFF00FFFFFF00AAAAC1FF8085ADFF7587D6FF7193
F3FF95A4E0FFFEFEFE00FFFFFF00FFFFFF00FFFFFF00B9BBBAFFD4ACAAFFD5AE
ADFFFFFFFF00FEFEFD00FFFFFF00FFFFFF008085ADFF8085ADFF7480CCFF7594
F3FF7594F3FF9EA7DAFFFFFFFF00FFFFFF00CC9B97FFD6A39DFFDCAEAAFFDAAD
A8FFD1A59FFFFFFFFF00FFFFFF00BFBFCFFF8085ADFF8085ADFF7080BEFF7594
F3FF7594F3FF7594F3FFFFFFFF00C59B96FFD19B94FFDAB4ADFFEED6CDFFE2C2
BAFF6A6A6AFF000000FF000000FF6A6A6AFF8085ADFF8085ADFF8085ADFF7594
F3FF7594F3FFB3BEE1FFFFFFFF00B7807AFFD79B95FFDAB1ACFFE9CAC5FFE3C5
BFFF000000FFE1E1E1FFD2D2D2FF000000FFFFFFFF008085ADFF8085ADFF7594
F3FF92A3E0FFB9BBBAFFFFFFFF00AE8077FFCD938BFFD7A5A0FFDCAFABFFE2BB
B7FF000000FFE6E6E6FF000000FFF9F9FA00000000FF6A6A6AFF8085ADFFFFFF
FF00FFFFFF00B9BBBAFFFFFFFF00FFFFFF00B98078FFD3938CFFD39B95FF6A6A
6AFF000000FFD6D6D6FF000000FF000000FFC0C0C0FF000000FFFFFFFF00FFFF
FF00FFFFFF00B9BBBAFFFFFFFF00FFFFFF00B9BBBAFFC08C86FFCD938AFF0000
00FFCBCBCBFFD2D2D2FFC9C9C9FFD2D2D2FFC6C6C6FF000000FFECF5FC5FFFFF
FF00E1E3E2FFB9BBBAFFFFFFFF00FFFFFF00B9BBBAFFB9BBBAFF045FCDFF0000
00FFD5D5D5FFBBBBBBFF000000FF000000FF000000FFAEE4FDFFAEE4FDFFFFFF
FF00B9BBBAFFB9BBBAFFFFFFFF00FFFFFF00E1E3E2FF045FCDFF3795F7FF045F
CDFF000000FF000000FF6A6A6AFFAAE4FBFFAEE4FDFFAEE4FDFF85A5BCFFE1E3
E2FFB9BBBAFFE1E3E2FFFFFFFF00FFFFFF00045FCDFF3795F7FF3795F7FF3795
F7FF045FCDFF7BC4E8FF7BC4E8FFAEE4FDFFAEE4FDFF85A5BCFF85A5BCFFB9BB
BAFFB9BBBAFFFFFFFF00FFFFFF00045FCDFF3795F7FF3795F7FF3795F7FF045F
CDFFB9BBBAFF7BC4E8FF7BC4E8FF7BC4E8FF85A5BCFF85A5BCFF85A5BCFFB9BB
BAFFE1E3E2FFFFFFFF00FFFFFF00045FCDFF3795F7FF3795F7FF045FCDFFE1E3
E2FFB9BBBAFFB9BBBAFF7BC4E8FF7BC4E8FF85A5BCFF85A5BCFFE1E3E2FFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00045FCDFF045FCDFF045FCDFFFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF007BC4E8FF85A5BCFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00E1BDA6FFD9AB8DFFC9895EFFC07543FFBD6E
3AFFBB6C37FFBB6B36FFBB6A36FFBB6A36FFBC6C39FFBD6E3BFFBB6D3AFFBF74
44FFC98D65FFE7CEBCFF00000000D6A585FFF6E0D1FFF7E0D1FFFEFBF8FFFEFB
F7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9F6FFFDFAF7FFFBF1EBFFF8E9
DFFFECD1BEFFCD926AFFE2C5B1FFC68255FFF6DFD1FFE9AA80FFFEFAF6FFFDFA
F6FFDAF1F3FFAFF4FAFF99F6FEFF99F6FEFFAFF4FAFFDAF1F3FFF9ECE2FFF8E7
DBFFEED0BAFFECD0BDFFBD7443FFC07442FFF6DFD0FFE8A87EFFFCF6F1FFC6F2
F6FF94F7FFFF94F7FFFF94F7FFFF94F7FFFF94F7FFFF94F7FFFFB8E4E8FFF7E6
DBFFE1A37AFFEFD5C3FFB76A36FFBD6E3AFFF5DDCCFFE7A87EFFFAF0E8FFB5EF
FFFF849CA5FF292929FF292929FF292929FF292929FF849CA5FFB5EFFFFFF7E5
D9FFE0A278FFE7C2A9FFB66835FFBB6C37FFF4DCC9FFE7A77DFFC9E6F0FFB5EF
FFFF292929FF292929FFB5EFFFFF849CA5FF292929FF292929FFB5EFFFFFC9EF
F9FFDEA077FFE4BEA4FFB46734FFBB6B36FFF4D9C7FFE6A67DFFBAECFAFFB5EF
FFFF292929FF525252FFB5EFFFFFB5EFFFFF292929FF292929FFB5EFFFFFBAEF
FDFFDA9C74FFE1BA9FFFB36634FFBB6A36FFF2D8C5FFE3A47BFFB5EEFEFFB5EF
FFFFB5EFFFFFB5EFFFFFB5EFFFFF525252FF292929FF525252FFB5EFFFFFB5EF
FEFFDC9D74FFDDB59AFFB16534FFBB6A36FFF2D5C2FFE3A37AFFD0F2FAFFCEF7
FFFFCEF7FFFFCEF7FFFF525252FF292929FF849CA5FFCEF7FFFFCEF7FFFFD2F7
FEFFD99B73FFDAB095FFAF6433FFBB6A36FFF0D2BEFFE2A37AFFE2A37AFFCEF7
FFFFCEF7FFFFCEF7FFFF292929FF525252FFCEF7FFFFCEF7FFFFCEF7FFFFD899
71FFD69970FFD5AB8EFFAD6333FFBA6A36FFEFD0BBFFE2A27AFFFEFBF8FFCEF7
FFFFCEF7FFFFCEF7FFFFCEF7FFFFCEF7FFFFCEF7FFFFCEF7FFFFCEF7FFFFFEFB
F8FFD3966DFFD2A78AFFAB6232FFBB6B38FFEFCEB8FFE1A279FFFEFAF7FF62C0
88FF62C088FFCEF7FFFF292929FF525252FFCEF7FFFF62C088FF62C088FFFDF9
F6FFCF936AFFCEA384FFAA6132FFBB6C38FFEECCB6FFE1A27AFFFEFAF7FFBFDC
C2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFFDF9
F6FFCD9068FFCC9E81FFA86132FFBA6C38FFEDCAB3FFE0A27AFFFEFAF7FF62C0
88FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FFFDF9
F6FFCA8D65FFC99B7CFFA76132FFC37D4FFFEBC6ADFFEAC5ADFFFEFBF8FFFEFB
F8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
F8FFC89A7CFFC79879FFAD6B40FFD8AB8E00CD9570FFBD7342FFB76835FFB568
35FFB46734FFB26634FFB06533FFAE6433FFAC6332FFAA6232FFA96132FFA860
31FFA76132FFAB693CFFBC8661FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00636CA5FF233E
C2FFFEFEFE00F7F7FB00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00CFD2D1FF868B89FF868B89FF868B89FF868B89FF868B89FF1F2777FF0A37
CAFF0B45F3FFFEFEFE00FAFAFC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868B
89FF868B89FF8D908FFFCFD2D1FFFFFFFF00FFFFFF006B6995FF232971FF0C2C
BAFF0641F2FF4661CEFFFEFEFE00FFFFFF00FFFFFF00FFFFFF00868B89FFB86F
6CFFB97370FFFFFFFF00FEFEFD00FFFFFF00FFFFFF00232971FF232971FF0920
A8FF0B45F3FF0B45F3FF5666C1FFFFFFFF00FFFFFF00A9524AFFBA5E54FFC472
69FFC17067FFB06358FFFFFFFF00FFFFFF009091ADFF232971FF232971FF031E
8EFF0B45F3FF0B45F3FF0B45F3FF5AC2E1FF9C5048FFB14E45FFC17D71FFE7BA
ABFFD09689FFC87A6EFFB4554BFFFFFFFF00FFFFFF00232971FF232971FF2329
71FF0B45F3FF0B45F3FF7C8ECFFF3CB6DCFF832316FFBC5047FFC1786FFFDDA5
9BFFD29C92FFC37C71FFB4554BFFFFFFFF00FFFFFF00FFFFFF00232971FF2329
71FF0B45F3FF3E5CCCFF868B89FF41B4DDFF721F11FFAB4135FFBD6359FFC474
6EFFD18B83FFB86B5EFFB15849FFFFFFFF00F9F9FA00FFFFFF00FFFFFF002329
71FFFFFFFF00FFFFFF00868B89FF41AFDCFF721F11FFAB4135FFBD6359FFC474
6EFF3594DAFF3594DAFF3594DAFF3594DAFF3594DAFF3594DAFF3594DAFF3594
DAFF3594DAFFFFFFFF00868B89FF39ADDBFFE8F6FBFF70BCE7FF55AAE2FF4DA5
E0FF91C9EBFFFAF3EFFFFDFEFDFFFFFDFCFFFFFDFCFFFEFDFCFFFEFCFBFFFEFE
FDFF3594DAFFCFD2D1FF868B89FF3BA8DBFFFEFFFFFFF8FDFFFFF6FDFFFFF5FC
FFFFF3FCFEFF9AE4F4FF9AE6F7FF9BE6F6FF9DE5F5FF9EE5F5FF9FE5F4FFDAF3
F8FF3594DAFF868B89FF868B89FF3BA4DBFFF6FCFEFF94E5F8FF93E5F8FF93E5
F8FF91E5F8FF93DBE9FF93D7E3FF93D2DCFF90CED7FF8CC8CFFF86C1C6FFC9D8
D6FF3594DAFF868B89FFCFD2D1FF3C9DDCFFF2FAFDFF94E6F8FF92E5F8FF90E5
F8FF8BE3F8FF86E2F7FF7FE1F7FF77DEF6FF6CDCF6FF5ED9F4FF4FD5F3FFCCF2
FBFF3594DAFF868B89FFFFFFFF003C98DCFFEFFAFEFF93E5F8FF8FE4F8FF89E3
F8FF82E1F7FF7ADFF7FF71DEF6FF67DBF5FF5BD8F4FF4DD4F3FF40D1F2FFCAF2
FBFF3594DAFFCFD2D1FFFFFFFF003790DAFFDCF0FAFF98E1F6FF95E0F6FF92DF
F6FF8EDEF5FF89DCF5FF85DAF4FF80D9F4FF7AD7F3FF74D5F3FF70D3F2FFC2EA
F8FF3594DAFFFFFFFF00FFFFFF00539CE0FF348CDAFF348BDAFF348CDAFF348C
DAFF348CDAFF348CDAFF348CDAFF348CDAFF348CDAFF348CDAFF348BDAFF348C
DAFF539CE0FFFFFFFF00FFFFFF00FEFEFE00FEFEFE00FDFDFD00FDFDFD00FDFC
FC00FCFBFB00FCFCFC00FDFCFC00FAFAFB00FCFCFC00FFFFFF00C5C3D900E2DC
E500FFFEFE00FCFCFC00FDFDFC00FEFEFE00FDFCFD00FEFEFE00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FEFEFF00FFFFFF00D9DCE2002D3A9AFF7F82
C9FFFEFDFD00FDFDFD00FCFCFB00FCFCFC00FEFEFF00FFFFFF00F5F2F100F5EC
EC00F6EBEB00EDEFEF00E8EBEB00E2E3E700EBECEC00848197FF011694FF1441
DAFFA7B2DB00FFFFFA00FAFAFC00FDFDFE00F9F6F500D6B6B200B8716AFFBC64
5FFF98706EFF54565500545655005456550054565500545655003E4D8CFF0032
EBFF143BCCFFC6C7DA00FFFFFF00FBFBFB00BA8A8600982E24FFBD594EFF9D70
6CFF5456550054565500D2A391FFF9E9D8FFB4A8AEFF54565500545655003F5F
C5FF0533F4FF3447C1FFCBCCE0000000000092342BFFB95248FFC49D96FF5456
550054565500D69B82FFCC9888FFD7C1BAFF9A94A6FF6A658AFF545655005456
55005C80F3FF001FDAFF5C6DB4FF0000000095291CFFC85B52FFB98E8AFF5456
5500E3AF96FFCDA693FFDFAA9DFFB99B9DFF878BB9FF766F8FFF534E7CFF5456
55005577F0FF103AC8FFBFC7DC00000000007D190CFFC05044FFBD8A84FF5456
5500DBA188FFD4A898FFD49482FFC6A8A5FFA7B7CBFF9D9FB1FF6A567CFF5456
55004A6AD4FF808FC9FFFFFFFE00000000006A2718FF951E14FFC28078FF5456
5500D58A71FFD19F93FFCCBCB3FFBFD5D2FFBCE2E8FFB8CFC9FF878E9DFF5456
55009399C8FFEFEEF600FAFAFD00FDFFFF00B49D95006D1003FFA65B52FF5456
550054565500C5CDC2FFA9D0D5FFABD4DCFFA3BFC5FFA7CCCBFF545655005456
5500ECE9E900FFFFFF00FCFCFC00FCFBFC00FAFAF900D0BEB600545655000EB2
5FFF545655005456550096C6CEFFABC4C4FFAAD3D8FF54565500545655004471
8CFFD8E4EE00FEFEFE00FCFCFC00FEFEFE00FEFDFD00545655000EB25FFF0EB2
5FFF7ECAA3FF54565500545655005456550054565500545655003E6179FF1054
86FFD0DDE600FEFEFF00FBFAFC00F6F6F600545655000EB25FFF0EB25FFF7ECA
A3FF5456550080BDE2FF72B6DEFF8FD1EBFF80B0C9FF6A8A9FFF005185FF0F52
80FFD5DEE400FEFEFE00FCFCFD00545655000EB25FFF0EB25FFF7ECAA3FF5456
5500DFEEF00038AFF6FF00A5FFFF1AC0FFFF0779BAFF005389FF005390FF336D
95FFE3E9EB00FFFFFF00FBFDFD00545655000EB25FFF7ECAA3FF54565500F7F7
F700FFFFFF00CDE9F70032AFF1FF06B0FEFF0F83BEFF004A7FFF155882FFB2C3
CE00FDFEFE00FDFDFD00FCFCFC00545655005456550054565500FDFCFC00FFFE
FF00F8FBFC00FFFFFD00D7EAF40046BAF4FF0072ADFF43768EFFCED8DB00FFFE
FD00FDFDFD00FCFCFC00FDFCFC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF003AB73FFFCDECCFFFFFFFFF00BFE5C1FF3DAF43FFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5F6E5FFFFFF
FF00FFFFFF00FFFFFF0038B23EFF74C878FFE8F0ECDFAFDDB2FF3FAB45FFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003AB740FFA5DE
A8FFFFFFFF00FFFFFF003DB042FF45B049FF88AD9CFF418A56FF349E3BFF96B3
A6FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0044B84AFF3EB4
43FFFFFFFF0043B148FF35A83AFF34A539FF34A139FF72C27EFFAFE3C2FF5F8C
78FFA1B9AEFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CDEBCEFF36AB
3CFF44AF4AFF45AC4BFF9ED4ADFFA4D7B8FF85C38EFF288F2DFF4FB75FFF97C8
AAFF2C8D31FF2B8930FF2A852EFF43B649FFE4F5E5FFFFFFFF00FFFFFF0035A7
3BFF39A53FFF90CEA8FF62B984FF58B27BFF60B276FF38973EFF29892DFF57A4
62FF45695FFFFFFFFF00FFFFFF003BAF40FF36AA3BFF7FC882FF49AD4EFF50AD
56FF8DCCA5FF5EB580FF4FAD73FF42A35DFF1010CFFF1010CFFF1010CFFF1010
CFFF6A8E79FFFFFFFF00FFFFFF00FFFFFF0061B865FF33A138FF339E38FF94CF
ACFF5CB47EFF4EAC72FF41A15DFF1010CFFF1010CFFF1010CFFF1010CFFF1010
CFFF1010CFFFA2C5A4FF1010CFFFFFFFFF00FFFFFF00399F3EFF52A959FF6DBC
8CFF4DAA70FF429F5CFF1010CFFF1010CFFF51A36DFF479D63FF89BE99FF1010
CFFF1010CFFF1010CFFF1010CFFFFFFFFF00FFFFFF003B9A3FFF62AD68FF77BE
91FF44A05DFF4B9F53FF78B48CFF4EA26AFF479C62FF71B185FF6AA06FFF2471
27FF1010CFFF1010CFFF1010CFFFFFFFFF00FFFFFF0095C697FF2D8C32FF77B5
82FF4D9E54FF79B38CFF4DA16AFF469A60FF71B084FF367D39FF236E26FF1010
CFFF1010CFFF1010CFFF1010CFFFFFFFFF00FFFFFF00FFFFFF0062A565FF2074
23FF94C09DFF6CAF82FF1010CFFF1010CFFF1010CFFF1010CFFF216824FF276A
2AFF9AB89BFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E9C
61FF2A792EFF68A16FFF1010CFFF1010CFFF1010CFFFA8C3AAFFC6D7C7FF2C69
2FFF1D5C20FFE0E9E1FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF0076A77AFF256F2AFF1010CFFF1010CFFF1010CFFF1010CFFFFFFFFF00FFFF
FF00FFFFFF001010CFFF1010CFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF001010CFFF518453FF1010CFFF1010CFFF1010CFFF1010
CFFF1010CFFF1010CFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00215D24FF1010CFFF1010CFFF1010
CFFF1010CFFFFFFFFF00FFFFFF00
}
end
end

View File

@ -0,0 +1,228 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
ExtCtrls, Buttons, ComCtrls, SimpleFrm, AnchorDocking, AnchorDockStorage,
XMLPropStorage;
type
{ TMainIDE }
TMainIDE = class(TForm)
ImageList1: TImageList;
MainMenu1: TMainMenu;
ComponentPalette: TNotebook;
NewFileMenuItem: TMenuItem;
OpenFileMenuItem: TMenuItem;
Page1: TPage;
Page2: TPage;
BtnPanel: TPanel;
QuitMenuItem: TMenuItem;
FileMenuItem: TMenuItem;
ToolBar1: TToolBar;
ToolBar2: TToolBar;
SaveLayoutToolButton: TToolButton;
LoadLayoutToolButton: TToolButton;
ViewDbgOutToolButton: TToolButton;
ViewProjInspToolButton: TToolButton;
ViewFPDocEditorToolButton: TToolButton;
ViewMessagesToolButton: TToolButton;
ViewOIToolButton: TToolButton;
ViewCodeExplToolButton: TToolButton;
ViewSrcEdit2ToolButton: TToolButton;
ViewSrcEditor1ToolButton: TToolButton;
procedure FileMenuItemClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure LoadLayoutToolButtonClick(Sender: TObject);
procedure QuitMenuItemClick(Sender: TObject);
procedure SaveLayoutToolButtonClick(Sender: TObject);
procedure ViewCodeExplToolButtonClick(Sender: TObject);
procedure ViewDbgOutToolButtonClick(Sender: TObject);
procedure ViewFPDocEditorToolButtonClick(Sender: TObject);
procedure ViewMessagesToolButtonClick(Sender: TObject);
procedure ViewOIToolButtonClick(Sender: TObject);
procedure ViewProjInspToolButtonClick(Sender: TObject);
procedure ViewSrcEdit2ToolButtonClick(Sender: TObject);
procedure ViewSrcEditor1ToolButtonClick(Sender: TObject);
private
procedure DockMasterCreateControl(Sender: TObject; aName: string; var
AControl: TControl; DoDisableAutoSizing: boolean);
public
procedure ShowForm(AForm: TCustomForm; FormEnableAutosizing: boolean);
procedure SaveLayout(Filename: string);
procedure LoadLayout(Filename: string);
end;
var
MainIDE: TMainIDE;
implementation
{$R *.lfm}
{ TMainIDE }
procedure TMainIDE.FileMenuItemClick(Sender: TObject);
begin
AllAutoSized;
close;
end;
procedure TMainIDE.DockMasterCreateControl(Sender: TObject; aName: string; var
AControl: TControl; DoDisableAutoSizing: boolean);
procedure CreateForm(Caption: string; NewBounds: TRect);
begin
AControl:=CreateSimpleForm(aName,Caption,NewBounds,DoDisableAutoSizing);
end;
begin
if aName='CodeExplorer' then
CreateForm('Code Explorer',Bounds(700,230,100,250))
else if aName='FPDocEditor' then
CreateForm('FPDoc Editor',Bounds(200,720,300,100))
else if aName='Messages' then
CreateForm('Messages',Bounds(230,650,350,100))
else if aName='ObjectInspector' then
CreateForm('Object Inspector',Bounds(10,200,100,350))
else if aName='SourceEditor1' then
CreateForm('Source Editor 1',Bounds(230,200,400,400))
else if aName='SourceEditor2' then
CreateForm('Source Editor 2',Bounds(260,230,350,350))
else if aName='ProjectInspector' then
CreateForm('Project Inspector',Bounds(10,230,150,250))
else if aName='DebugOutput' then
CreateForm('Debug Output',Bounds(400,400,350,150));
end;
procedure TMainIDE.FormCreate(Sender: TObject);
begin
ViewOIToolButton.Hint:='View Object Inspector';
ViewCodeExplToolButton.Hint:='View Code Explorer';
ViewSrcEditor1ToolButton.Hint:='View Source Editor 1';
ViewSrcEdit2ToolButton.Hint:='View Source Editor 2';
ViewFPDocEditorToolButton.Hint:='View FPDoc Editor';
ViewMessagesToolButton.Hint:='View Messages';
ViewProjInspToolButton.Hint:='View Project Inspector';
ViewDbgOutToolButton.Hint:='View Debug Output';
SaveLayoutToolButton.Hint:='Save Layout to layout.xml';
LoadLayoutToolButton.Hint:='Load layout from layout.xml';
DockMaster.OnCreateControl:=@DockMasterCreateControl;
SetBounds(100,50,600,80);
ViewSrcEditor1ToolButtonClick(Self);
ViewMessagesToolButtonClick(Self);
ViewOIToolButtonClick(Self);
end;
procedure TMainIDE.LoadLayoutToolButtonClick(Sender: TObject);
begin
LoadLayout('layout.xml');
end;
procedure TMainIDE.QuitMenuItemClick(Sender: TObject);
begin
Close;
end;
procedure TMainIDE.SaveLayoutToolButtonClick(Sender: TObject);
begin
SaveLayout('layout.xml');
end;
procedure TMainIDE.ViewCodeExplToolButtonClick(Sender: TObject);
begin
DockMaster.ShowControl('CodeExplorer',true);
end;
procedure TMainIDE.ViewDbgOutToolButtonClick(Sender: TObject);
begin
DockMaster.ShowControl('DebugOutput',true);
end;
procedure TMainIDE.ViewFPDocEditorToolButtonClick(Sender: TObject);
begin
DockMaster.ShowControl('FPDocEditor',true);
end;
procedure TMainIDE.ViewMessagesToolButtonClick(Sender: TObject);
begin
DockMaster.ShowControl('Messages',true);
end;
procedure TMainIDE.ViewOIToolButtonClick(Sender: TObject);
begin
DockMaster.ShowControl('ObjectInspector',true);
end;
procedure TMainIDE.ViewProjInspToolButtonClick(Sender: TObject);
begin
DockMaster.ShowControl('ProjectInspector',true);
end;
procedure TMainIDE.ViewSrcEdit2ToolButtonClick(Sender: TObject);
begin
DockMaster.ShowControl('SourceEditor2',true);
end;
procedure TMainIDE.ViewSrcEditor1ToolButtonClick(Sender: TObject);
begin
DockMaster.ShowControl('SourceEditor1',true);
end;
procedure TMainIDE.ShowForm(AForm: TCustomForm; FormEnableAutosizing: boolean);
begin
DockMaster.MakeDockable(AForm);
if FormEnableAutosizing then
AForm.EnableAutoSizing;
end;
procedure TMainIDE.SaveLayout(Filename: string);
var
XMLConfig: TXMLConfigStorage;
begin
try
XMLConfig:=TXMLConfigStorage.Create(Filename,false);
try
DockMaster.SaveLayoutToConfig(XMLConfig);
XMLConfig.WriteToDisk;
finally
XMLConfig.Free;
end;
except
on E: Exception do begin
MessageDlg('Error',
'Error saving layout to file '+Filename+':'#13+E.Message,mtError,
[mbCancel],0);
end;
end;
end;
procedure TMainIDE.LoadLayout(Filename: string);
var
XMLConfig: TXMLConfigStorage;
begin
try
XMLConfig:=TXMLConfigStorage.Create(Filename,True);
try
DockMaster.LoadLayoutFromConfig(XMLConfig);
finally
XMLConfig.Free;
end;
except
on E: Exception do begin
MessageDlg('Error',
'Error loading layout from file '+Filename+':'#13+E.Message,mtError,
[mbCancel],0);
end;
end;
end;
end.