Changeset 181 for Docking


Ignore:
Timestamp:
Mar 9, 2011, 10:56:47 AM (14 years ago)
Author:
george
Message:
Location:
Docking/CoolDocking
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • Docking/CoolDocking/Demo/IDE/IDE.lpi

    r180 r181  
    4747      </Item4>
    4848    </RequiredPackages>
    49     <Units Count="35">
     49    <Units Count="42">
    5050      <Unit0>
    5151        <Filename Value="IDE.lpr"/>
    5252        <IsPartOfProject Value="True"/>
    5353        <UnitName Value="IDE"/>
    54         <UsageCount Value="34"/>
     54        <UsageCount Value="76"/>
    5555      </Unit0>
    5656      <Unit1>
     
    6060        <ResourceBaseClass Value="Form"/>
    6161        <UnitName Value="UMainForm"/>
    62         <EditorIndex Value="0"/>
    63         <WindowIndex Value="0"/>
    64         <TopLine Value="187"/>
    65         <CursorPos X="44" Y="198"/>
    66         <UsageCount Value="34"/>
    67         <Loaded Value="True"/>
    68         <LoadedDesigner Value="True"/>
     62        <EditorIndex Value="5"/>
     63        <WindowIndex Value="0"/>
     64        <TopLine Value="1"/>
     65        <CursorPos X="21" Y="13"/>
     66        <UsageCount Value="76"/>
     67        <Loaded Value="True"/>
    6968      </Unit1>
    7069      <Unit2>
     
    7473        <ResourceBaseClass Value="Form"/>
    7574        <UnitName Value="UObjectInspectorForm"/>
    76         <EditorIndex Value="15"/>
    7775        <WindowIndex Value="0"/>
    7876        <TopLine Value="1"/>
    7977        <CursorPos X="12" Y="16"/>
    80         <UsageCount Value="34"/>
    81         <Loaded Value="True"/>
     78        <UsageCount Value="76"/>
    8279      </Unit2>
    8380      <Unit3>
     
    8784        <ResourceBaseClass Value="Form"/>
    8885        <UnitName Value="UStructureForm"/>
    89         <EditorIndex Value="18"/>
    9086        <WindowIndex Value="0"/>
    9187        <TopLine Value="1"/>
    9288        <CursorPos X="3" Y="16"/>
    93         <UsageCount Value="34"/>
    94         <Loaded Value="True"/>
     89        <UsageCount Value="76"/>
    9590      </Unit3>
    9691      <Unit4>
     
    10095        <ResourceBaseClass Value="Form"/>
    10196        <UnitName Value="UToolPaletteForm"/>
    102         <EditorIndex Value="19"/>
    10397        <WindowIndex Value="0"/>
    10498        <TopLine Value="1"/>
    10599        <CursorPos X="15" Y="10"/>
    106         <UsageCount Value="34"/>
    107         <Loaded Value="True"/>
     100        <UsageCount Value="76"/>
    108101      </Unit4>
    109102      <Unit5>
    110103        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    111         <EditorIndex Value="20"/>
    112         <WindowIndex Value="0"/>
    113         <TopLine Value="3176"/>
    114         <CursorPos X="35" Y="3188"/>
    115         <UsageCount Value="17"/>
    116         <Loaded Value="True"/>
     104        <WindowIndex Value="0"/>
     105        <TopLine Value="1070"/>
     106        <CursorPos X="1" Y="1083"/>
     107        <UsageCount Value="37"/>
    117108      </Unit5>
    118109      <Unit6>
     
    122113        <ResourceBaseClass Value="Form"/>
    123114        <UnitName Value="UProjectManagerForm"/>
    124         <EditorIndex Value="17"/>
    125115        <WindowIndex Value="0"/>
    126116        <TopLine Value="1"/>
    127117        <CursorPos X="20" Y="16"/>
    128         <UsageCount Value="34"/>
    129         <Loaded Value="True"/>
     118        <UsageCount Value="76"/>
    130119      </Unit6>
    131120      <Unit7>
    132121        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\customform.inc"/>
    133         <EditorIndex Value="22"/>
    134         <WindowIndex Value="0"/>
    135         <TopLine Value="1870"/>
    136         <CursorPos X="1" Y="1883"/>
    137         <UsageCount Value="17"/>
     122        <EditorIndex Value="12"/>
     123        <WindowIndex Value="0"/>
     124        <TopLine Value="2822"/>
     125        <CursorPos X="1" Y="2835"/>
     126        <UsageCount Value="38"/>
    138127        <Loaded Value="True"/>
    139128      </Unit7>
     
    144133        <ResourceBaseClass Value="Form"/>
    145134        <UnitName Value="UMessagesForm"/>
    146         <EditorIndex Value="16"/>
    147135        <WindowIndex Value="0"/>
    148136        <TopLine Value="1"/>
    149137        <CursorPos X="7" Y="16"/>
    150         <UsageCount Value="34"/>
    151         <Loaded Value="True"/>
     138        <UsageCount Value="76"/>
    152139      </Unit8>
    153140      <Unit9>
     
    157144        <ResourceBaseClass Value="Form"/>
    158145        <UnitName Value="UCallStackForm"/>
    159         <EditorIndex Value="14"/>
    160146        <WindowIndex Value="0"/>
    161147        <TopLine Value="1"/>
    162148        <CursorPos X="12" Y="15"/>
    163         <UsageCount Value="34"/>
    164         <Loaded Value="True"/>
     149        <UsageCount Value="76"/>
    165150      </Unit9>
    166151      <Unit10>
     
    170155        <ResourceBaseClass Value="Form"/>
    171156        <UnitName Value="ULocalVariablesForm"/>
    172         <EditorIndex Value="13"/>
    173157        <WindowIndex Value="0"/>
    174158        <TopLine Value="1"/>
    175159        <CursorPos X="21" Y="4"/>
    176         <UsageCount Value="34"/>
    177         <Loaded Value="True"/>
     160        <UsageCount Value="76"/>
    178161      </Unit10>
    179162      <Unit11>
     
    183166        <ResourceBaseClass Value="Form"/>
    184167        <UnitName Value="UToDoListForm"/>
    185         <EditorIndex Value="12"/>
    186168        <WindowIndex Value="0"/>
    187169        <TopLine Value="1"/>
    188170        <CursorPos X="12" Y="16"/>
    189         <UsageCount Value="34"/>
    190         <Loaded Value="True"/>
     171        <UsageCount Value="76"/>
    191172      </Unit11>
    192173      <Unit12>
     
    196177        <ResourceBaseClass Value="Form"/>
    197178        <UnitName Value="UWatchListForm"/>
    198         <EditorIndex Value="11"/>
    199179        <WindowIndex Value="0"/>
    200180        <TopLine Value="1"/>
    201181        <CursorPos X="12" Y="17"/>
    202         <UsageCount Value="34"/>
    203         <Loaded Value="True"/>
     182        <UsageCount Value="76"/>
    204183      </Unit12>
    205184      <Unit13>
     
    209188        <ResourceBaseClass Value="Form"/>
    210189        <UnitName Value="UThreadStatusForm"/>
    211         <EditorIndex Value="10"/>
    212190        <WindowIndex Value="0"/>
    213191        <TopLine Value="1"/>
    214192        <CursorPos X="12" Y="16"/>
    215         <UsageCount Value="34"/>
    216         <Loaded Value="True"/>
     193        <UsageCount Value="76"/>
    217194      </Unit13>
    218195      <Unit14>
     
    222199        <ResourceBaseClass Value="Form"/>
    223200        <UnitName Value="USourceEditorForm"/>
    224         <EditorIndex Value="2"/>
    225201        <WindowIndex Value="0"/>
    226202        <TopLine Value="1"/>
    227203        <CursorPos X="41" Y="17"/>
    228         <UsageCount Value="32"/>
    229         <Loaded Value="True"/>
     204        <UsageCount Value="74"/>
    230205      </Unit14>
    231206      <Unit15>
    232207        <Filename Value="..\..\UCoolDocking.pas"/>
    233208        <UnitName Value="UCoolDocking"/>
    234         <EditorIndex Value="3"/>
    235         <WindowIndex Value="0"/>
    236         <TopLine Value="798"/>
    237         <CursorPos X="1" Y="807"/>
    238         <UsageCount Value="15"/>
     209        <EditorIndex Value="0"/>
     210        <WindowIndex Value="0"/>
     211        <TopLine Value="1"/>
     212        <CursorPos X="50" Y="179"/>
     213        <UsageCount Value="36"/>
    239214        <Loaded Value="True"/>
    240215      </Unit15>
     
    243218        <UnitName Value="UCoolDockLayout"/>
    244219        <IsVisibleTab Value="True"/>
    245         <EditorIndex Value="5"/>
    246         <WindowIndex Value="0"/>
    247         <TopLine Value="166"/>
    248         <CursorPos X="21" Y="182"/>
    249         <UsageCount Value="15"/>
     220        <EditorIndex Value="6"/>
     221        <WindowIndex Value="0"/>
     222        <TopLine Value="376"/>
     223        <CursorPos X="1" Y="383"/>
     224        <UsageCount Value="36"/>
    250225        <Loaded Value="True"/>
    251226      </Unit16>
    252227      <Unit17>
    253228        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classesh.inc"/>
    254         <WindowIndex Value="0"/>
    255         <TopLine Value="1643"/>
    256         <CursorPos X="42" Y="1651"/>
    257         <UsageCount Value="14"/>
     229        <EditorIndex Value="11"/>
     230        <WindowIndex Value="0"/>
     231        <TopLine Value="1638"/>
     232        <CursorPos X="17" Y="1651"/>
     233        <UsageCount Value="12"/>
     234        <Loaded Value="True"/>
    258235      </Unit17>
    259236      <Unit18>
     
    263240        <TopLine Value="70"/>
    264241        <CursorPos X="21" Y="83"/>
    265         <UsageCount Value="14"/>
     242        <UsageCount Value="10"/>
    266243      </Unit18>
    267244      <Unit19>
     
    270247        <TopLine Value="220"/>
    271248        <CursorPos X="16" Y="233"/>
    272         <UsageCount Value="14"/>
     249        <UsageCount Value="10"/>
    273250      </Unit19>
    274251      <Unit20>
    275252        <Filename Value="..\..\URectangle.pas"/>
    276253        <UnitName Value="URectangle"/>
    277         <EditorIndex Value="9"/>
    278         <WindowIndex Value="0"/>
    279         <TopLine Value="20"/>
    280         <CursorPos X="52" Y="33"/>
    281         <UsageCount Value="15"/>
    282         <Loaded Value="True"/>
     254        <WindowIndex Value="0"/>
     255        <TopLine Value="90"/>
     256        <CursorPos X="61" Y="104"/>
     257        <UsageCount Value="31"/>
    283258      </Unit20>
    284259      <Unit21>
     
    288263        <TopLine Value="34"/>
    289264        <CursorPos X="11" Y="47"/>
    290         <UsageCount Value="14"/>
     265        <UsageCount Value="10"/>
    291266      </Unit21>
    292267      <Unit22>
     
    299274        <TopLine Value="25"/>
    300275        <CursorPos X="7" Y="48"/>
    301         <UsageCount Value="12"/>
     276        <UsageCount Value="8"/>
    302277      </Unit22>
    303278      <Unit23>
    304279        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\forms.pp"/>
    305280        <UnitName Value="Forms"/>
    306         <WindowIndex Value="0"/>
    307         <TopLine Value="362"/>
    308         <CursorPos X="3" Y="378"/>
    309         <UsageCount Value="11"/>
     281        <EditorIndex Value="8"/>
     282        <WindowIndex Value="0"/>
     283        <TopLine Value="776"/>
     284        <CursorPos X="3" Y="789"/>
     285        <UsageCount Value="13"/>
     286        <Loaded Value="True"/>
    310287      </Unit23>
    311288      <Unit24>
     
    315292        <TopLine Value="835"/>
    316293        <CursorPos X="3" Y="837"/>
    317         <UsageCount Value="11"/>
     294        <UsageCount Value="7"/>
    318295      </Unit24>
    319296      <Unit25>
    320297        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\customcombobox.inc"/>
    321         <EditorIndex Value="1"/>
    322298        <WindowIndex Value="0"/>
    323299        <TopLine Value="913"/>
    324300        <CursorPos X="1" Y="930"/>
    325         <UsageCount Value="12"/>
    326         <Loaded Value="True"/>
     301        <UsageCount Value="29"/>
    327302      </Unit25>
    328303      <Unit26>
     
    331306        <TopLine Value="91"/>
    332307        <CursorPos X="1" Y="104"/>
    333         <UsageCount Value="10"/>
     308        <UsageCount Value="6"/>
    334309      </Unit26>
    335310      <Unit27>
     
    338313        <TopLine Value="239"/>
    339314        <CursorPos X="1" Y="252"/>
    340         <UsageCount Value="10"/>
     315        <UsageCount Value="6"/>
    341316      </Unit27>
    342317      <Unit28>
    343318        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\controls.pp"/>
    344319        <UnitName Value="Controls"/>
    345         <WindowIndex Value="0"/>
    346         <TopLine Value="1423"/>
    347         <CursorPos X="44" Y="1431"/>
    348         <UsageCount Value="10"/>
     320        <EditorIndex Value="9"/>
     321        <WindowIndex Value="0"/>
     322        <TopLine Value="2000"/>
     323        <CursorPos X="22" Y="2013"/>
     324        <UsageCount Value="13"/>
     325        <Loaded Value="True"/>
    349326      </Unit28>
    350327      <Unit29>
    351328        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\wincontrol.inc"/>
    352329        <WindowIndex Value="0"/>
    353         <TopLine Value="7811"/>
    354         <CursorPos X="20" Y="7829"/>
    355         <UsageCount Value="10"/>
     330        <TopLine Value="6327"/>
     331        <CursorPos X="18" Y="6332"/>
     332        <UsageCount Value="11"/>
    356333      </Unit29>
    357334      <Unit30>
    358335        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\toolbutton.inc"/>
    359         <EditorIndex Value="21"/>
    360336        <WindowIndex Value="0"/>
    361337        <TopLine Value="751"/>
    362338        <CursorPos X="1" Y="764"/>
    363         <UsageCount Value="10"/>
    364         <Loaded Value="True"/>
     339        <UsageCount Value="30"/>
    365340      </Unit30>
    366341      <Unit31>
     
    370345        <ResourceBaseClass Value="Form"/>
    371346        <UnitName Value="UCoolDockCustomize"/>
    372         <EditorIndex Value="7"/>
    373         <WindowIndex Value="0"/>
    374         <TopLine Value="72"/>
    375         <CursorPos X="1" Y="81"/>
    376         <UsageCount Value="10"/>
    377         <Loaded Value="True"/>
    378         <LoadedDesigner Value="True"/>
     347        <EditorIndex Value="4"/>
     348        <WindowIndex Value="0"/>
     349        <TopLine Value="36"/>
     350        <CursorPos X="3" Y="49"/>
     351        <UsageCount Value="31"/>
     352        <Loaded Value="True"/>
    379353      </Unit31>
    380354      <Unit32>
    381355        <Filename Value="..\..\UCoolDockCommon.pas"/>
    382356        <UnitName Value="UCoolDockCommon"/>
    383         <EditorIndex Value="6"/>
    384         <WindowIndex Value="0"/>
    385         <TopLine Value="1"/>
    386         <CursorPos X="1" Y="12"/>
    387         <UsageCount Value="10"/>
     357        <EditorIndex Value="7"/>
     358        <WindowIndex Value="0"/>
     359        <TopLine Value="1"/>
     360        <CursorPos X="14" Y="33"/>
     361        <UsageCount Value="28"/>
    388362        <Loaded Value="True"/>
    389363      </Unit32>
     
    391365        <Filename Value="..\..\UCoolDockPopupMenu.pas"/>
    392366        <UnitName Value="UCoolDockPopupMenu"/>
    393         <EditorIndex Value="4"/>
    394         <WindowIndex Value="0"/>
    395         <TopLine Value="1"/>
    396         <CursorPos X="38" Y="9"/>
    397         <UsageCount Value="10"/>
     367        <EditorIndex Value="3"/>
     368        <WindowIndex Value="0"/>
     369        <TopLine Value="29"/>
     370        <CursorPos X="55" Y="37"/>
     371        <UsageCount Value="30"/>
    398372        <Loaded Value="True"/>
    399373      </Unit33>
     
    401375        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\dialogs.pp"/>
    402376        <UnitName Value="Dialogs"/>
    403         <EditorIndex Value="8"/>
    404377        <WindowIndex Value="0"/>
    405378        <TopLine Value="503"/>
    406379        <CursorPos X="10" Y="516"/>
     380        <UsageCount Value="26"/>
     381      </Unit34>
     382      <Unit35>
     383        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\compon.inc"/>
     384        <WindowIndex Value="0"/>
     385        <TopLine Value="539"/>
     386        <CursorPos X="3" Y="544"/>
     387        <UsageCount Value="9"/>
     388      </Unit35>
     389      <Unit36>
     390        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\scrollingwincontrol.inc"/>
     391        <WindowIndex Value="0"/>
     392        <TopLine Value="224"/>
     393        <CursorPos X="29" Y="238"/>
     394        <UsageCount Value="12"/>
     395      </Unit36>
     396      <Unit37>
     397        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classes.inc"/>
     398        <WindowIndex Value="0"/>
     399        <TopLine Value="7"/>
     400        <CursorPos X="3" Y="20"/>
     401        <UsageCount Value="11"/>
     402      </Unit37>
     403      <Unit38>
     404        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\cregist.inc"/>
     405        <WindowIndex Value="0"/>
     406        <TopLine Value="79"/>
     407        <CursorPos X="14" Y="82"/>
    407408        <UsageCount Value="10"/>
    408         <Loaded Value="True"/>
    409       </Unit34>
     409      </Unit38>
     410      <Unit39>
     411        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\lclclasses.pp"/>
     412        <UnitName Value="LCLClasses"/>
     413        <EditorIndex Value="10"/>
     414        <WindowIndex Value="0"/>
     415        <TopLine Value="32"/>
     416        <CursorPos X="20" Y="45"/>
     417        <UsageCount Value="11"/>
     418        <Loaded Value="True"/>
     419      </Unit39>
     420      <Unit40>
     421        <Filename Value="..\..\UCoolDockStyle.pas"/>
     422        <UnitName Value="UCoolDockStyle"/>
     423        <EditorIndex Value="2"/>
     424        <WindowIndex Value="0"/>
     425        <TopLine Value="1"/>
     426        <CursorPos X="1" Y="1"/>
     427        <UsageCount Value="10"/>
     428        <Loaded Value="True"/>
     429      </Unit40>
     430      <Unit41>
     431        <Filename Value="..\..\UCoolDockClientPanel.pas"/>
     432        <UnitName Value="UCoolDockClientPanel"/>
     433        <EditorIndex Value="1"/>
     434        <WindowIndex Value="0"/>
     435        <TopLine Value="1"/>
     436        <CursorPos X="6" Y="1"/>
     437        <UsageCount Value="10"/>
     438        <Loaded Value="True"/>
     439      </Unit41>
    410440    </Units>
    411441    <JumpHistory Count="30" HistoryIndex="29">
    412442      <Position1>
    413         <Filename Value="..\..\UCoolDockPopupMenu.pas"/>
    414         <Caret Line="1" Column="1" TopLine="1"/>
     443        <Filename Value="..\..\UCoolDockLayout.pas"/>
     444        <Caret Line="390" Column="27" TopLine="377"/>
    415445      </Position1>
    416446      <Position2>
    417         <Filename Value="..\..\UCoolDocking.pas"/>
    418         <Caret Line="804" Column="16" TopLine="798"/>
     447        <Filename Value="..\..\UCoolDockLayout.pas"/>
     448        <Caret Line="382" Column="1" TopLine="377"/>
    419449      </Position2>
    420450      <Position3>
    421         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    422         <Caret Line="17" Column="7" TopLine="4"/>
     451        <Filename Value="..\..\UCoolDockLayout.pas"/>
     452        <Caret Line="383" Column="1" TopLine="377"/>
    423453      </Position3>
    424454      <Position4>
    425         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    426         <Caret Line="18" Column="16" TopLine="4"/>
     455        <Filename Value="..\..\UCoolDockLayout.pas"/>
     456        <Caret Line="391" Column="1" TopLine="377"/>
    427457      </Position4>
    428458      <Position5>
    429         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    430         <Caret Line="61" Column="51" TopLine="37"/>
     459        <Filename Value="..\..\UCoolDockLayout.pas"/>
     460        <Caret Line="392" Column="1" TopLine="377"/>
    431461      </Position5>
    432462      <Position6>
    433         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    434         <Caret Line="57" Column="66" TopLine="45"/>
     463        <Filename Value="..\..\UCoolDockLayout.pas"/>
     464        <Caret Line="398" Column="1" TopLine="377"/>
    435465      </Position6>
    436466      <Position7>
    437         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    438         <Caret Line="65" Column="42" TopLine="52"/>
     467        <Filename Value="..\..\UCoolDockLayout.pas"/>
     468        <Caret Line="399" Column="1" TopLine="378"/>
    439469      </Position7>
    440470      <Position8>
    441         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    442         <Caret Line="76" Column="57" TopLine="55"/>
     471        <Filename Value="..\..\UCoolDockLayout.pas"/>
     472        <Caret Line="382" Column="1" TopLine="377"/>
    443473      </Position8>
    444474      <Position9>
    445         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    446         <Caret Line="3185" Column="33" TopLine="3176"/>
     475        <Filename Value="..\..\UCoolDockLayout.pas"/>
     476        <Caret Line="383" Column="1" TopLine="377"/>
    447477      </Position9>
    448478      <Position10>
    449         <Filename Value="UMainForm.pas"/>
    450         <Caret Line="2" Column="44" TopLine="1"/>
     479        <Filename Value="..\..\UCoolDockLayout.pas"/>
     480        <Caret Line="384" Column="1" TopLine="377"/>
    451481      </Position10>
    452482      <Position11>
    453         <Filename Value="..\..\UCoolDocking.pas"/>
    454         <Caret Line="800" Column="3" TopLine="798"/>
     483        <Filename Value="..\..\UCoolDockLayout.pas"/>
     484        <Caret Line="391" Column="77" TopLine="377"/>
    455485      </Position11>
    456486      <Position12>
    457         <Filename Value="..\..\UCoolDocking.pas"/>
    458         <Caret Line="805" Column="1" TopLine="798"/>
     487        <Filename Value="..\..\UCoolDockLayout.pas"/>
     488        <Caret Line="382" Column="1" TopLine="377"/>
    459489      </Position12>
    460490      <Position13>
    461         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    462         <Caret Line="57" Column="82" TopLine="56"/>
     491        <Filename Value="..\..\UCoolDockLayout.pas"/>
     492        <Caret Line="391" Column="1" TopLine="377"/>
    463493      </Position13>
    464494      <Position14>
    465         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    466         <Caret Line="74" Column="14" TopLine="70"/>
     495        <Filename Value="..\..\UCoolDockLayout.pas"/>
     496        <Caret Line="392" Column="1" TopLine="377"/>
    467497      </Position14>
    468498      <Position15>
    469         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    470         <Caret Line="52" Column="37" TopLine="27"/>
     499        <Filename Value="..\..\UCoolDockLayout.pas"/>
     500        <Caret Line="366" Column="1" TopLine="353"/>
    471501      </Position15>
    472502      <Position16>
    473         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    474         <Caret Line="76" Column="1" TopLine="70"/>
     503        <Filename Value="..\..\UCoolDockLayout.pas"/>
     504        <Caret Line="367" Column="1" TopLine="353"/>
    475505      </Position16>
    476506      <Position17>
    477         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    478         <Caret Line="93" Column="2" TopLine="88"/>
     507        <Filename Value="..\..\UCoolDockLayout.pas"/>
     508        <Caret Line="372" Column="1" TopLine="359"/>
    479509      </Position17>
    480510      <Position18>
    481         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    482         <Caret Line="51" Column="1" TopLine="31"/>
     511        <Filename Value="..\..\UCoolDockLayout.pas"/>
     512        <Caret Line="374" Column="1" TopLine="359"/>
    483513      </Position18>
    484514      <Position19>
    485         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    486         <Caret Line="79" Column="30" TopLine="66"/>
     515        <Filename Value="..\..\UCoolDockLayout.pas"/>
     516        <Caret Line="376" Column="1" TopLine="362"/>
    487517      </Position19>
    488518      <Position20>
    489         <Filename Value="UMainForm.pas"/>
    490         <Caret Line="2" Column="54" TopLine="1"/>
     519        <Filename Value="..\..\UCoolDockLayout.pas"/>
     520        <Caret Line="377" Column="1" TopLine="362"/>
    491521      </Position20>
    492522      <Position21>
    493         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    494         <Caret Line="71" Column="3" TopLine="66"/>
     523        <Filename Value="..\..\UCoolDockLayout.pas"/>
     524        <Caret Line="378" Column="1" TopLine="362"/>
    495525      </Position21>
    496526      <Position22>
    497         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    498         <Caret Line="81" Column="24" TopLine="74"/>
     527        <Filename Value="..\..\UCoolDockLayout.pas"/>
     528        <Caret Line="376" Column="21" TopLine="374"/>
    499529      </Position22>
    500530      <Position23>
    501         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    502         <Caret Line="44" Column="27" TopLine="31"/>
     531        <Filename Value="..\..\UCoolDockLayout.pas"/>
     532        <Caret Line="383" Column="1" TopLine="374"/>
    503533      </Position23>
    504534      <Position24>
    505535        <Filename Value="..\..\UCoolDockLayout.pas"/>
    506         <Caret Line="54" Column="55" TopLine="41"/>
     536        <Caret Line="392" Column="1" TopLine="374"/>
    507537      </Position24>
    508538      <Position25>
    509539        <Filename Value="..\..\UCoolDockLayout.pas"/>
    510         <Caret Line="178" Column="14" TopLine="176"/>
     540        <Caret Line="400" Column="1" TopLine="387"/>
    511541      </Position25>
    512542      <Position26>
    513         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    514         <Caret Line="44" Column="27" TopLine="72"/>
     543        <Filename Value="..\..\UCoolDockLayout.pas"/>
     544        <Caret Line="383" Column="1" TopLine="370"/>
    515545      </Position26>
    516546      <Position27>
    517         <Filename Value="..\..\UCoolDockCustomize.pas"/>
    518         <Caret Line="81" Column="1" TopLine="72"/>
     547        <Filename Value="..\..\UCoolDockLayout.pas"/>
     548        <Caret Line="384" Column="1" TopLine="370"/>
    519549      </Position27>
    520550      <Position28>
    521551        <Filename Value="..\..\UCoolDockLayout.pas"/>
    522         <Caret Line="179" Column="1" TopLine="166"/>
     552        <Caret Line="399" Column="1" TopLine="386"/>
    523553      </Position28>
    524554      <Position29>
    525555        <Filename Value="..\..\UCoolDockLayout.pas"/>
    526         <Caret Line="180" Column="1" TopLine="166"/>
     556        <Caret Line="400" Column="1" TopLine="386"/>
    527557      </Position29>
    528558      <Position30>
    529559        <Filename Value="..\..\UCoolDockLayout.pas"/>
    530         <Caret Line="181" Column="1" TopLine="166"/>
     560        <Caret Line="402" Column="1" TopLine="386"/>
    531561      </Position30>
    532562    </JumpHistory>
     
    554584  </CompilerOptions>
    555585  <Debugging>
    556     <BreakPoints Count="1">
    557       <Item1>
    558         <Source Value="..\..\UCoolDockCustomize.pas"/>
    559         <Line Value="81"/>
    560       </Item1>
    561     </BreakPoints>
    562586    <Exceptions Count="3">
    563587      <Item1>
  • Docking/CoolDocking/Demo/IDE/UMainForm.lfm

    r180 r181  
    44  Top = 130
    55  Width = 626
    6   Caption = 'CoolDocking IDE'
     6  Caption = 'CoolDocking Demo IDE'
    77  ClientHeight = 426
    88  ClientWidth = 626
  • Docking/CoolDocking/Demo/IDE/UMainForm.pas

    r180 r181  
    1010  UToolPaletteForm, UObjectInspectorForm, UProjectManagerForm, UStructureForm,
    1111  UMessagesForm, UCallStackForm, ULocalVariablesForm, UToDoListForm,
    12   UWatchListForm, UThreadStatusForm, USourceEditorForm, UCoolDockWindowList;
     12  UWatchListForm, UThreadStatusForm, USourceEditorForm, UCoolDockWindowList,
     13  UCoolDockCustomize;
    1314
    1415const
  • Docking/CoolDocking/UCoolDockCommon.pas

    r180 r181  
    66
    77uses
    8   Classes, SysUtils;
     8  Classes, SysUtils, Forms;
    99
    1010type
    1111  TDockStyle = (dsList, dsTabs, dsPopupTabs, dsPopupList);
    1212
     13  TCoolDockMasterBase = class;
     14
     15
     16  TCoolDockConjoinFormBase = class(TForm)
     17    constructor Create(TheOwner: TComponent); override;
     18  end;
     19
     20  TCoolDockCustomizeBase = class(TComponent)
     21  private
     22    FMaster: TCoolDockMasterBase;
     23    procedure SetMaster(const AValue: TCoolDockMasterBase);
     24  published
     25    property Master: TCoolDockMasterBase read FMaster write SetMaster;
     26  end;
     27
     28  TCoolDockMasterBase = class(TComponent)
     29  private
     30    FCoolDockCustomize: TCoolDockCustomizeBase;
     31    procedure SetCustomize(const AValue: TCoolDockCustomizeBase);
     32  published
     33    property Customize: TCoolDockCustomizeBase read FCoolDockCustomize
     34      write SetCustomize;
     35  end;
    1336
    1437implementation
    1538
     39{ TCoolDockConjoinFormBase }
     40
     41constructor TCoolDockConjoinFormBase.Create(TheOwner: TComponent);
     42begin
     43  inherited Create(TheOwner);
     44end;
     45
     46procedure TCoolDockCustomizeBase.SetMaster(const AValue: TCoolDockMasterBase);
     47var
     48  OldMaster: TCoolDockMasterBase;
     49begin
     50  if FMaster = AValue then Exit;
     51  OldMaster := FMaster;
     52  FMaster := AValue;
     53  if Assigned(AValue) then begin
     54    FMaster.Customize := Self;
     55  end else begin
     56    OldMaster.Customize := nil;
     57  end;
     58end;
     59
     60procedure TCoolDockMasterBase.SetCustomize(const AValue: TCoolDockCustomizeBase
     61  );
     62var
     63  OldCustomize: TCoolDockCustomizeBase;
     64begin
     65  if FCoolDockCustomize = AValue then Exit;
     66  OldCustomize := FCoolDockCustomize;
     67  FCoolDockCustomize := AValue;
     68  if Assigned(AValue) then begin
     69    FCoolDockCustomize.Master := Self;
     70  end else begin
     71    OldCustomize.Master := nil;
     72  end;
     73end;
     74
     75
    1676end.
    1777
  • Docking/CoolDocking/UCoolDockCustomize.pas

    r180 r181  
    77uses
    88  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
    9   ComCtrls, StdCtrls, Spin, UCoolDockLayout;
     9  ComCtrls, StdCtrls, Spin, UCoolDockLayout, UCoolDockCommon;
    1010
    1111type
     
    4545  end;
    4646
     47  { TCoolDockCustomize }
     48
     49  TCoolDockCustomize = class(TCoolDockCustomizeBase)
     50  private
     51    FLayoutList: TCoolDockLayoutList;
     52    Form: TCoolDockCustomizeForm;
     53    procedure SetLayoutList(const AValue: TCoolDockLayoutList);
     54  public
     55    function Execute: Boolean;
     56    constructor Create(AOwner: TComponent); override;
     57    destructor Destroy; override;
     58  published
     59    property LayoutList: TCoolDockLayoutList read FLayoutList write SetLayoutList;
     60  end;
     61
     62
    4763implementation
     64
     65uses
     66  UCoolDocking, UCoolDockClientPanel;
    4867
    4968resourcestring
     
    115134end;
    116135
     136
     137{ TCoolDockCustomize }
     138
     139procedure TCoolDockCustomize.SetLayoutList(const AValue: TCoolDockLayoutList);
     140begin
     141  if FLayoutList=AValue then exit;
     142  FLayoutList:=AValue;
     143end;
     144
     145function TCoolDockCustomize.Execute: Boolean;
     146begin
     147  Form := TCoolDockCustomizeForm.Create(Self);
     148  if Assigned(Master) then begin
     149    Form.SpinEdit1.Value := TCoolDockMaster(Master).DefaultMoveSpeed;
     150    Form.ComboBox1.ItemIndex := Integer(TCoolDockMaster(Master).DefaultTabsPos);
     151    Form.ComboBox2.ItemIndex := Integer(TCoolDockMaster(Master).DefaultHeaderPos);
     152    Form.LayoutList := FLayoutList;
     153  end;
     154  Form.ShowModal;
     155  if Assigned(Master) then begin
     156    TCoolDockMaster(Master).DefaultMoveSpeed := Form.SpinEdit1.Value;
     157    TCoolDockMaster(Master).DefaultTabsPos := THeaderPos(Form.ComboBox1.ItemIndex);
     158    TCoolDockMaster(Master).DefaultHeaderPos := THeaderPos(Form.ComboBox2.ItemIndex);
     159  end;
     160  Form.Free;
     161  Result := True;
     162end;
     163
     164constructor TCoolDockCustomize.Create(AOwner: TComponent);
     165begin
     166  inherited Create(AOwner);
     167end;
     168
     169destructor TCoolDockCustomize.Destroy;
     170begin
     171  Master := nil;
     172  inherited Destroy;
     173end;
     174
     175
    117176initialization
    118177  {$I UCoolDockCustomize.lrs}
  • Docking/CoolDocking/UCoolDockLayout.pas

    r180 r181  
    77uses
    88  Classes, SysUtils, FileUtil, Contnrs, URectangle, Forms, UCoolDockCommon,
    9   DOM, XMLWrite, XMLRead;
     9  DOM, XMLWrite, XMLRead, Controls;
    1010
    1111type
     12  TCoolDockLayout = class;
    1213
    1314  { TCoolDockLayoutItem }
    1415
    1516  TCoolDockLayoutItem = class
     17    Parent: TCoolDockLayout;
    1618    Name: string;
     19    StoredClassName: string;
    1720    ParentName: string;
     21    HostDockSiteName: string;
    1822    Caption: string;
    1923    Visible: Boolean;
     
    2529    procedure SaveToNode(Node: TDOMNode);
    2630    procedure LoadFromNode(Node: TDOMNode);
     31    procedure Store(Form: TWinControl);
     32    procedure Restore(Form: TWinControl);
    2733    constructor Create;
    2834    destructor Destroy; override;
     
    3642    procedure SaveToNode(Node: TDOMNode);
    3743    procedure LoadFromNode(Node: TDOMNode);
     44    function FindByName(Name: string): TCoolDockLayoutItem;
    3845    constructor Create;
    3946    destructor Destroy; override;
     
    6067
    6168implementation
     69
     70uses
     71  UCoolDocking;
    6272
    6373procedure Register;
     
    180190  I := 0;
    181191  while (I < Items.Count) and (TCoolDockLayout(Items[I]).Name <> Name) do Inc(I);
    182   if I < Items.Count then Result := TCoolDockLayout(Items[I]) else Result := nil;
     192  if I < Items.Count then Result := TCoolDockLayout(Items[I])
     193    else Result := nil;
    183194end;
    184195
     
    196207    NewNode.TextContent := UTF8Decode(ParentName);
    197208    AppendChild(NewNode);
     209    NewNode := OwnerDocument.CreateElement('StoredClassName');
     210    NewNode.TextContent := UTF8Decode(StoredClassName);
     211    AppendChild(NewNode);
     212    NewNode := OwnerDocument.CreateElement('HostDockSiteName');
     213    NewNode.TextContent := UTF8Decode(HostDockSiteName);
     214    AppendChild(NewNode);
    198215    NewNode := OwnerDocument.CreateElement('Caption');
    199216    NewNode.TextContent := UTF8Decode(Caption);
     
    252269    if Assigned(NewNode) then
    253270      ParentName := UTF8Encode(NewNode.TextContent);
     271    NewNode := FindNode('StoredClassName');
     272    if Assigned(NewNode) then
     273      StoredClassName := UTF8Encode(NewNode.TextContent);
     274    NewNode := FindNode('HostDockSiteName');
     275    if Assigned(NewNode) then
     276      HostDockSiteName := UTF8Encode(NewNode.TextContent);
    254277    NewNode := FindNode('Caption');
    255278    if Assigned(NewNode) then
     
    294317    if Assigned(NewNode) then
    295318      RestoredRect.Height := StrToInt(NewNode.TextContent);
     319  end;
     320end;
     321
     322procedure TCoolDockLayoutItem.Store(Form: TWinControl);
     323var
     324  NewItem: TCoolDockLayoutItem;
     325begin
     326  Name := Form.Name;
     327  StoredClassName := Form.ClassName;
     328  Caption := Form.Caption;
     329  UndockSize.X := Form.UndockWidth;
     330  UndockSize.Y := Form.UndockHeight;
     331  Visible := Form.Visible;
     332  Rect.Left := Form.Left;
     333  Rect.Top := Form.Top;
     334  Rect.Width := Form.Width;
     335  Rect.Height := Form.Height;
     336  if Form is TForm then begin
     337    RestoredRect.Left := TForm(Form).RestoredLeft;
     338    RestoredRect.Top := TForm(Form).RestoredTop;
     339    RestoredRect.Width := TForm(Form).RestoredWidth;
     340    RestoredRect.Height := TForm(Form).RestoredHeight;
     341    WindowState := TForm(Form).WindowState;
     342  end;
     343  if Assigned(Form.Parent) then
     344    ParentName := Form.Parent.Name
     345    else ParentName := '';
     346  if Assigned(Form.HostDockSite) then begin
     347    if Assigned(Form.HostDockSite.Parent) and (Form.HostDockSite.Parent is TForm) then
     348    begin
     349      HostDockSiteName := Form.HostDockSite.Parent.Name;
     350      if not Assigned(Parent.FindByName(HostDockSiteName)) then begin
     351        NewItem := TCoolDockLayoutItem.Create;
     352        NewItem.Parent := Parent;
     353        NewItem.Store(Form.HostDockSite.Parent);
     354        Parent.Items.Add(NewItem);
     355      end;
     356    end;
     357  end else HostDockSiteName := '';
     358end;
     359
     360procedure TCoolDockLayoutItem.Restore(Form: TWinControl);
     361var
     362  ParentComponent: TComponent;
     363  ParentLayoutItem: TCoolDockLayoutItem;
     364  FormClass: TFormClass;
     365begin
     366  if Form is TForm then
     367  if WindowState = wsMaximized then begin
     368    TForm(Form).SetRestoredBounds(RestoredRect.Left, RestoredRect.Top,
     369      RestoredRect.Width, RestoredRect.Height);
     370    TForm(Form).WindowState := WindowState;
     371  end else begin
     372    TForm(Form).WindowState := WindowState;
     373    TForm(Form).SetRestoredBounds(RestoredRect.Left, RestoredRect.Top,
     374      RestoredRect.Width, RestoredRect.Height);
     375  end;
     376  Form.Name := Name;
     377  Form.Caption := Caption;
     378  Form.SetBounds(Rect.Left, Rect.Top, Rect.Width, Rect.Height);
     379  Form.UndockWidth := UndockSize.X;
     380  Form.UndockHeight := UndockSize.Y;
     381  Form.Visible := Visible;
     382  if HostDockSiteName <> '' then begin
     383    ParentComponent := FindGlobalComponent(HostDockSiteName);
     384    if not Assigned(ParentComponent) then begin
     385      ParentLayoutItem := Parent.FindByName(HostDockSiteName);
     386      if Assigned(ParentLayoutItem) then begin
     387        if ParentLayoutItem.StoredClassName <> '' then begin
     388          //ParentComponent := TComponent(FindClass(ParentLayoutItem.StoredClassName).Create);
     389          if (ParentLayoutItem.StoredClassName = 'TCoolDockConjoinForm') then begin
     390            FormClass := TFormClass(FindClass('TCoolDockConjoinForm'));
     391            if FormClass = TCoolDockConjoinForm then begin
     392              ParentComponent := TCoolDockConjoinForm.Create(Application);
     393              ParentLayoutItem.Restore(TWinControl(ParentComponent));
     394            end;
     395          end;
     396        end;
     397      end;
     398    end;
     399    if Assigned(ParentComponent) and (ParentComponent is TCoolDockConjoinForm) then
     400      Form.ManualDock(TCoolDockConjoinForm(ParentComponent).Panel);
    296401  end;
    297402end;
     
    349454      while Assigned(Child) do begin
    350455        NewItem := TCoolDockLayoutItem.Create;
     456        NewItem.Parent := Self;
    351457        NewItem.LoadFromNode(Child);
    352458        Items.Add(NewItem);
     
    357463end;
    358464
     465function TCoolDockLayout.FindByName(Name: string): TCoolDockLayoutItem;
     466var
     467  I: Integer;
     468begin
     469  I := 0;
     470  while (I < Items.Count) and (TCoolDockLayoutItem(Items[I]).Name <> Name) do Inc(I);
     471  if I < Items.Count then Result := TCoolDockLayoutItem(Items[I])
     472    else Result := nil;
     473end;
     474
    359475constructor TCoolDockLayout.Create;
    360476begin
     
    379495    Form := (Application.Components[I] as TForm);
    380496    NewItem := TCoolDockLayoutItem.Create;
    381     NewItem.Name := Form.Name;
    382     NewItem.Caption := Form.Caption;
    383     NewItem.UndockSize.X := Form.UndockWidth;
    384     NewItem.UndockSize.Y := Form.UndockHeight;
    385     NewItem.Visible := Form.Visible;
    386     NewItem.Rect.Left := Form.Left;
    387     NewItem.Rect.Top := Form.Top;
    388     NewItem.Rect.Width := Form.Width;
    389     NewItem.Rect.Height := Form.Height;
    390     NewItem.RestoredRect.Left := Form.RestoredLeft;
    391     NewItem.RestoredRect.Top := Form.RestoredTop;
    392     NewItem.RestoredRect.Width := Form.RestoredWidth;
    393     NewItem.RestoredRect.Height := Form.RestoredHeight;
    394     NewItem.WindowState := Form.WindowState;
     497    NewItem.Parent := Self;
     498    NewItem.Store(Form);
    395499    Items.Add(NewItem);
    396500  end;
     
    405509  with TCoolDockLayoutItem(Items[I]) do begin
    406510    Form := TForm(Application.FindComponent(Name));
    407     if WindowState = wsMaximized then begin
    408       Form.SetRestoredBounds(RestoredRect.Left, RestoredRect.Top,
    409         RestoredRect.Width, RestoredRect.Height);
    410       Form.WindowState := WindowState;
    411     end else begin
    412       Form.WindowState := WindowState;
    413       Form.SetRestoredBounds(RestoredRect.Left, RestoredRect.Top,
    414         RestoredRect.Width, RestoredRect.Height);
    415     end;
    416     Form.Caption := Caption;
    417     Form.SetBounds(Rect.Left, Rect.Top, Rect.Width, Rect.Height);
    418     Form.UndockWidth := UndockSize.X;
    419     Form.UndockHeight := UndockSize.Y;
    420     Form.Visible := Visible;
     511    if Assigned(Form) then Restore(Form);
    421512  end;
    422513end;
  • Docking/CoolDocking/UCoolDockPopupMenu.pas

    r180 r181  
    3535
    3636uses
    37   UCoolDocking, UCoolDockStyleTabs;
     37  UCoolDocking, UCoolDockStyleTabs, UCoolDockCustomize;
    3838
    3939resourcestring
     
    245245  if Assigned(Master) and
    246246    Assigned(Master.Customize) then
    247     Master.Customize.Execute;
     247    TCoolDockCustomize(Master.Customize).Execute;
    248248end;
    249249
  • Docking/CoolDocking/UCoolDocking.pas

    r180 r181  
    1313  DateUtils, UCoolDockStyleTabs, UCoolDockStyleRegions, UCoolDockStylePopupTabs,
    1414  UCoolDockStylePopupRegions, UCoolDockStyle, UCoolDockClientPanel,
    15   UCoolDockPopupMenu, UCoolDockLayout;
     15  UCoolDockPopupMenu;
    1616
    1717const
     
    2222
    2323  TCoolDockManager = class;
    24   TCoolDockCustomize = class;
    2524  TCoolDockClient = class;
    2625  TCoolDockMaster = class;
     
    2827  { TCoolDockConjoinForm }
    2928
    30   TCoolDockConjoinForm = class(TForm)
     29  TCoolDockConjoinForm = class(TCoolDockConjoinFormBase)
     30  public
    3131    Panel: TPanel;
    3232    CoolDockClient: TCoolDockClient;
     
    3636    destructor Destroy; override;
    3737  private
     38    procedure SetName(const NewName: TComponentName); override;
    3839    procedure PanelVisibleChange(Sender: TObject);
    3940  end;
     
    107108  { TCoolDockMaster }
    108109
    109   TCoolDockMaster = class(TComponent)
     110  TCoolDockMaster = class(TCoolDockMasterBase)
    110111  private
    111     FCoolDockCustomize: TCoolDockCustomize;
    112112    FDefaultHeaderPos: THeaderPos;
    113113    FDefaultMoveSpeed: Integer;
     
    117117    FClients: TObjectList;
    118118    function GetClient(Index: Integer): TCoolDockClient;
    119     procedure SetCustomize(const AValue: TCoolDockCustomize);
    120119    procedure SetShowIcons(const AValue: Boolean);
    121120    procedure SetTabsEnabled(const AValue: Boolean);
     
    138137    property DefaultMoveSpeed: Integer read FDefaultMoveSpeed
    139138      write FDefaultMoveSpeed;
    140     property Customize: TCoolDockCustomize read FCoolDockCustomize
    141       write SetCustomize;
    142139    property ShowIcons: Boolean read FShowIcons
    143140      write SetShowIcons;
     
    168165  end;
    169166
    170   { TCoolDockCustomize }
    171 
    172   TCoolDockCustomize = class(TComponent)
    173   private
    174     FLayoutList: TCoolDockLayoutList;
    175     FMaster: TCoolDockMaster;
    176     Form: TCoolDockCustomizeForm;
    177     procedure SetLayoutList(const AValue: TCoolDockLayoutList);
    178     procedure SetMaster(const AValue: TCoolDockMaster);
    179   public
    180     function Execute: Boolean;
    181     constructor Create(AOwner: TComponent); override;
    182     destructor Destroy; override;
    183   published
    184     property Master: TCoolDockMaster read FMaster write SetMaster;
    185     property LayoutList: TCoolDockLayoutList read FLayoutList write SetLayoutList;
    186   end;
    187167
    188168procedure Register;
     
    198178  RegisterComponents('CoolDocking', [TCoolDockClient]);
    199179  RegisterComponents('CoolDocking', [TCoolDockCustomize]);
     180end;
     181
     182function GetUniqueName(BaseName: string): string;
     183var
     184  I: Integer;
     185begin
     186  I := 1;
     187  while Assigned(FindGlobalComponent(BaseName + IntToStr(I))) do Inc(I);
     188  Result := BaseName + IntToStr(I);
    200189end;
    201190
     
    481470begin
    482471  NewConjoinDockForm := TCoolDockConjoinForm.Create(Application);
     472  NewConjoinDockForm.Name := GetUniqueName('ConjoinForm');
    483473  NewConjoinDockForm.Visible := True;
    484474  NewConjoinDockForm.BoundsRect := FDockSite.BoundsRect;
     
    566556constructor TCoolDockConjoinForm.Create(TheOwner: TComponent);
    567557begin
    568   inherited Create(TheOwner);
     558  inherited CreateNew(TheOwner);
    569559  Panel := TPanel.Create(Self);
    570560  with Panel do begin
    571561    Parent := Self;
    572     Name := Parent.Name + '_Panel';
    573562    Caption := '';
    574563    DockSite := True;
     
    582571  with CoolDockClient do begin
    583572    Panel := Self.Panel;
    584     Name := Owner.Name + '_CoolDockClient';
    585573  end;
    586574  OnShow := FormShow;
     
    596584end;
    597585
     586procedure TCoolDockConjoinForm.SetName(const NewName: TComponentName);
     587begin
     588  inherited SetName(NewName);
     589  Panel.Name := Name + '_Panel';
     590  Panel.Caption := '';
     591  CoolDockClient.Name := Name + '_CoolDockClient';
     592end;
     593
    598594procedure TCoolDockConjoinForm.PanelVisibleChange(Sender: TObject);
    599595begin
     
    607603  if FTabsEnabled = AValue then Exit;
    608604  FTabsEnabled := AValue;
    609 end;
    610 
    611 procedure TCoolDockMaster.SetCustomize(const AValue: TCoolDockCustomize
    612   );
    613 var
    614   OldCustomize: TCoolDockCustomize;
    615 begin
    616   if FCoolDockCustomize = AValue then Exit;
    617   OldCustomize := FCoolDockCustomize;
    618   FCoolDockCustomize := AValue;
    619   if Assigned(AValue) then begin
    620     FCoolDockCustomize.Master := Self;
    621   end else begin
    622     OldCustomize.Master := nil;
    623   end;
    624605end;
    625606
     
    773754  end;
    774755end;
    775 
    776 { TCoolDockCustomize }
    777 
    778 procedure TCoolDockCustomize.SetMaster(const AValue: TCoolDockMaster);
    779 var
    780   OldMaster: TCoolDockMaster;
    781 begin
    782   if FMaster = AValue then Exit;
    783   OldMaster := FMaster;
    784   FMaster := AValue;
    785   if Assigned(AValue) then begin
    786     FMaster.Customize := Self;
    787   end else begin
    788     OldMaster.Customize := nil;
    789   end;
    790 end;
    791 
    792 procedure TCoolDockCustomize.SetLayoutList(const AValue: TCoolDockLayoutList);
    793 begin
    794   if FLayoutList=AValue then exit;
    795   FLayoutList:=AValue;
    796 end;
    797 
    798 function TCoolDockCustomize.Execute: Boolean;
    799 begin
    800   Form := TCoolDockCustomizeForm.Create(Self);
    801   if Assigned(Master) then begin
    802     Form.SpinEdit1.Value := Master.DefaultMoveSpeed;
    803     Form.ComboBox1.ItemIndex := Integer(Master.DefaultTabsPos);
    804     Form.ComboBox2.ItemIndex := Integer(Master.DefaultHeaderPos);
    805     Form.LayoutList := FLayoutList;
    806   end;
    807   Form.ShowModal;
    808   if Assigned(Master) then begin
    809     Master.DefaultMoveSpeed := Form.SpinEdit1.Value;
    810     Master.DefaultTabsPos := THeaderPos(Form.ComboBox1.ItemIndex);
    811     Master.DefaultHeaderPos := THeaderPos(Form.ComboBox2.ItemIndex);
    812   end;
    813   Form.Free;
    814   Result := True;
    815 end;
    816 
    817 constructor TCoolDockCustomize.Create(AOwner: TComponent);
    818 begin
    819   inherited Create(AOwner);
    820 end;
    821 
    822 destructor TCoolDockCustomize.Destroy;
    823 begin
    824   Master := nil;
    825   inherited Destroy;
    826 end;
    827 
    828756
    829757{ TCoolDockClient }
     
    916844end;
    917845
     846initialization
     847
     848RegisterClass(TCoolDockConjoinForm);
     849
     850finalization
     851
     852UnRegisterClass(TCoolDockConjoinForm);
     853
    918854
    919855end.
Note: See TracChangeset for help on using the changeset viewer.