Changeset 179 for Docking


Ignore:
Timestamp:
Mar 8, 2011, 12:58:28 PM (14 years ago)
Author:
george
Message:
  • Added: Store and restore basic form properties with use of layouts.
Location:
Docking/CoolDocking
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • Docking/CoolDocking/Demo/IDE

    • Property svn:ignore
      •  

        old new  
        11IDE.exe
        22lib
         3Layout.xml
  • Docking/CoolDocking/Demo/IDE/IDE.lpi

    r178 r179  
    4747      </Item4>
    4848    </RequiredPackages>
    49     <Units Count="22">
     49    <Units Count="31">
    5050      <Unit0>
    5151        <Filename Value="IDE.lpr"/>
    5252        <IsPartOfProject Value="True"/>
    5353        <UnitName Value="IDE"/>
    54         <UsageCount Value="27"/>
     54        <UsageCount Value="31"/>
    5555      </Unit0>
    5656      <Unit1>
     
    6060        <ResourceBaseClass Value="Form"/>
    6161        <UnitName Value="UMainForm"/>
    62         <IsVisibleTab Value="True"/>
    6362        <EditorIndex Value="0"/>
    6463        <WindowIndex Value="0"/>
    65         <TopLine Value="1"/>
    66         <CursorPos X="55" Y="12"/>
    67         <UsageCount Value="27"/>
     64        <TopLine Value="159"/>
     65        <CursorPos X="15" Y="161"/>
     66        <UsageCount Value="31"/>
    6867        <Loaded Value="True"/>
    6968        <LoadedDesigner Value="True"/>
     
    7574        <ResourceBaseClass Value="Form"/>
    7675        <UnitName Value="UObjectInspectorForm"/>
    77         <EditorIndex Value="14"/>
     76        <EditorIndex Value="12"/>
    7877        <WindowIndex Value="0"/>
    7978        <TopLine Value="1"/>
    8079        <CursorPos X="12" Y="16"/>
    81         <UsageCount Value="27"/>
     80        <UsageCount Value="31"/>
    8281        <Loaded Value="True"/>
    8382        <LoadedDesigner Value="True"/>
     
    8988        <ResourceBaseClass Value="Form"/>
    9089        <UnitName Value="UStructureForm"/>
    91         <EditorIndex Value="17"/>
     90        <EditorIndex Value="15"/>
    9291        <WindowIndex Value="0"/>
    9392        <TopLine Value="1"/>
    9493        <CursorPos X="3" Y="16"/>
    95         <UsageCount Value="27"/>
     94        <UsageCount Value="31"/>
    9695        <Loaded Value="True"/>
    9796        <LoadedDesigner Value="True"/>
     
    103102        <ResourceBaseClass Value="Form"/>
    104103        <UnitName Value="UToolPaletteForm"/>
    105         <EditorIndex Value="18"/>
     104        <EditorIndex Value="16"/>
    106105        <WindowIndex Value="0"/>
    107106        <TopLine Value="1"/>
    108107        <CursorPos X="15" Y="10"/>
    109         <UsageCount Value="27"/>
     108        <UsageCount Value="31"/>
    110109        <Loaded Value="True"/>
    111110        <LoadedDesigner Value="True"/>
     
    113112      <Unit5>
    114113        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    115         <EditorIndex Value="19"/>
    116         <WindowIndex Value="0"/>
    117         <TopLine Value="3176"/>
    118         <CursorPos X="1" Y="3189"/>
    119         <UsageCount Value="14"/>
     114        <EditorIndex Value="17"/>
     115        <WindowIndex Value="0"/>
     116        <TopLine Value="2272"/>
     117        <CursorPos X="1" Y="2285"/>
     118        <UsageCount Value="17"/>
    120119        <Loaded Value="True"/>
    121120      </Unit5>
     
    126125        <ResourceBaseClass Value="Form"/>
    127126        <UnitName Value="UProjectManagerForm"/>
    128         <EditorIndex Value="16"/>
     127        <EditorIndex Value="14"/>
    129128        <WindowIndex Value="0"/>
    130129        <TopLine Value="1"/>
    131130        <CursorPos X="20" Y="16"/>
    132         <UsageCount Value="27"/>
     131        <UsageCount Value="31"/>
    133132        <Loaded Value="True"/>
    134133        <LoadedDesigner Value="True"/>
     
    136135      <Unit7>
    137136        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\customform.inc"/>
    138         <EditorIndex Value="20"/>
     137        <EditorIndex Value="19"/>
    139138        <WindowIndex Value="0"/>
    140139        <TopLine Value="1870"/>
    141140        <CursorPos X="1" Y="1883"/>
    142         <UsageCount Value="14"/>
     141        <UsageCount Value="17"/>
    143142        <Loaded Value="True"/>
    144143      </Unit7>
     
    149148        <ResourceBaseClass Value="Form"/>
    150149        <UnitName Value="UMessagesForm"/>
    151         <EditorIndex Value="15"/>
     150        <EditorIndex Value="13"/>
    152151        <WindowIndex Value="0"/>
    153152        <TopLine Value="1"/>
    154153        <CursorPos X="7" Y="16"/>
    155         <UsageCount Value="27"/>
     154        <UsageCount Value="31"/>
    156155        <Loaded Value="True"/>
    157156        <LoadedDesigner Value="True"/>
     
    163162        <ResourceBaseClass Value="Form"/>
    164163        <UnitName Value="UCallStackForm"/>
    165         <EditorIndex Value="13"/>
     164        <EditorIndex Value="11"/>
    166165        <WindowIndex Value="0"/>
    167166        <TopLine Value="1"/>
    168167        <CursorPos X="12" Y="15"/>
    169         <UsageCount Value="27"/>
     168        <UsageCount Value="31"/>
    170169        <Loaded Value="True"/>
    171170        <LoadedDesigner Value="True"/>
     
    177176        <ResourceBaseClass Value="Form"/>
    178177        <UnitName Value="ULocalVariablesForm"/>
    179         <EditorIndex Value="12"/>
     178        <EditorIndex Value="10"/>
    180179        <WindowIndex Value="0"/>
    181180        <TopLine Value="1"/>
    182181        <CursorPos X="21" Y="4"/>
    183         <UsageCount Value="27"/>
     182        <UsageCount Value="31"/>
    184183        <Loaded Value="True"/>
    185184        <LoadedDesigner Value="True"/>
     
    191190        <ResourceBaseClass Value="Form"/>
    192191        <UnitName Value="UToDoListForm"/>
    193         <EditorIndex Value="11"/>
     192        <EditorIndex Value="9"/>
    194193        <WindowIndex Value="0"/>
    195194        <TopLine Value="1"/>
    196195        <CursorPos X="12" Y="16"/>
    197         <UsageCount Value="27"/>
     196        <UsageCount Value="31"/>
    198197        <Loaded Value="True"/>
    199198        <LoadedDesigner Value="True"/>
     
    205204        <ResourceBaseClass Value="Form"/>
    206205        <UnitName Value="UWatchListForm"/>
    207         <EditorIndex Value="10"/>
     206        <EditorIndex Value="8"/>
    208207        <WindowIndex Value="0"/>
    209208        <TopLine Value="1"/>
    210209        <CursorPos X="12" Y="17"/>
    211         <UsageCount Value="27"/>
     210        <UsageCount Value="31"/>
    212211        <Loaded Value="True"/>
    213212        <LoadedDesigner Value="True"/>
     
    219218        <ResourceBaseClass Value="Form"/>
    220219        <UnitName Value="UThreadStatusForm"/>
    221         <EditorIndex Value="9"/>
     220        <EditorIndex Value="7"/>
    222221        <WindowIndex Value="0"/>
    223222        <TopLine Value="1"/>
    224223        <CursorPos X="12" Y="16"/>
    225         <UsageCount Value="27"/>
     224        <UsageCount Value="31"/>
    226225        <Loaded Value="True"/>
    227226        <LoadedDesigner Value="True"/>
     
    233232        <ResourceBaseClass Value="Form"/>
    234233        <UnitName Value="USourceEditorForm"/>
    235         <EditorIndex Value="1"/>
     234        <EditorIndex Value="2"/>
    236235        <WindowIndex Value="0"/>
    237236        <TopLine Value="1"/>
    238237        <CursorPos X="41" Y="17"/>
    239         <UsageCount Value="25"/>
     238        <UsageCount Value="29"/>
    240239        <Loaded Value="True"/>
    241240        <LoadedDesigner Value="True"/>
     
    244243        <Filename Value="..\..\UCoolDocking.pas"/>
    245244        <UnitName Value="UCoolDocking"/>
    246         <EditorIndex Value="2"/>
     245        <EditorIndex Value="3"/>
    247246        <WindowIndex Value="0"/>
    248247        <TopLine Value="1"/>
    249248        <CursorPos X="22" Y="9"/>
    250         <UsageCount Value="12"/>
     249        <UsageCount Value="15"/>
    251250        <Loaded Value="True"/>
    252251      </Unit15>
     
    254253        <Filename Value="..\..\UCoolDockLayout.pas"/>
    255254        <UnitName Value="UCoolDockLayout"/>
    256         <EditorIndex Value="3"/>
    257         <WindowIndex Value="0"/>
    258         <TopLine Value="38"/>
    259         <CursorPos X="43" Y="57"/>
    260         <UsageCount Value="12"/>
     255        <IsVisibleTab Value="True"/>
     256        <EditorIndex Value="4"/>
     257        <WindowIndex Value="0"/>
     258        <TopLine Value="383"/>
     259        <CursorPos X="4" Y="396"/>
     260        <UsageCount Value="15"/>
    261261        <Loaded Value="True"/>
    262262      </Unit16>
    263263      <Unit17>
    264264        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classesh.inc"/>
    265         <EditorIndex Value="6"/>
    266265        <WindowIndex Value="0"/>
    267266        <TopLine Value="1643"/>
    268267        <CursorPos X="42" Y="1651"/>
    269         <UsageCount Value="12"/>
    270         <Loaded Value="True"/>
     268        <UsageCount Value="15"/>
    271269      </Unit17>
    272270      <Unit18>
    273271        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\types.pp"/>
    274272        <UnitName Value="types"/>
    275         <EditorIndex Value="7"/>
    276273        <WindowIndex Value="0"/>
    277274        <TopLine Value="70"/>
    278275        <CursorPos X="21" Y="83"/>
    279         <UsageCount Value="12"/>
    280         <Loaded Value="True"/>
     276        <UsageCount Value="15"/>
    281277      </Unit18>
    282278      <Unit19>
    283279        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\win\wininc\struct.inc"/>
    284         <EditorIndex Value="8"/>
    285280        <WindowIndex Value="0"/>
    286281        <TopLine Value="220"/>
    287282        <CursorPos X="16" Y="233"/>
    288         <UsageCount Value="12"/>
    289         <Loaded Value="True"/>
     283        <UsageCount Value="15"/>
    290284      </Unit19>
    291285      <Unit20>
    292286        <Filename Value="..\..\URectangle.pas"/>
    293287        <UnitName Value="URectangle"/>
    294         <EditorIndex Value="5"/>
    295         <WindowIndex Value="0"/>
    296         <TopLine Value="3"/>
    297         <CursorPos X="13" Y="13"/>
    298         <UsageCount Value="12"/>
     288        <EditorIndex Value="6"/>
     289        <WindowIndex Value="0"/>
     290        <TopLine Value="20"/>
     291        <CursorPos X="52" Y="33"/>
     292        <UsageCount Value="15"/>
    299293        <Loaded Value="True"/>
    300294      </Unit20>
     
    302296        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\packages\fcl-xml\src\xmlread.pp"/>
    303297        <UnitName Value="XMLRead"/>
    304         <EditorIndex Value="4"/>
    305298        <WindowIndex Value="0"/>
    306299        <TopLine Value="34"/>
    307300        <CursorPos X="11" Y="47"/>
     301        <UsageCount Value="15"/>
     302      </Unit21>
     303      <Unit22>
     304        <Filename Value="..\..\UCoolDockWindowList.pas"/>
     305        <UnitName Value="UCoolDockWindowList"/>
     306        <EditorIndex Value="5"/>
     307        <WindowIndex Value="0"/>
     308        <TopLine Value="103"/>
     309        <CursorPos X="1" Y="106"/>
    308310        <UsageCount Value="12"/>
    309311        <Loaded Value="True"/>
    310       </Unit21>
     312      </Unit22>
     313      <Unit23>
     314        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\forms.pp"/>
     315        <UnitName Value="Forms"/>
     316        <WindowIndex Value="0"/>
     317        <TopLine Value="362"/>
     318        <CursorPos X="3" Y="378"/>
     319        <UsageCount Value="11"/>
     320      </Unit23>
     321      <Unit24>
     322        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\packages\fcl-xml\src\xmlwrite.pp"/>
     323        <UnitName Value="XMLWrite"/>
     324        <WindowIndex Value="0"/>
     325        <TopLine Value="835"/>
     326        <CursorPos X="3" Y="837"/>
     327        <UsageCount Value="11"/>
     328      </Unit24>
     329      <Unit25>
     330        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\customcombobox.inc"/>
     331        <EditorIndex Value="1"/>
     332        <WindowIndex Value="0"/>
     333        <TopLine Value="913"/>
     334        <CursorPos X="1" Y="930"/>
     335        <UsageCount Value="11"/>
     336        <Loaded Value="True"/>
     337      </Unit25>
     338      <Unit26>
     339        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\containedaction.inc"/>
     340        <WindowIndex Value="0"/>
     341        <TopLine Value="91"/>
     342        <CursorPos X="1" Y="104"/>
     343        <UsageCount Value="10"/>
     344      </Unit26>
     345      <Unit27>
     346        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\customaction.inc"/>
     347        <WindowIndex Value="0"/>
     348        <TopLine Value="239"/>
     349        <CursorPos X="1" Y="252"/>
     350        <UsageCount Value="10"/>
     351      </Unit27>
     352      <Unit28>
     353        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\controls.pp"/>
     354        <UnitName Value="Controls"/>
     355        <WindowIndex Value="0"/>
     356        <TopLine Value="1423"/>
     357        <CursorPos X="44" Y="1431"/>
     358        <UsageCount Value="10"/>
     359      </Unit28>
     360      <Unit29>
     361        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\wincontrol.inc"/>
     362        <WindowIndex Value="0"/>
     363        <TopLine Value="7811"/>
     364        <CursorPos X="20" Y="7829"/>
     365        <UsageCount Value="10"/>
     366      </Unit29>
     367      <Unit30>
     368        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\toolbutton.inc"/>
     369        <EditorIndex Value="18"/>
     370        <WindowIndex Value="0"/>
     371        <TopLine Value="751"/>
     372        <CursorPos X="1" Y="764"/>
     373        <UsageCount Value="10"/>
     374        <Loaded Value="True"/>
     375      </Unit30>
    311376    </Units>
    312377    <JumpHistory Count="30" HistoryIndex="29">
    313378      <Position1>
    314379        <Filename Value="..\..\UCoolDockLayout.pas"/>
    315         <Caret Line="40" Column="74" TopLine="16"/>
     380        <Caret Line="344" Column="1" TopLine="334"/>
    316381      </Position1>
    317382      <Position2>
    318383        <Filename Value="..\..\UCoolDockLayout.pas"/>
    319         <Caret Line="14" Column="11" TopLine="6"/>
     384        <Caret Line="345" Column="1" TopLine="334"/>
    320385      </Position2>
    321386      <Position3>
    322         <Filename Value="..\..\URectangle.pas"/>
    323         <Caret Line="115" Column="26" TopLine="90"/>
     387        <Filename Value="..\..\UCoolDockLayout.pas"/>
     388        <Caret Line="356" Column="1" TopLine="335"/>
    324389      </Position3>
    325390      <Position4>
    326         <Filename Value="..\..\UCoolDockLayout.pas"/>
    327         <Caret Line="8" Column="65" TopLine="2"/>
     391        <Filename Value="UMainForm.pas"/>
     392        <Caret Line="177" Column="1" TopLine="167"/>
    328393      </Position4>
    329394      <Position5>
    330         <Filename Value="..\..\UCoolDockLayout.pas"/>
    331         <Caret Line="25" Column="44" TopLine="4"/>
     395        <Filename Value="UMainForm.pas"/>
     396        <Caret Line="180" Column="1" TopLine="167"/>
    332397      </Position5>
    333398      <Position6>
    334399        <Filename Value="..\..\UCoolDockLayout.pas"/>
    335         <Caret Line="80" Column="15" TopLine="63"/>
     400        <Caret Line="169" Column="1" TopLine="156"/>
    336401      </Position6>
    337402      <Position7>
    338403        <Filename Value="..\..\UCoolDockLayout.pas"/>
    339         <Caret Line="68" Column="1" TopLine="55"/>
     404        <Caret Line="170" Column="1" TopLine="156"/>
    340405      </Position7>
    341406      <Position8>
    342407        <Filename Value="..\..\UCoolDockLayout.pas"/>
    343         <Caret Line="86" Column="11" TopLine="74"/>
     408        <Caret Line="171" Column="1" TopLine="156"/>
    344409      </Position8>
    345410      <Position9>
    346411        <Filename Value="..\..\UCoolDockLayout.pas"/>
    347         <Caret Line="37" Column="34" TopLine="12"/>
     412        <Caret Line="172" Column="1" TopLine="156"/>
    348413      </Position9>
    349414      <Position10>
    350         <Filename Value="..\..\UCoolDockLayout.pas"/>
    351         <Caret Line="111" Column="12" TopLine="88"/>
     415        <Filename Value="UMainForm.pas"/>
     416        <Caret Line="121" Column="1" TopLine="108"/>
    352417      </Position10>
    353418      <Position11>
    354         <Filename Value="..\..\UCoolDockLayout.pas"/>
    355         <Caret Line="101" Column="1" TopLine="90"/>
     419        <Filename Value="UMainForm.pas"/>
     420        <Caret Line="172" Column="1" TopLine="159"/>
    356421      </Position11>
    357422      <Position12>
    358423        <Filename Value="..\..\UCoolDockLayout.pas"/>
    359         <Caret Line="129" Column="47" TopLine="109"/>
     424        <Caret Line="350" Column="15" TopLine="334"/>
    360425      </Position12>
    361426      <Position13>
    362427        <Filename Value="..\..\UCoolDockLayout.pas"/>
    363         <Caret Line="41" Column="1" TopLine="20"/>
     428        <Caret Line="409" Column="40" TopLine="385"/>
    364429      </Position13>
    365430      <Position14>
    366431        <Filename Value="..\..\UCoolDockLayout.pas"/>
    367         <Caret Line="31" Column="50" TopLine="21"/>
     432        <Caret Line="406" Column="22" TopLine="389"/>
    368433      </Position14>
    369434      <Position15>
    370435        <Filename Value="..\..\UCoolDockLayout.pas"/>
    371         <Caret Line="33" Column="25" TopLine="16"/>
     436        <Caret Line="398" Column="16" TopLine="387"/>
    372437      </Position15>
    373438      <Position16>
    374439        <Filename Value="..\..\UCoolDockLayout.pas"/>
    375         <Caret Line="228" Column="1" TopLine="205"/>
     440        <Caret Line="394" Column="3" TopLine="384"/>
    376441      </Position16>
    377442      <Position17>
    378443        <Filename Value="..\..\UCoolDockLayout.pas"/>
    379         <Caret Line="78" Column="1" TopLine="67"/>
     444        <Caret Line="383" Column="29" TopLine="369"/>
    380445      </Position17>
    381446      <Position18>
    382447        <Filename Value="..\..\UCoolDockLayout.pas"/>
    383         <Caret Line="187" Column="21" TopLine="175"/>
     448        <Caret Line="405" Column="1" TopLine="383"/>
    384449      </Position18>
    385450      <Position19>
    386         <Filename Value="..\..\UCoolDockLayout.pas"/>
    387         <Caret Line="226" Column="16" TopLine="201"/>
     451        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
     452        <Caret Line="1741" Column="1" TopLine="1728"/>
    388453      </Position19>
    389454      <Position20>
    390         <Filename Value="..\..\UCoolDockLayout.pas"/>
    391         <Caret Line="25" Column="15" TopLine="12"/>
     455        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\toolbutton.inc"/>
     456        <Caret Line="136" Column="1" TopLine="123"/>
    392457      </Position20>
    393458      <Position21>
    394         <Filename Value="..\..\UCoolDockLayout.pas"/>
    395         <Caret Line="207" Column="19" TopLine="191"/>
     459        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\toolbutton.inc"/>
     460        <Caret Line="764" Column="1" TopLine="751"/>
    396461      </Position21>
    397462      <Position22>
    398         <Filename Value="..\..\UCoolDockLayout.pas"/>
    399         <Caret Line="235" Column="14" TopLine="229"/>
     463        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
     464        <Caret Line="2285" Column="1" TopLine="2272"/>
    400465      </Position22>
    401466      <Position23>
    402467        <Filename Value="..\..\UCoolDockLayout.pas"/>
    403         <Caret Line="259" Column="8" TopLine="247"/>
     468        <Caret Line="399" Column="1" TopLine="383"/>
    404469      </Position23>
    405470      <Position24>
    406471        <Filename Value="..\..\UCoolDockLayout.pas"/>
    407         <Caret Line="263" Column="20" TopLine="250"/>
     472        <Caret Line="397" Column="1" TopLine="383"/>
    408473      </Position24>
    409474      <Position25>
    410475        <Filename Value="..\..\UCoolDockLayout.pas"/>
    411         <Caret Line="28" Column="15" TopLine="21"/>
     476        <Caret Line="398" Column="1" TopLine="383"/>
    412477      </Position25>
    413478      <Position26>
    414479        <Filename Value="..\..\UCoolDockLayout.pas"/>
    415         <Caret Line="87" Column="3" TopLine="65"/>
     480        <Caret Line="399" Column="1" TopLine="383"/>
    416481      </Position26>
    417482      <Position27>
    418483        <Filename Value="..\..\UCoolDockLayout.pas"/>
    419         <Caret Line="95" Column="21" TopLine="94"/>
     484        <Caret Line="400" Column="1" TopLine="383"/>
    420485      </Position27>
    421486      <Position28>
    422487        <Filename Value="..\..\UCoolDockLayout.pas"/>
    423         <Caret Line="41" Column="37" TopLine="28"/>
     488        <Caret Line="401" Column="1" TopLine="383"/>
    424489      </Position28>
    425490      <Position29>
    426491        <Filename Value="..\..\UCoolDockLayout.pas"/>
    427         <Caret Line="47" Column="17" TopLine="34"/>
     492        <Caret Line="402" Column="1" TopLine="383"/>
    428493      </Position29>
    429494      <Position30>
    430         <Filename Value="UMainForm.pas"/>
    431         <Caret Line="12" Column="55" TopLine="1"/>
     495        <Filename Value="..\..\UCoolDockLayout.pas"/>
     496        <Caret Line="404" Column="1" TopLine="383"/>
    432497      </Position30>
    433498    </JumpHistory>
  • Docking/CoolDocking/Demo/IDE/UMainForm.lfm

    r178 r179  
    88  ClientWidth = 626
    99  Menu = MainMenu1
     10  OnClose = FormClose
     11  OnShow = FormShow
    1012  LCLVersion = '0.9.31'
    1113  object Panel1: TPanel
     
    3537        Width = 100
    3638        ItemHeight = 13
     39        OnSelect = ComboBox1Select
    3740        TabOrder = 0
    38         Text = 'ComboBox1'
    3941      end
    4042      object ToolButton1: TToolButton
     
    4749  object MainMenu1: TMainMenu
    4850    left = 166
    49     top = 67
     51    top = 72
    5052    object MenuItem1: TMenuItem
    5153      Caption = 'File'
    5254      object MenuItem23: TMenuItem
    5355        Action = ANewFile
     56      end
     57      object MenuItem24: TMenuItem
     58        Action = AExit
    5459      end
    5560    end
     
    184189      Caption = 'New file'
    185190      OnExecute = ANewFileExecute
     191    end
     192    object AExit: TAction
     193      Caption = 'Exit'
     194      OnExecute = AExitExecute
    186195    end
    187196  end
     
    214223      4C69010000001000000010000000000000000000000000000000000000000000
    215224      0000000000000000000000000000000000000000000000000000000000000000
    216       0000000000000000000000000000000000000000000000000000000000000000
    217       0000000000000000000000000000000000000000000000000000000000000000
    218       00000000000000000000000000000000000000000000008484FF00000000FFFF
    219       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    220       0000FFFFFFFF00000000000000000000000000000000008484FF00000000FFFF
    221       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    222       00000000000000000000000000000000000000000000008484FF00000000FFFF
    223       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    224       0000008484FF00000000000000000000000000000000008484FF00000000FFFF
    225       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    226       0000008484FF00000000000000000000000000000000008484FF00000000FFFF
    227       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    228       0000008484FF00000000000000000000000000000000008484FF00000000FFFF
    229       FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
    230       0000008484FF00000000000000000000000000000000008484FF008484FF0000
    231       0000000000000000000000000000000000000000000000000000000000000084
    232       84FF008484FF00000000000000000000000000000000008484FF008484FF0084
     225      000000000000000000000000000000000000000000FF000000FF000000FF0000
     226      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
     227      00FF000000FF000000FF0000000000000000000000FF008484FF000000FFFFFF
     228      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
     229      00FFFFFFFFFF000000FF0000000000000000000000FF008484FF000000FFFFFF
     230      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
     231      00FF000000FF000000FF0000000000000000000000FF008484FF000000FFFFFF
     232      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
     233      00FF008484FF000000FF0000000000000000000000FF008484FF000000FFFFFF
     234      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
     235      00FF008484FF000000FF0000000000000000000000FF008484FF000000FFFFFF
     236      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
     237      00FF008484FF000000FF0000000000000000000000FF008484FF000000FFFFFF
     238      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
     239      00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000
     240      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0084
     241      84FF008484FF000000FF0000000000000000000000FF008484FF008484FF0084
    233242      84FF008484FF008484FF008484FF008484FF008484FF008484FF008484FF0084
    234       84FF008484FF00000000000000000000000000000000008484FF008484FF0000
    235       0000000000000000000000000000000000000000000000000000000000000000
    236       0000008484FF00000000000000000000000000000000008484FF008484FF0000
    237       00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000
    238       0000008484FF00000000000000000000000000000000008484FF008484FF0000
    239       00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000
    240       0000008484FF00000000000000000000000000000000008484FF008484FF0000
    241       00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000
    242       0000008484FF0000000000000000000000000000000000000000000000000000
    243       0000000000000000000000000000000000000000000000000000000000000000
    244       0000000000000000000000000000000000000000000000000000000000000000
     243      84FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000
     244      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
     245      00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000
     246      00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000
     247      00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000
     248      00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000
     249      00FF008484FF000000FF0000000000000000000000FF008484FF008484FF0000
     250      00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFF0000
     251      00FF008484FF000000FF000000000000000000000000000000FF000000FF0000
     252      00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
     253      00FF000000FF000000FF00000000000000000000000000000000000000000000
    245254      0000000000000000000000000000000000000000000000000000000000000000
    246255      0000000000000000000000000000
  • Docking/CoolDocking/Demo/IDE/UMainForm.pas

    r178 r179  
    1212  UWatchListForm, UThreadStatusForm, USourceEditorForm;
    1313
     14const
     15  DockLayoutFileName = 'Layout.xml';
     16
    1417type
    1518
     
    1821  TMainForm = class(TForm)
    1922  published
     23    AExit: TAction;
    2024    ANewFile: TAction;
    2125    ACustomizeDocking: TAction;
     
    5357    MenuItem22: TMenuItem;
    5458    MenuItem23: TMenuItem;
     59    MenuItem24: TMenuItem;
    5560    MenuItem9: TMenuItem;
    5661    MenuItem8: TMenuItem;
     
    6974    procedure ACustomizeDockingExecute(Sender: TObject);
    7075    procedure ADesktopSaveExecute(Sender: TObject);
     76    procedure AExitExecute(Sender: TObject);
    7177    procedure ANewFileExecute(Sender: TObject);
    7278    procedure AViewThreadStatusExecute(Sender: TObject);
     
    8187    procedure AViewWatchListExecute(Sender: TObject);
    8288    procedure AViewWindowListExecute(Sender: TObject);
     89    procedure ComboBox1Select(Sender: TObject);
     90    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
     91    procedure FormShow(Sender: TObject);
    8392  public
    84     { public declarations }
    85   end;
     93  end;
    8694
    8795var
     
    109117end;
    110118
     119procedure TMainForm.ComboBox1Select(Sender: TObject);
     120begin
     121  if ComboBox1.ItemIndex <> - 1 then
     122    TCoolDockLayout(CoolDockLayoutList1.Items[ComboBox1.ItemIndex]).Restore;
     123end;
     124
     125procedure TMainForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
     126begin
     127  CoolDockLayoutList1.SaveToFile(DockLayoutFileName);
     128end;
     129
     130procedure TMainForm.FormShow(Sender: TObject);
     131begin
     132  with CoolDockLayoutList1 do begin
     133    if FileExistsUTF8(DockLayoutFileName) then
     134      LoadFromFile(DockLayoutFileName);
     135    PopulateStringList(ComboBox1.Items);
     136  end;
     137end;
     138
    111139procedure TMainForm.AViewProjectManagerExecute(Sender: TObject);
    112140begin
     
    140168
    141169procedure TMainForm.ADesktopSaveExecute(Sender: TObject);
    142 begin
    143 
     170var
     171  NewLayout: TCoolDockLayout;
     172begin
     173  if ComboBox1.Items.IndexOf(ComboBox1.Text) = -1 then begin
     174    NewLayout := TCoolDockLayout.Create;
     175    NewLayout.Name := ComboBox1.Text;
     176    NewLayout.Store;
     177    CoolDockLayoutList1.Items.Add(NewLayout);
     178  end else
     179    TCoolDockLayout(CoolDockLayoutList1.Items[ComboBox1.ItemIndex]).Store;
     180  CoolDockLayoutList1.PopulateStringList(ComboBox1.Items);
     181end;
     182
     183procedure TMainForm.AExitExecute(Sender: TObject);
     184begin
     185  Close;
    144186end;
    145187
  • Docking/CoolDocking/Demo/IDE/USourceEditorForm.lfm

    r178 r179  
    11object SourceEditorForm: TSourceEditorForm
    2   Left = 283
     2  Left = 265
    33  Height = 349
    4   Top = 134
     4  Top = 165
    55  Width = 448
    66  Caption = 'Source Editor'
  • Docking/CoolDocking/UCoolDockLayout.pas

    r178 r179  
    1919    Visible: Boolean;
    2020    Rect: TRectangle;
    21     FormState: TFormState;
     21    RestoredRect: TRectangle;
     22    WindowState: TWindowState;
    2223    UndockSize: TPoint;
    2324    DockStyle: TDockStyle;
    2425    procedure SaveToNode(Node: TDOMNode);
    2526    procedure LoadFromNode(Node: TDOMNode);
     27    constructor Create;
     28    destructor Destroy; override;
    2629  end;
    2730
     
    3538    constructor Create;
    3639    destructor Destroy; override;
     40    procedure Store;
     41    procedure Restore;
    3742  end;
    3843
     
    4651    procedure LoadFromFile(FileName: string);
    4752    procedure SaveToFile(FileName: string);
     53    procedure PopulateStringList(List: TStrings);
    4854    constructor Create(AOwner: TComponent); override;
    4955    destructor Destroy; override;
     
    7884  Doc: TXMLDocument;
    7985  Child: TDOMNode;
    80   NewItem: TCoolDockLayoutItem;
     86  NewItem: TCoolDockLayout;
    8187  NewNode: TDOMNode;
    8288begin
     
    8894      if Assigned(NewNode) then
    8995      with NewNode do begin
    90         Child := Doc.DocumentElement.FirstChild;
     96        Child := FirstChild;
    9197        while Assigned(Child) do begin
    92           NewItem := TCoolDockLayoutItem.Create;
     98          NewItem := TCoolDockLayout.Create;
    9399          NewItem.LoadFromNode(Child);
    94100          Items.Add(NewItem);
     
    117123      with RootNode do begin
    118124        NewNode := OwnerDocument.CreateElement('Items');
     125        with NewNode do
    119126        for I := 0 to Items.Count - 1 do begin
    120127          NewNode2 := OwnerDocument.CreateElement('Layout');
     
    150157    if FileExistsUTF8(FileName) then Stream := TFileStream.Create(FileName, fmOpenReadWrite)
    151158      else Stream := TFileStream.Create(FileName, fmCreate);
     159    Stream.Size := 0;
    152160    SaveToStream(Stream);
    153161  finally
     
    156164end;
    157165
     166procedure TCoolDockLayoutList.PopulateStringList(List: TStrings);
     167var
     168  I: Integer;
     169begin
     170  List.Clear;
     171  for I := 0 to Items.Count - 1 do
     172    List.AddObject(TCoolDockLayout(Items[I]).Name, TCoolDockLayout(Items[I]));
     173end;
     174
    158175{ TCoolDockLayoutItem }
    159176
     
    172189    NewNode.TextContent := UTF8Decode(Caption);
    173190    AppendChild(NewNode);
    174     NewNode := OwnerDocument.CreateElement('FormState');
    175     NewNode.TextContent := IntToStr(Integer(FormState));
     191    NewNode := OwnerDocument.CreateElement('WindowState');
     192    NewNode.TextContent := IntToStr(Integer(WindowState));
    176193    AppendChild(NewNode);
    177194    NewNode := OwnerDocument.CreateElement('UndockWidth');
     
    199216    NewNode.TextContent := IntToStr(Integer(DockStyle));
    200217    AppendChild(NewNode);
     218    NewNode := OwnerDocument.CreateElement('RestoredWidth');
     219    NewNode.TextContent := IntToStr(RestoredRect.Width);
     220    AppendChild(NewNode);
     221    NewNode := OwnerDocument.CreateElement('RestoredHeight');
     222    NewNode.TextContent := IntToStr(RestoredRect.Height);
     223    AppendChild(NewNode);
     224    NewNode := OwnerDocument.CreateElement('RestoredTop');
     225    NewNode.TextContent := IntToStr(RestoredRect.Top);
     226    AppendChild(NewNode);
     227    NewNode := OwnerDocument.CreateElement('RestoredLeft');
     228    NewNode.TextContent := IntToStr(RestoredRect.Left);
     229    AppendChild(NewNode);
    201230  end;
    202231end;
     
    216245    if Assigned(NewNode) then
    217246      Caption := UTF8Encode(NewNode.TextContent);
    218     NewNode := FindNode('FormState');
    219     if Assigned(NewNode) then
    220       FormState := TFormState(StrToInt(NewNode.TextContent));
     247    NewNode := FindNode('WindowState');
     248    if Assigned(NewNode) then
     249      WindowState := TWindowState(StrToInt(NewNode.TextContent));
    221250    NewNode := FindNode('UndockWidth');
    222251    if Assigned(NewNode) then
     
    243272    if Assigned(NewNode) then
    244273      DockStyle := TDockStyle(StrToInt(NewNode.TextContent));
    245   end;
     274    NewNode := FindNode('RestoredTop');
     275    if Assigned(NewNode) then
     276      RestoredRect.Top := StrToInt(NewNode.TextContent);
     277    NewNode := FindNode('RestoredLeft');
     278    if Assigned(NewNode) then
     279      RestoredRect.Left := StrToInt(NewNode.TextContent);
     280    NewNode := FindNode('RestoredWidth');
     281    if Assigned(NewNode) then
     282      RestoredRect.Width := StrToInt(NewNode.TextContent);
     283    NewNode := FindNode('RestoredHeight');
     284    if Assigned(NewNode) then
     285      RestoredRect.Height := StrToInt(NewNode.TextContent);
     286  end;
     287end;
     288
     289constructor TCoolDockLayoutItem.Create;
     290begin
     291  Rect := TRectangle.Create;
     292  RestoredRect := TRectangle.Create;
     293end;
     294
     295destructor TCoolDockLayoutItem.Destroy;
     296begin
     297  Rect.Free;
     298  RestoredRect.Free;
     299  inherited Destroy;
    246300end;
    247301
     
    259313    AppendChild(NewNode);
    260314    NewNode := OwnerDocument.CreateElement('Items');
     315    with NewNode do
    261316    for I := 0 to Items.Count - 1 do begin
    262317      NewNode2 := OwnerDocument.CreateElement('Form');
     
    303358end;
    304359
     360procedure TCoolDockLayout.Store;
     361var
     362  I: Integer;
     363  Form: TForm;
     364  NewItem: TCoolDockLayoutItem;
     365begin
     366  Items.Clear;
     367  for I := 0 to Application.ComponentCount - 1 do
     368  if (Application.Components[I] is TForm) then begin
     369    Form := (Application.Components[I] as TForm);
     370    NewItem := TCoolDockLayoutItem.Create;
     371    NewItem.Name := Form.Name;
     372    NewItem.Caption := Form.Caption;
     373    NewItem.UndockSize.X := Form.UndockWidth;
     374    NewItem.UndockSize.Y := Form.UndockHeight;
     375    NewItem.Visible := Form.Visible;
     376    NewItem.Rect.Left := Form.Left;
     377    NewItem.Rect.Top := Form.Top;
     378    NewItem.Rect.Width := Form.Width;
     379    NewItem.Rect.Height := Form.Height;
     380    NewItem.RestoredRect.Left := Form.RestoredLeft;
     381    NewItem.RestoredRect.Top := Form.RestoredTop;
     382    NewItem.RestoredRect.Width := Form.RestoredWidth;
     383    NewItem.RestoredRect.Height := Form.RestoredHeight;
     384    NewItem.WindowState := Form.WindowState;
     385    Items.Add(NewItem);
     386  end;
     387end;
     388
     389procedure TCoolDockLayout.Restore;
     390var
     391  Form: TForm;
     392  I: Integer;
     393begin
     394  for I := 0 to Items.Count - 1 do
     395  with TCoolDockLayoutItem(Items[I]) do begin
     396    Form := TForm(Application.FindComponent(Name));
     397    if WindowState = wsMaximized then begin
     398      Form.SetRestoredBounds(RestoredRect.Left, RestoredRect.Top,
     399        RestoredRect.Width, RestoredRect.Height);
     400      Form.WindowState := WindowState;
     401    end else begin
     402      Form.WindowState := WindowState;
     403      Form.SetRestoredBounds(RestoredRect.Left, RestoredRect.Top,
     404        RestoredRect.Width, RestoredRect.Height);
     405    end;
     406    Form.Caption := Caption;
     407    Form.SetBounds(Rect.Left, Rect.Top, Rect.Width, Rect.Height);
     408    Form.UndockWidth := UndockSize.X;
     409    Form.UndockHeight := UndockSize.Y;
     410    Form.Visible := Visible;
     411  end;
     412end;
     413
    305414end.
    306415
Note: See TracChangeset for help on using the changeset viewer.