Changeset 194 for Docking


Ignore:
Timestamp:
Mar 11, 2011, 1:00:06 PM (14 years ago)
Author:
george
Message:
  • Removed: UCDClientPanel replaced by TCDManagerItem and it's descendend.
Location:
Docking/CoolDocking
Files:
1 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • Docking/CoolDocking/CoolDocking.lpk

    r193 r194  
    2727    <License Value="GNU/GPL"/>
    2828    <Version Minor="3"/>
    29     <Files Count="16">
     29    <Files Count="15">
    3030      <Item1>
    3131        <Filename Value="UCDClient.pas"/>
     
    6363      </Item8>
    6464      <Item9>
    65         <Filename Value="UCDClientPanel.pas"/>
    66         <UnitName Value="UCDClientPanel"/>
     65        <Filename Value="UCDPopupMenu.pas"/>
     66        <UnitName Value="UCDPopupMenu"/>
    6767      </Item9>
    6868      <Item10>
    69         <Filename Value="UCDPopupMenu.pas"/>
    70         <UnitName Value="UCDPopupMenu"/>
    71       </Item10>
    72       <Item11>
    7369        <Filename Value="UCDLayout.pas"/>
    7470        <HasRegisterProc Value="True"/>
    7571        <UnitName Value="UCDLayout"/>
     72      </Item10>
     73      <Item11>
     74        <Filename Value="URectangle.pas"/>
     75        <UnitName Value="URectangle"/>
    7676      </Item11>
    7777      <Item12>
    78         <Filename Value="URectangle.pas"/>
    79         <UnitName Value="URectangle"/>
     78        <Filename Value="UCDCommon.pas"/>
     79        <UnitName Value="UCDCommon"/>
    8080      </Item12>
    8181      <Item13>
    82         <Filename Value="UCDCommon.pas"/>
    83         <UnitName Value="UCDCommon"/>
     82        <Filename Value="UCDManager.pas"/>
     83        <UnitName Value="UCDManager"/>
    8484      </Item13>
    8585      <Item14>
    86         <Filename Value="UCDManager.pas"/>
    87         <UnitName Value="UCDManager"/>
     86        <Filename Value="UCDConjoinForm.pas"/>
     87        <UnitName Value="UCDConjoinForm"/>
    8888      </Item14>
    8989      <Item15>
    90         <Filename Value="UCDConjoinForm.pas"/>
    91         <UnitName Value="UCDConjoinForm"/>
    92       </Item15>
    93       <Item16>
    9490        <Filename Value="UCDMaster.pas"/>
    9591        <HasRegisterProc Value="True"/>
    9692        <UnitName Value="UCDMaster"/>
    97       </Item16>
     93      </Item15>
    9894    </Files>
    9995    <i18n>
  • Docking/CoolDocking/CoolDocking.pas

    r192 r194  
    99uses
    1010  UCDClient, UCDCustomize, UCDWindowList, UCDManagerTabs, UCDManagerRegions,
    11   UCDManagerTabsPopup, UCDManagerRegionsPopup, UCDClientPanel, UCDPopupMenu,
    12   UCDLayout, URectangle, UCDCommon, UCDManager, UCDConjoinForm, UCDMaster,
     11  UCDManagerTabsPopup, UCDManagerRegionsPopup, UCDPopupMenu, UCDLayout,
     12  URectangle, UCDCommon, UCDManager, UCDConjoinForm, UCDMaster,
    1313  LazarusPackageIntf;
    1414
  • Docking/CoolDocking/Demo/IDE/IDE.lpi

    r193 r194  
    4343      </Item3>
    4444    </RequiredPackages>
    45     <Units Count="63">
     45    <Units Count="66">
    4646      <Unit0>
    4747        <Filename Value="IDE.lpr"/>
     
    5151        <TopLine Value="1"/>
    5252        <CursorPos X="1" Y="1"/>
    53         <UsageCount Value="131"/>
     53        <UsageCount Value="134"/>
    5454      </Unit0>
    5555      <Unit1>
     
    6262        <TopLine Value="1"/>
    6363        <CursorPos X="18" Y="3"/>
    64         <UsageCount Value="131"/>
     64        <UsageCount Value="134"/>
    6565      </Unit1>
    6666      <Unit2>
     
    7373        <TopLine Value="1"/>
    7474        <CursorPos X="31" Y="17"/>
    75         <UsageCount Value="131"/>
     75        <UsageCount Value="134"/>
    7676      </Unit2>
    7777      <Unit3>
     
    8484        <TopLine Value="4"/>
    8585        <CursorPos X="37" Y="17"/>
    86         <UsageCount Value="131"/>
     86        <UsageCount Value="134"/>
    8787      </Unit3>
    8888      <Unit4>
     
    9595        <TopLine Value="4"/>
    9696        <CursorPos X="37" Y="17"/>
    97         <UsageCount Value="131"/>
     97        <UsageCount Value="134"/>
    9898      </Unit4>
    9999      <Unit5>
     
    113113        <TopLine Value="4"/>
    114114        <CursorPos X="24" Y="17"/>
    115         <UsageCount Value="131"/>
     115        <UsageCount Value="134"/>
    116116      </Unit6>
    117117      <Unit7>
     
    120120        <TopLine Value="941"/>
    121121        <CursorPos X="1" Y="954"/>
    122         <UsageCount Value="59"/>
     122        <UsageCount Value="58"/>
    123123      </Unit7>
    124124      <Unit8>
     
    131131        <TopLine Value="4"/>
    132132        <CursorPos X="25" Y="17"/>
    133         <UsageCount Value="131"/>
     133        <UsageCount Value="134"/>
    134134      </Unit8>
    135135      <Unit9>
     
    142142        <TopLine Value="3"/>
    143143        <CursorPos X="37" Y="16"/>
    144         <UsageCount Value="131"/>
     144        <UsageCount Value="134"/>
    145145      </Unit9>
    146146      <Unit10>
     
    153153        <TopLine Value="5"/>
    154154        <CursorPos X="37" Y="18"/>
    155         <UsageCount Value="131"/>
     155        <UsageCount Value="134"/>
    156156      </Unit10>
    157157      <Unit11>
     
    164164        <TopLine Value="4"/>
    165165        <CursorPos X="26" Y="17"/>
    166         <UsageCount Value="131"/>
     166        <UsageCount Value="134"/>
    167167      </Unit11>
    168168      <Unit12>
     
    175175        <TopLine Value="5"/>
    176176        <CursorPos X="37" Y="18"/>
    177         <UsageCount Value="131"/>
     177        <UsageCount Value="134"/>
    178178      </Unit12>
    179179      <Unit13>
     
    186186        <TopLine Value="4"/>
    187187        <CursorPos X="37" Y="17"/>
    188         <UsageCount Value="131"/>
     188        <UsageCount Value="134"/>
    189189      </Unit13>
    190190      <Unit14>
     
    197197        <TopLine Value="6"/>
    198198        <CursorPos X="75" Y="7"/>
    199         <UsageCount Value="129"/>
     199        <UsageCount Value="132"/>
    200200      </Unit14>
    201201      <Unit15>
     
    204204        <EditorIndex Value="0"/>
    205205        <WindowIndex Value="0"/>
    206         <TopLine Value="81"/>
    207         <CursorPos X="1" Y="97"/>
    208         <UsageCount Value="64"/>
     206        <TopLine Value="1"/>
     207        <CursorPos X="14" Y="13"/>
     208        <UsageCount Value="66"/>
    209209        <Loaded Value="True"/>
    210210      </Unit15>
     
    219219      <Unit17>
    220220        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classesh.inc"/>
    221         <WindowIndex Value="0"/>
    222         <TopLine Value="376"/>
    223         <CursorPos X="41" Y="389"/>
     221        <EditorIndex Value="9"/>
     222        <WindowIndex Value="0"/>
     223        <TopLine Value="1524"/>
     224        <CursorPos X="5" Y="1537"/>
    224225        <UsageCount Value="36"/>
     226        <Loaded Value="True"/>
    225227      </Unit17>
    226228      <Unit18>
     
    230232        <TopLine Value="274"/>
    231233        <CursorPos X="10" Y="287"/>
    232         <UsageCount Value="14"/>
     234        <UsageCount Value="13"/>
    233235      </Unit18>
    234236      <Unit19>
     
    237239        <TopLine Value="220"/>
    238240        <CursorPos X="16" Y="233"/>
    239         <UsageCount Value="4"/>
     241        <UsageCount Value="3"/>
    240242      </Unit19>
    241243      <Unit20>
     
    253255        <TopLine Value="34"/>
    254256        <CursorPos X="11" Y="47"/>
    255         <UsageCount Value="4"/>
     257        <UsageCount Value="3"/>
    256258      </Unit21>
    257259      <Unit22>
     
    280282        <TopLine Value="835"/>
    281283        <CursorPos X="3" Y="837"/>
    282         <UsageCount Value="1"/>
     284        <UsageCount Value="0"/>
    283285      </Unit24>
    284286      <Unit25>
     
    287289        <TopLine Value="913"/>
    288290        <CursorPos X="1" Y="930"/>
    289         <UsageCount Value="27"/>
     291        <UsageCount Value="26"/>
    290292      </Unit25>
    291293      <Unit26>
     
    294296        <TopLine Value="91"/>
    295297        <CursorPos X="1" Y="104"/>
    296         <UsageCount Value="10"/>
     298        <UsageCount Value="9"/>
    297299      </Unit26>
    298300      <Unit27>
     
    301303        <TopLine Value="239"/>
    302304        <CursorPos X="1" Y="252"/>
    303         <UsageCount Value="5"/>
     305        <UsageCount Value="4"/>
    304306      </Unit27>
    305307      <Unit28>
     
    323325        <TopLine Value="751"/>
    324326        <CursorPos X="1" Y="764"/>
    325         <UsageCount Value="25"/>
     327        <UsageCount Value="24"/>
    326328      </Unit30>
    327329      <Unit31>
     
    331333        <ResourceBaseClass Value="Form"/>
    332334        <UnitName Value="UCDCustomize"/>
    333         <WindowIndex Value="0"/>
    334         <TopLine Value="2"/>
    335         <CursorPos X="36" Y="15"/>
     335        <IsVisibleTab Value="True"/>
     336        <EditorIndex Value="5"/>
     337        <WindowIndex Value="0"/>
     338        <TopLine Value="1"/>
     339        <CursorPos X="61" Y="9"/>
    336340        <UsageCount Value="50"/>
     341        <Loaded Value="True"/>
    337342      </Unit31>
    338343      <Unit32>
    339344        <Filename Value="..\..\UCDCommon.pas"/>
    340345        <UnitName Value="UCDCommon"/>
    341         <EditorIndex Value="8"/>
    342346        <WindowIndex Value="0"/>
    343347        <TopLine Value="1"/>
    344348        <CursorPos X="1" Y="1"/>
    345349        <UsageCount Value="55"/>
    346         <Loaded Value="True"/>
    347350      </Unit32>
    348351      <Unit33>
     
    351354        <EditorIndex Value="3"/>
    352355        <WindowIndex Value="0"/>
    353         <TopLine Value="31"/>
    354         <CursorPos X="38" Y="9"/>
    355         <UsageCount Value="49"/>
     356        <TopLine Value="255"/>
     357        <CursorPos X="27" Y="268"/>
     358        <UsageCount Value="51"/>
    356359        <Loaded Value="True"/>
    357360      </Unit33>
     
    362365        <TopLine Value="503"/>
    363366        <CursorPos X="10" Y="516"/>
    364         <UsageCount Value="21"/>
     367        <UsageCount Value="20"/>
    365368      </Unit34>
    366369      <Unit35>
     
    369372        <TopLine Value="539"/>
    370373        <CursorPos X="3" Y="544"/>
    371         <UsageCount Value="4"/>
     374        <UsageCount Value="3"/>
    372375      </Unit35>
    373376      <Unit36>
     
    376379        <TopLine Value="224"/>
    377380        <CursorPos X="29" Y="238"/>
    378         <UsageCount Value="6"/>
     381        <UsageCount Value="5"/>
    379382      </Unit36>
    380383      <Unit37>
     
    383386        <TopLine Value="514"/>
    384387        <CursorPos X="60" Y="523"/>
    385         <UsageCount Value="11"/>
     388        <UsageCount Value="10"/>
    386389      </Unit37>
    387390      <Unit38>
     
    390393        <TopLine Value="79"/>
    391394        <CursorPos X="14" Y="82"/>
    392         <UsageCount Value="5"/>
     395        <UsageCount Value="4"/>
    393396      </Unit38>
    394397      <Unit39>
     
    398401        <TopLine Value="32"/>
    399402        <CursorPos X="20" Y="45"/>
    400         <UsageCount Value="29"/>
     403        <UsageCount Value="28"/>
    401404      </Unit39>
    402405      <Unit40>
     
    406409        <TopLine Value="1"/>
    407410        <CursorPos X="24" Y="16"/>
    408         <UsageCount Value="37"/>
     411        <UsageCount Value="36"/>
    409412      </Unit40>
    410413      <Unit41>
    411414        <Filename Value="..\..\UCDClientPanel.pas"/>
    412415        <UnitName Value="UCDClientPanel"/>
    413         <EditorIndex Value="4"/>
    414         <WindowIndex Value="0"/>
    415         <TopLine Value="75"/>
    416         <CursorPos X="54" Y="81"/>
    417         <UsageCount Value="38"/>
    418         <Loaded Value="True"/>
     416        <WindowIndex Value="0"/>
     417        <TopLine Value="1"/>
     418        <CursorPos X="5" Y="11"/>
     419        <UsageCount Value="39"/>
    419420      </Unit41>
    420421      <Unit42>
     
    424425        <TopLine Value="1531"/>
    425426        <CursorPos X="33" Y="1544"/>
    426         <UsageCount Value="5"/>
     427        <UsageCount Value="4"/>
    427428      </Unit42>
    428429      <Unit43>
    429430        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
    430431        <UnitName Value="UCDManagerTabs"/>
    431         <EditorIndex Value="9"/>
    432         <WindowIndex Value="0"/>
    433         <TopLine Value="262"/>
    434         <CursorPos X="13" Y="264"/>
    435         <UsageCount Value="37"/>
     432        <EditorIndex Value="11"/>
     433        <WindowIndex Value="0"/>
     434        <TopLine Value="6"/>
     435        <CursorPos X="3" Y="19"/>
     436        <UsageCount Value="39"/>
    436437        <Loaded Value="True"/>
    437438      </Unit43>
     
    442443        <TopLine Value="45"/>
    443444        <CursorPos X="28" Y="558"/>
    444         <UsageCount Value="5"/>
     445        <UsageCount Value="4"/>
    445446      </Unit44>
    446447      <Unit45>
     
    450451        <TopLine Value="344"/>
    451452        <CursorPos X="1" Y="357"/>
    452         <UsageCount Value="5"/>
     453        <UsageCount Value="4"/>
    453454      </Unit45>
    454455      <Unit46>
     
    457458        <TopLine Value="2403"/>
    458459        <CursorPos X="74" Y="2413"/>
    459         <UsageCount Value="5"/>
     460        <UsageCount Value="4"/>
    460461      </Unit46>
    461462      <Unit47>
    462463        <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    463464        <UnitName Value="UCDManagerRegions"/>
    464         <EditorIndex Value="6"/>
    465         <WindowIndex Value="0"/>
    466         <TopLine Value="17"/>
    467         <CursorPos X="15" Y="30"/>
    468         <UsageCount Value="36"/>
     465        <EditorIndex Value="7"/>
     466        <WindowIndex Value="0"/>
     467        <TopLine Value="259"/>
     468        <CursorPos X="12" Y="272"/>
     469        <UsageCount Value="38"/>
    469470        <Loaded Value="True"/>
    470471      </Unit47>
     
    474475        <EditorIndex Value="2"/>
    475476        <WindowIndex Value="0"/>
    476         <TopLine Value="176"/>
    477         <CursorPos X="4" Y="189"/>
    478         <UsageCount Value="27"/>
     477        <TopLine Value="190"/>
     478        <CursorPos X="3" Y="202"/>
     479        <UsageCount Value="29"/>
    479480        <Loaded Value="True"/>
    480481      </Unit48>
     
    484485        <TopLine Value="762"/>
    485486        <CursorPos X="1" Y="775"/>
    486         <UsageCount Value="26"/>
     487        <UsageCount Value="25"/>
    487488      </Unit49>
    488489      <Unit50>
     
    491492        <TopLine Value="148"/>
    492493        <CursorPos X="32" Y="160"/>
    493         <UsageCount Value="26"/>
     494        <UsageCount Value="25"/>
    494495      </Unit50>
    495496      <Unit51>
     
    498499        <TopLine Value="53"/>
    499500        <CursorPos X="11" Y="66"/>
    500         <UsageCount Value="26"/>
     501        <UsageCount Value="25"/>
    501502      </Unit51>
    502503      <Unit52>
     
    505506        <TopLine Value="141"/>
    506507        <CursorPos X="3" Y="143"/>
    507         <UsageCount Value="26"/>
     508        <UsageCount Value="25"/>
    508509      </Unit52>
    509510      <Unit53>
     
    512513        <TopLine Value="2"/>
    513514        <CursorPos X="40" Y="3"/>
    514         <UsageCount Value="25"/>
     515        <UsageCount Value="24"/>
    515516        <DefaultSyntaxHighlighter Value="None"/>
    516517      </Unit53>
     
    525526        <TopLine Value="23"/>
    526527        <CursorPos X="15" Y="24"/>
    527         <UsageCount Value="32"/>
     528        <UsageCount Value="35"/>
    528529      </Unit54>
    529530      <Unit55>
    530531        <Filename Value="..\..\Managers\UCDManagerRegionsPopup.pas"/>
    531532        <UnitName Value="UCDManagerRegionsPopup"/>
    532         <EditorIndex Value="5"/>
    533         <WindowIndex Value="0"/>
    534         <TopLine Value="8"/>
    535         <CursorPos X="4" Y="29"/>
    536         <UsageCount Value="11"/>
     533        <EditorIndex Value="6"/>
     534        <WindowIndex Value="0"/>
     535        <TopLine Value="14"/>
     536        <CursorPos X="25" Y="27"/>
     537        <UsageCount Value="13"/>
    537538        <Loaded Value="True"/>
    538539      </Unit55>
     
    548549        <Filename Value="..\..\UCDManager.pas"/>
    549550        <UnitName Value="UCDManager"/>
    550         <IsVisibleTab Value="True"/>
    551         <EditorIndex Value="7"/>
    552         <WindowIndex Value="0"/>
    553         <TopLine Value="167"/>
    554         <CursorPos X="1" Y="180"/>
    555         <UsageCount Value="12"/>
     551        <EditorIndex Value="8"/>
     552        <WindowIndex Value="0"/>
     553        <TopLine Value="567"/>
     554        <CursorPos X="14" Y="586"/>
     555        <UsageCount Value="14"/>
    556556        <Loaded Value="True"/>
    557557      </Unit57>
     
    561561        <EditorIndex Value="1"/>
    562562        <WindowIndex Value="0"/>
    563         <TopLine Value="32"/>
    564         <CursorPos X="30" Y="34"/>
    565         <UsageCount Value="11"/>
     563        <TopLine Value="1"/>
     564        <CursorPos X="31" Y="8"/>
     565        <UsageCount Value="13"/>
    566566        <Loaded Value="True"/>
    567567      </Unit58>
     
    572572        <TopLine Value="1129"/>
    573573        <CursorPos X="3" Y="1142"/>
    574         <UsageCount Value="10"/>
     574        <UsageCount Value="9"/>
    575575      </Unit59>
    576576      <Unit60>
    577577        <Filename Value="..\..\UCDMaster.pas"/>
    578578        <UnitName Value="UCDMaster"/>
    579         <WindowIndex Value="0"/>
    580         <TopLine Value="1"/>
    581         <CursorPos X="33" Y="8"/>
     579        <EditorIndex Value="4"/>
     580        <WindowIndex Value="0"/>
     581        <TopLine Value="2"/>
     582        <CursorPos X="38" Y="8"/>
    582583        <UsageCount Value="11"/>
     584        <Loaded Value="True"/>
    583585      </Unit60>
    584586      <Unit61>
     
    588590        <TopLine Value="1"/>
    589591        <CursorPos X="1" Y="1"/>
    590         <UsageCount Value="10"/>
     592        <UsageCount Value="9"/>
    591593      </Unit61>
    592594      <Unit62>
     
    598600        <UsageCount Value="11"/>
    599601      </Unit62>
     602      <Unit63>
     603        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\customnotebook.inc"/>
     604        <WindowIndex Value="0"/>
     605        <TopLine Value="679"/>
     606        <CursorPos X="1" Y="692"/>
     607        <UsageCount Value="10"/>
     608      </Unit63>
     609      <Unit64>
     610        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\menuitem.inc"/>
     611        <WindowIndex Value="0"/>
     612        <TopLine Value="64"/>
     613        <CursorPos X="26" Y="74"/>
     614        <UsageCount Value="10"/>
     615      </Unit64>
     616      <Unit65>
     617        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\lcltype.pp"/>
     618        <UnitName Value="LCLType"/>
     619        <EditorIndex Value="10"/>
     620        <WindowIndex Value="0"/>
     621        <TopLine Value="114"/>
     622        <CursorPos X="3" Y="127"/>
     623        <UsageCount Value="11"/>
     624        <Loaded Value="True"/>
     625      </Unit65>
    600626    </Units>
    601627    <JumpHistory Count="30" HistoryIndex="29">
    602628      <Position1>
    603         <Filename Value="..\..\UCDManager.pas"/>
    604         <Caret Line="115" Column="1" TopLine="102"/>
     629        <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     630        <Caret Line="11" Column="5" TopLine="1"/>
    605631      </Position1>
    606632      <Position2>
    607633        <Filename Value="..\..\UCDManager.pas"/>
    608         <Caret Line="124" Column="1" TopLine="103"/>
     634        <Caret Line="34" Column="3" TopLine="27"/>
    609635      </Position2>
    610636      <Position3>
    611637        <Filename Value="..\..\UCDManager.pas"/>
    612         <Caret Line="116" Column="1" TopLine="103"/>
     638        <Caret Line="129" Column="5" TopLine="116"/>
    613639      </Position3>
    614640      <Position4>
    615641        <Filename Value="..\..\UCDManager.pas"/>
    616         <Caret Line="118" Column="1" TopLine="103"/>
     642        <Caret Line="46" Column="15" TopLine="33"/>
    617643      </Position4>
    618644      <Position5>
    619645        <Filename Value="..\..\UCDManager.pas"/>
    620         <Caret Line="119" Column="1" TopLine="103"/>
     646        <Caret Line="139" Column="9" TopLine="116"/>
    621647      </Position5>
    622648      <Position6>
    623649        <Filename Value="..\..\UCDManager.pas"/>
    624         <Caret Line="121" Column="1" TopLine="103"/>
     650        <Caret Line="144" Column="5" TopLine="131"/>
    625651      </Position6>
    626652      <Position7>
    627653        <Filename Value="..\..\UCDManager.pas"/>
    628         <Caret Line="122" Column="1" TopLine="103"/>
     654        <Caret Line="147" Column="5" TopLine="134"/>
    629655      </Position7>
    630656      <Position8>
    631657        <Filename Value="..\..\UCDManager.pas"/>
    632         <Caret Line="123" Column="1" TopLine="103"/>
     658        <Caret Line="149" Column="5" TopLine="135"/>
    633659      </Position8>
    634660      <Position9>
    635661        <Filename Value="..\..\UCDManager.pas"/>
    636         <Caret Line="124" Column="1" TopLine="103"/>
     662        <Caret Line="153" Column="33" TopLine="140"/>
    637663      </Position9>
    638664      <Position10>
    639         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    640         <Caret Line="141" Column="1" TopLine="128"/>
     665        <Filename Value="..\..\UCDManager.pas"/>
     666        <Caret Line="155" Column="18" TopLine="142"/>
    641667      </Position10>
    642668      <Position11>
    643         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    644         <Caret Line="144" Column="1" TopLine="128"/>
     669        <Filename Value="..\..\UCDManager.pas"/>
     670        <Caret Line="13" Column="20" TopLine="1"/>
    645671      </Position11>
    646672      <Position12>
    647         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    648         <Caret Line="152" Column="1" TopLine="131"/>
     673        <Filename Value="..\..\UCDManager.pas"/>
     674        <Caret Line="157" Column="10" TopLine="149"/>
    649675      </Position12>
    650676      <Position13>
    651         <Filename Value="..\..\UCDClient.pas"/>
    652         <Caret Line="97" Column="1" TopLine="81"/>
     677        <Filename Value="..\..\UCDManager.pas"/>
     678        <Caret Line="162" Column="16" TopLine="149"/>
    653679      </Position13>
    654680      <Position14>
    655         <Filename Value="..\..\UCDConjoinForm.pas"/>
    656         <Caret Line="55" Column="1" TopLine="49"/>
     681        <Filename Value="..\..\UCDManager.pas"/>
     682        <Caret Line="175" Column="9" TopLine="158"/>
    657683      </Position14>
    658684      <Position15>
    659         <Filename Value="..\..\UCDConjoinForm.pas"/>
    660         <Caret Line="57" Column="1" TopLine="49"/>
     685        <Filename Value="..\..\UCDManager.pas"/>
     686        <Caret Line="183" Column="5" TopLine="170"/>
    661687      </Position15>
    662688      <Position16>
    663         <Filename Value="..\..\UCDConjoinForm.pas"/>
    664         <Caret Line="58" Column="1" TopLine="49"/>
     689        <Filename Value="..\..\UCDManager.pas"/>
     690        <Caret Line="187" Column="7" TopLine="174"/>
    665691      </Position16>
    666692      <Position17>
    667         <Filename Value="..\..\UCDConjoinForm.pas"/>
    668         <Caret Line="59" Column="1" TopLine="49"/>
     693        <Filename Value="..\..\UCDManager.pas"/>
     694        <Caret Line="188" Column="7" TopLine="174"/>
    669695      </Position17>
    670696      <Position18>
    671697        <Filename Value="..\..\UCDManager.pas"/>
    672         <Caret Line="299" Column="1" TopLine="286"/>
     698        <Caret Line="216" Column="17" TopLine="203"/>
    673699      </Position18>
    674700      <Position19>
    675701        <Filename Value="..\..\UCDManager.pas"/>
    676         <Caret Line="300" Column="15" TopLine="286"/>
     702        <Caret Line="217" Column="21" TopLine="204"/>
    677703      </Position19>
    678704      <Position20>
    679705        <Filename Value="..\..\UCDManager.pas"/>
    680         <Caret Line="296" Column="30" TopLine="283"/>
     706        <Caret Line="232" Column="8" TopLine="208"/>
    681707      </Position20>
    682708      <Position21>
    683         <Filename Value="..\..\UCDConjoinForm.pas"/>
    684         <Caret Line="34" Column="30" TopLine="32"/>
     709        <Filename Value="..\..\UCDManager.pas"/>
     710        <Caret Line="317" Column="31" TopLine="304"/>
    685711      </Position21>
    686712      <Position22>
    687713        <Filename Value="..\..\UCDManager.pas"/>
    688         <Caret Line="73" Column="43" TopLine="60"/>
     714        <Caret Line="339" Column="61" TopLine="326"/>
    689715      </Position22>
    690716      <Position23>
    691         <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
    692         <Caret Line="15" Column="33" TopLine="11"/>
     717        <Filename Value="..\..\UCDManager.pas"/>
     718        <Caret Line="391" Column="3" TopLine="388"/>
    693719      </Position23>
    694720      <Position24>
    695         <Filename Value="..\..\UCDManager.pas"/>
    696         <Caret Line="44" Column="15" TopLine="31"/>
     721        <Filename Value="..\..\UCDPopupMenu.pas"/>
     722        <Caret Line="8" Column="55" TopLine="1"/>
    697723      </Position24>
    698724      <Position25>
    699         <Filename Value="..\..\UCDManager.pas"/>
    700         <Caret Line="166" Column="3" TopLine="164"/>
     725        <Filename Value="..\..\UCDPopupMenu.pas"/>
     726        <Caret Line="171" Column="22" TopLine="158"/>
    701727      </Position25>
    702728      <Position26>
    703         <Filename Value="..\..\UCDManager.pas"/>
    704         <Caret Line="116" Column="1" TopLine="103"/>
     729        <Filename Value="..\..\UCDPopupMenu.pas"/>
     730        <Caret Line="190" Column="25" TopLine="177"/>
    705731      </Position26>
    706732      <Position27>
    707         <Filename Value="..\..\UCDManager.pas"/>
    708         <Caret Line="180" Column="1" TopLine="167"/>
     733        <Filename Value="..\..\UCDPopupMenu.pas"/>
     734        <Caret Line="192" Column="18" TopLine="179"/>
    709735      </Position27>
    710736      <Position28>
    711         <Filename Value="..\..\UCDManager.pas"/>
    712         <Caret Line="181" Column="1" TopLine="167"/>
     737        <Filename Value="..\..\UCDMaster.pas"/>
     738        <Caret Line="8" Column="31" TopLine="1"/>
    713739      </Position28>
    714740      <Position29>
    715         <Filename Value="..\..\UCDManager.pas"/>
    716         <Caret Line="183" Column="1" TopLine="167"/>
     741        <Filename Value="..\..\UCDCustomize.pas"/>
     742        <Caret Line="15" Column="36" TopLine="2"/>
    717743      </Position29>
    718744      <Position30>
    719         <Filename Value="..\..\UCDManager.pas"/>
    720         <Caret Line="184" Column="1" TopLine="167"/>
     745        <Filename Value="..\..\UCDCustomize.pas"/>
     746        <Caret Line="66" Column="23" TopLine="53"/>
    721747      </Position30>
    722748    </JumpHistory>
     
    747773      <Item1>
    748774        <Source Value="..\..\UCDManager.pas"/>
    749         <Line Value="319"/>
     775        <Line Value="454"/>
    750776      </Item1>
    751777    </BreakPoints>
  • Docking/CoolDocking/Managers/UCDManagerRegions.pas

    r193 r194  
    77uses
    88  Classes, SysUtils, Controls, ExtCtrls, StdCtrls, Forms,
    9   Graphics, Contnrs, Buttons, UCDClientPanel, UCDCommon, UCDManager;
     9  Graphics, Contnrs, Buttons, UCDCommon, UCDManager,
     10  LCLType, LMessages;
    1011
    1112type
    12   TCDStyleRegionsPanel = class(TPanel)
    13 
     13
     14  { TCDManagerRegionsItem }
     15
     16  TCDManagerRegionsItem = class(TCDManagerItem)
     17    Panel: TPanel;
     18    Splitter: TSplitter;
     19    ClientAreaPanel: TPanel;
     20    constructor Create;
    1421  end;
    1522
     
    1825  TCDManagerRegions = class(TCDManager)
    1926  private
     27    FDockItems: TObjectList; // TList<TCDManagerRegionsItem>
    2028    function GetDirection(InsertAt: TAlign): TCDDirection;
    2129  public
    2230    FDockDirection: TCDDirection;
    2331    //Panels: TObjectList; // TObjectList<TCDStyleRegionsPanel>
     32    function FindControlInPanels(Control: TControl): TCDManagerItem; override;
    2433    procedure InsertControlPanel(Control: TControl; InsertAt: TAlign;
    2534      DropCtl: TControl); override;
     
    2736    constructor Create(ADockSite: TWinControl);
    2837    destructor Destroy; override;
     38    procedure PaintSite(DC: HDC); override;
    2939    procedure UpdateClientSize; override;
    3040    procedure DoSetVisible(const AValue: Boolean); override;
     
    3242    property DockDirection: TCDDirection read FDockDirection
    3343      write FDockDirection;
     44    property DockItems: TObjectList read FDockItems write FDockItems;
    3445  end;
    3546
     
    3849uses
    3950  UCDClient, UCDConjoinForm;
     51
     52{ TCDManagerRegionsItem }
     53
     54constructor TCDManagerRegionsItem.Create;
     55begin
     56  Panel := TPanel.Create(nil);
     57
     58  ClientAreaPanel := TPanel.Create(Panel);
     59  with ClientAreaPanel do begin
     60    Parent := Panel;
     61    Visible := True;
     62    DockSite := True;
     63    UseDockManager := True;
     64    Align := alClient;
     65    BevelInner := bvNone;
     66    BevelOuter := bvNone;
     67    //Color := clGreen;
     68  end;
     69  Splitter := TSplitter.Create(Panel);
     70  with Splitter do begin
     71    Parent := Panel;
     72    //Color := clRed;
     73  end;
     74end;
    4075
    4176
     
    5388end;
    5489
     90function TCDManagerRegions.FindControlInPanels(Control: TControl
     91  ): TCDManagerItem;
     92var
     93  I: Integer;
     94begin
     95  I := 0;
     96  while (I < FDockItems.Count) and
     97    (TCDManagerItem(FDockItems[I]).Control <> Control) do Inc(I);
     98  if I < FDockItems.Count then Result := TCDManagerItem(FDockItems[I])
     99    else Result := nil;
     100end;
     101
    55102procedure TCDManagerRegions.InsertControlPanel(Control: TControl; InsertAt: TAlign;
    56103  DropCtl: TControl);
    57104var
    58   NewPanel: TCDClientPanel;
     105  NewPanel: TCDManagerRegionsItem;
    59106  I: Integer;
    60107  NewDirection: TCDDirection;
     
    85132    end;
    86133
    87     NewPanel := TCDClientPanel.Create(nil);
     134    NewPanel := TCDManagerRegionsItem.Create;
    88135    with NewPanel do begin
    89       Parent := Self.DockSite;
    90       OwnerDockManager := Self;
     136      Panel.Parent := Self.DockSite;
     137      Manager := Self;
    91138      if DockStyle = dsList then Visible := True;
    92139      Header.PopupMenu := Self.PopupMenu;
     
    101148    Control.Align := alClient;
    102149    if (InsertAt = alTop) or (InsertAt = alLeft) then
    103       DockPanels.Insert(0, NewPanel)
    104       else DockPanels.Add(NewPanel);
     150      DockItems.Insert(0, NewPanel)
     151      else DockItems.Add(NewPanel);
    105152  end;
    106153  UpdateClientSize;
     
    109156procedure TCDManagerRegions.RemoveControl(Control: TControl);
    110157var
    111   ClientPanel: TCDClientPanel;
     158  ClientPanel: TCDManagerItem;
    112159  ClientCount: Integer;
    113160begin
     
    115162  Control.RemoveHandlerOnVisibleChanged(ClientPanel.VisibleChange);
    116163
    117   DockPanels.Remove(ClientPanel);
    118   ClientCount := DockPanels.Count;
     164  DockItems.Remove(ClientPanel);
     165  ClientCount := DockItems.Count;
    119166
    120167  //if TCDManager(Manager).DockSite.DockClientCount = 2 then FDockDirection := ddNone;
     
    124171    with TCDConjoinForm(Self.DockSite) do begin
    125172      if Assigned(Parent) then begin
    126         TCDClientPanel(DockPanels[0]).Control.ManualDock(HostDockSite);
    127       end else TCDClientPanel(DockPanels[0]).Control.ManualFloat(Rect(Left, Top, Left + Width, Top + Height));
     173        TCDManagerItem(DockItems[0]).Control.ManualDock(HostDockSite);
     174      end else TCDManagerItem(DockItems[0]).Control.ManualFloat(Rect(Left, Top, Left + Width, Top + Height));
    128175      ManualFloat(Rect(Left, Top, Left + Width, Top + Height));
    129176      Free;
     
    140187  inherited;
    141188  FDockStyle := dsList;
    142   //Panels := TObjectList.Create;
    143 
    144   for I := 0 to DockPanels.Count - 1 do begin
    145     if Assigned(TCDClientPanel(DockPanels[I]).Splitter) then
    146       TCDClientPanel(DockPanels[I]).Splitter.Visible := True;
    147     TCDClientPanel(DockPanels[I]).Visible := True;
    148     TCDClientPanel(DockPanels[I]).ClientAreaPanel.Parent := TCDClientPanel(DockPanels[I]);
    149     TCDClientPanel(DockPanels[I]).ClientAreaPanel.Visible := True;
    150     TCDClientPanel(DockPanels[I]).Control.Visible := True;
     189  FDockItems := TObjectList.Create;
     190
     191  for I := 0 to DockItems.Count - 1 do begin
     192    if Assigned(TCDManagerRegionsItem(DockItems[I]).Splitter) then
     193    with TCDManagerRegionsItem(DockItems[I]) do begin
     194      Splitter.Visible := True;
     195      Panel.Visible := True;
     196      ClientAreaPanel.Parent := TCDManagerRegionsItem(DockItems[I]).Panel;
     197      ClientAreaPanel.Visible := True;
     198      Control.Visible := True;
     199    end;
    151200  end;
    152201end;
     
    154203destructor TCDManagerRegions.Destroy;
    155204begin
    156   //Panels.Free;
     205  FDockItems.Free;
    157206  inherited Destroy;
     207end;
     208
     209procedure TCDManagerRegions.PaintSite(DC: HDC);
     210var
     211  I: Integer;
     212begin
     213  inherited PaintSite(DC);
     214  for I := 0 to FDockItems.Count - 1 do
     215    with TCDManagerRegionsItem(FDockItems[I]) do begin
     216      Panel.Invalidate;
     217    end;
    158218end;
    159219
     
    171231  SplitterLeft := 0;
    172232  SplitterTop := 0;
    173   for I := 0 to DockPanels.Count - 1 do
    174   with TCDClientPanel(DockPanels[I]) do begin
    175     Left := SplitterLeft;
    176     Top := SplitterTop;
    177     Height := Self.DockSite.Height div
     233  for I := 0 to DockItems.Count - 1 do
     234  with TCDManagerRegionsItem(DockItems[I]) do begin
     235    Panel.Left := SplitterLeft;
     236    Panel.Top := SplitterTop;
     237    Panel.Height := Self.DockSite.Height div
    178238      Self.DockSite.DockClientCount;
    179     Width := Self.DockSite.Width div
    180       SElf.DockSite.DockClientCount;
     239    Panel.Width := Self.DockSite.Width div
     240      Self.DockSite.DockClientCount;
    181241    //TCDClientPanel(FDockPanels[I]).DockPanelPaint(Self);
    182     if I < (DockPanels.Count - 1) then Align := BaseAlign
    183       else Align := alClient;
    184 
    185     Inc(SplitterLeft, Width);
    186     Inc(SplitterTop, Height);
     242    if I < (DockItems.Count - 1) then Panel.Align := BaseAlign
     243      else Panel.Align := alClient;
     244
     245    Inc(SplitterLeft, Panel.Width);
     246    Inc(SplitterTop, Panel.Height);
    187247    Splitter.Left := SplitterLeft;
    188248    Splitter.Top := SplitterTop;
    189     Splitter.Parent := SElf.DockSite;
     249    Splitter.Parent := Self.DockSite;
    190250    Splitter.Align := BaseAlign;
    191     Splitter.Visible := I < (DockPanels.Count - 1);
     251    Splitter.Visible := I < (DockItems.Count - 1);
    192252    Inc(SplitterLeft, Splitter.Width);
    193253    Inc(SplitterTop, Splitter.Height);
    194254
    195     DockPanelPaint(Self);
    196     if I < (DockPanels.Count - 1) then begin
    197       if DockDirection = ddHorizontal then Align := alLeft
    198         else Align := alTop;
    199     end else Align := alClient;
     255    Paint(Self);
     256    if I < (DockItems.Count - 1) then begin
     257      if DockDirection = ddHorizontal then Panel.Align := alLeft
     258        else Panel.Align := alTop;
     259    end else Panel.Align := alClient;
    200260  end;
    201261end;
     
    206266begin
    207267  inherited;
    208   for I := 0 to DockPanels.Count - 1 do
     268  for I := 0 to DockItems.Count - 1 do
    209269
    210270        //Show;
    211271        //ShowMessage(IntToStr(Control.Tag));
    212       with TCDClientPanel(DockPanels[I]) do begin
     272      with TCDManagerRegionsItem(DockItems[I]) do begin
    213273        if AValue and (not Control.Visible) and (Control.Tag = Integer(dhtTemporal))  then begin
    214274          Control.Show;
  • Docking/CoolDocking/Managers/UCDManagerRegionsPopup.pas

    r193 r194  
    1010type
    1111
    12   { TCDStylePopupRegions }
     12  { TCDManagerPopupRegionsItem }
    1313
    14   TCDStylePopupRegions = class(TCDManagerRegions)
     14  TCDManagerPopupRegionsItem = class(TCDManagerRegionsItem)
     15  private
     16    FAutoHide: Boolean;
     17    function GetAutoHideEnabled: Boolean;
     18    procedure SetAutoHide(const AValue: Boolean);
     19    procedure SetAutoHideEnabled(const AValue: Boolean);
     20  public
     21    property AutoHideEnabled: Boolean read GetAutoHideEnabled
     22      write SetAutoHideEnabled;
     23  end;
     24
     25  { TCDManagerPopupRegions }
     26
     27  TCDManagerPopupRegions = class(TCDManagerRegions)
    1528    constructor Create(ADockSite: TWinControl);
    1629  end;
     
    2235  UCDClient;
    2336
    24 { TCDStylePopupRegions }
     37{ TCDManagerPopupRegionsItem }
    2538
    26 constructor TCDStylePopupRegions.Create(ADockSite: TWinControl);
     39function TCDManagerPopupRegionsItem.GetAutoHideEnabled: Boolean;
     40begin
     41
     42end;
     43
     44procedure TCDManagerPopupRegionsItem.SetAutoHide(const AValue: Boolean);
     45begin
     46
     47end;
     48
     49procedure TCDManagerPopupRegionsItem.SetAutoHideEnabled(const AValue: Boolean);
     50begin
     51
     52end;
     53
     54{ TCDManagerPopupRegions }
     55
     56constructor TCDManagerPopupRegions.Create(ADockSite: TWinControl);
    2757begin
    2858  inherited;
  • Docking/CoolDocking/Managers/UCDManagerTabs.pas

    r193 r194  
    66
    77uses
    8   Classes, Controls, ExtCtrls, ComCtrls, SysUtils, Dialogs,
    9   Menus, Forms, UCDClientPanel, UCDCommon, UCDManager;
     8  Classes, Controls, ExtCtrls, ComCtrls, SysUtils, Dialogs, Contnrs,
     9  Menus, Forms, UCDCommon, UCDManager,
     10  LCLType, LMessages, Graphics;
    1011
    1112type
     13  TCDManagerTabsITem = class(TCDManagerItem)
     14
     15  end;
    1216
    1317  { TCDManagerTabs }
     
    2024    PageControl: TPageControl;
    2125    TabImageList: TImageList;
     26    FDockItems: TObjectList; // TList<TCDManagerRegionsItem>
    2227    procedure TabControlMouseLeave(Sender: TObject);
    2328    procedure TabControlChange(Sender: TObject);
     
    3136  private
    3237    FTabsPos: THeaderPos;
     38    function FindControlInPanels(Control: TControl): TCDManagerItem; override;
    3339    procedure InsertControlNoUpdate(AControl: TControl; InsertAt: TAlign);
    3440    procedure RemoveControl(Control: TControl); override;
    3541  public
    3642    constructor Create(ADockSite: TWinControl);
     43    destructor Destroy; override;
     44    procedure PaintSite(DC: HDC); override;
    3745    procedure DoSetVisible(const AValue: Boolean); override;
    38     destructor Destroy; override;
    3946    procedure ChangeVisible(Control: TWinControl; Visible: Boolean); override;
    4047    procedure Switch(Index: Integer); override;
     
    4249    procedure PopupMenuTabCloseClick(Sender: TObject);
    4350    property TabsPos: THeaderPos read FTabsPos write SetTabsPos;
     51    property DockItems: TObjectList read FDockItems write FDockItems;
    4452  end;
    4553
     
    5159{ TCDManagerTabs }
    5260
     61function TCDManagerTabs.FindControlInPanels(Control: TControl
     62  ): TCDManagerItem;
     63var
     64  I: Integer;
     65begin
     66  I := 0;
     67  while (I < FDockItems.Count) and
     68    (TCDManagerItem(FDockItems[I]).Control <> Control) do Inc(I);
     69  if I < FDockItems.Count then Result := TCDManagerItem(FDockItems[I])
     70    else Result := nil;
     71end;
     72
    5373procedure TCDManagerTabs.PopupMenuTabCloseClick(Sender: TObject);
    5474begin
    5575  if Assigned(PageControl.ActivePage) then
    56     TCDClientPanel(DockPanels[PageControl.TabIndex]).Control.Hide;
     76    TCDManagerItem(DockItems[PageControl.TabIndex]).Control.Hide;
    5777end;
    5878
     
    6181  if MouseDown then
    6282  if Assigned(PageControl.ActivePage) then begin
    63     TCDClientPanel(DockPanels[PageControl.TabIndex]).ClientAreaPanel.DockSite := False;
    64     DragManager.DragStart(TCDClientPanel(DockPanels[PageControl.TabIndex]).Control, False, 1);
     83    //TCDManagerItem(DockItems[PageControl.TabIndex]).ClientAreaPanel.DockSite := False;
     84    DragManager.DragStart(TCDManagerItem(DockItems[PageControl.TabIndex]).Control, False, 1);
    6585  end;
    6686  MouseDown := False;
     
    7292begin
    7393  // Hide all clients
    74   for I := 0 to DockPanels.Count - 1 do
    75     if TCDClientPanel(DockPanels[I]).Control.Visible
     94  for I := 0 to DockItems.Count - 1 do
     95    if TCDManagerItem(DockItems[I]).Control.Visible
    7696    //and (PageControl.TabIndex <> I)
    7797    then
    7898    begin
    79       TCDClientPanel(DockPanels[I]).Control.Tag := Integer(dhtTemporal);
    80       TCDClientPanel(DockPanels[I]).Control.Hide;
    81       TCDClientPanel(DockPanels[I]).ClientAreaPanel.Hide;
    82       TCDClientPanel(DockPanels[I]).ClientAreaPanel.Parent := PageControl.Pages[I];
     99      TCDManagerItem(DockItems[I]).Control.Tag := Integer(dhtTemporal);
     100      TCDManagerItem(DockItems[I]).Control.Hide;
     101      //TCDClientPanel(DockItems[I]).ClientAreaPanel.Hide;
     102      //TCDClientPanel(DockItems[I]).ClientAreaPanel.Parent := PageControl.Pages[I];
    83103      //TCDClientPanel(DockPanels[I]).ClientAreaPanel.Parent := DockSite;
    84       TCDClientPanel(DockPanels[I]).Control.Align := alClient;
     104      TCDManagerItem(DockItems[I]).Control.Align := alClient;
    85105      //TCDClientPanel(DockPanels[I]).Control.Parent :=
    86106      //  TCDClientPanel(DockPanels[I]).ClientAreaPanel;
    87107      //ShowMessage(TCDClientPanel(DockPanels[I]).Control.ClassName);
    88       Application.ProcessMessages;
     108      //Application.ProcessMessages;
    89109
    90110      // Workaround for "Cannot focus" error
    91       TForm(TCDClientPanel(DockPanels[I]).Control).ActiveControl := nil;
     111      TForm(TCDManagerItem(DockItems[I]).Control).ActiveControl := nil;
    92112    end;
    93113
    94114  // Show selected
    95   if (PageControl.TabIndex <> -1) and (DockPanels.Count > PageControl.TabIndex)
     115  if (PageControl.TabIndex <> -1) and (DockItems.Count > PageControl.TabIndex)
    96116//  and not TCDClientPanel(DockPanels[PageControl.TabIndex]).Control.Visible
    97117  then begin
    98     with TCDClientPanel(DockPanels[PageControl.TabIndex]), ClientAreaPanel do begin
     118    with TCDManagerItem(DockItems[PageControl.TabIndex]) do begin
    99119      Control.Show;
    100120      (*AutoHide.Enable := True;
     
    145165  inherited;
    146166  FDockStyle := dsTabs;
     167  FDockItems := TObjectList.Create;
     168
    147169  TabImageList := TImageList.Create(ADockSite); //FDockSite);
    148170  with TabImageList do begin
     
    173195  PageControl.Visible := True;
    174196  //TabImageList.Clear;
    175   for I := 0 to DockPanels.Count - 1 do
    176     Self.InsertControlNoUpdate(TCDClientPanel(DockPanels[I]).Control, alNone);
     197  for I := 0 to DockItems.Count - 1 do
     198    Self.InsertControlNoUpdate(TCDManagerItem(DockItems[I]).Control, alNone);
    177199  TabControlChange(Self);
    178200end;
     
    180202destructor TCDManagerTabs.Destroy;
    181203begin
     204  FDockItems.Free;
    182205  PageControl.Free;
    183206  TabImageList.Free;
     
    185208end;
    186209
     210procedure TCDManagerTabs.PaintSite(DC: HDC);
     211var
     212  I: Integer;
     213begin
     214  inherited PaintSite(DC);
     215  PageControl.Invalidate;
     216end;
     217
    187218procedure TCDManagerTabs.Switch(Index: Integer);
    188219begin
     
    193224var
    194225  NewTabSheet: TTabSheet;
    195   NewPanel: TCDClientPanel;
     226  NewPanel: TCDManagerTabsItem;
    196227begin
    197228  inherited;
    198229  begin
    199     NewPanel := TCDClientPanel.Create(nil);
     230    NewPanel := TCDManagerTabsItem.Create;
    200231    with NewPanel do begin
    201       Parent := Self.DockSite;
    202       OwnerDockManager := Self;
     232      //Panel.Parent := Self.DockSite;
     233      Manager := Self;
    203234      if DockStyle = dsList then Visible := True;
    204       Align := alClient;
     235      //Align := alClient;
    205236      Header.PopupMenu := Self.PopupMenu;
    206237      //PopupMenu.Parent := Self.DockSite;
     
    211242    NewPanel.Control := AControl;
    212243    AControl.AddHandlerOnVisibleChanged(NewPanel.VisibleChange);
    213     AControl.Parent := NewPanel.ClientAreaPanel;
     244    //AControl.Parent := NewPanel.ClientAreaPanel;
    214245    AControl.Align := alClient;
    215246    if (InsertAt = alTop) or (InsertAt = alLeft) then
    216       DockPanels.Insert(0, NewPanel)
    217       else DockPanels.Add(NewPanel);
     247      DockItems.Insert(0, NewPanel)
     248      else DockItems.Add(NewPanel);
    218249
    219250  end;
     
    225256    NewTabSheet.ImageIndex := TabImageList.Count;
    226257    TabImageList.Add(NewPanel.Header.Icon.Picture.Bitmap, nil);
    227     if Assigned(NewPanel.Splitter) then
    228       NewPanel.Splitter.Visible := False;
    229     NewPanel.ClientAreaPanel.Visible := False;
    230     NewPanel.Visible := False;
     258//    if Assigned(NewPanel.Splitter) then
     259//      NewPanel.Splitter.Visible := False;
     260//    NewPanel.ClientAreaPanel.Visible := False;
     261//    NewPanel.Visible := False;
    231262    //NewPanel.Parent := NewTabSheet;
    232263  end;
     
    253284begin
    254285  inherited UpdateClientSize;
    255   for I := 0 to DockPanels.Count - 1 do begin
     286  for I := 0 to DockItems.Count - 1 do begin
    256287    //TCDClientPanel(DockPanels[I]).ClientAreaPanel.Width := DockSite.Width;
    257288    //TCDClientPanel(DockPanels[I]).ClientAreaPanel.Height := DockSite.Height - PageControl.Height;
     
    263294begin
    264295  inherited;
    265     if (PageControl.TabIndex >= 0) and (PageControl.TabIndex < DockPanels.Count) then
    266       with TCDClientPanel(DockPanels[PageControl.TabIndex]) do begin
     296    if (PageControl.TabIndex >= 0) and (PageControl.TabIndex < DockItems.Count) then
     297      with TCDManagerItem(DockItems[PageControl.TabIndex]) do begin
    267298        //Show;
    268299        //ShowMessage(IntToStr(Control.Tag));
     
    294325        //TabImageList.Delete(PageControl.Tabs.IndexOf(Control.Caption));
    295326
    296         I := DockPanels.IndexOf(FindControlInPanels(Control));
     327        I := DockItems.IndexOf(FindControlInPanels(Control));
    297328        if Control.Tag = Integer(dhtPermanent) then
    298329        if I <> -1 then
     
    308339    begin
    309340//      if Control.Tag = 0 then begin
    310         I := DockPanels.IndexOf(FindControlInPanels(Control));
     341        I := DockItems.IndexOf(FindControlInPanels(Control));
    311342        //if  then
    312343        if I <> -1 then
  • Docking/CoolDocking/Managers/UCDManagerTabsPopup.pas

    r193 r194  
    77uses
    88  Classes, Controls, SysUtils, ComCtrls, ExtCtrls, UCDCommon,
    9   UCDManagerTabs, UCDClientPanel;
     9  UCDManagerTabs;
    1010
    1111type
     
    3838  end;
    3939
     40  { TCDManagerTabsPopupItem }
     41
     42  TCDManagerTabsPopupItem = class
     43    constructor Create;
     44  end;
     45
    4046  { TCDStylePopupTabs }
    4147
    4248  TCDStylePopupTabs = class(TCDManagerTabs)
     49  public
    4350    TabControl: TTabControl;
    4451    TabImageList: TImageList;
     52    AutoHideEnabled: Boolean;
    4553    AutoHide: TCDAutoHide;
    4654    procedure TabControlMouseLeave(Sender: TObject);
     
    6169  UCDClient;
    6270
     71{ TCDManagerTabsPopupItem }
     72
     73constructor TCDManagerTabsPopupItem.Create;
     74begin
     75end;
     76
    6377{ TCDAutoHide }
    6478
  • Docking/CoolDocking/UCDClient.pas

    r193 r194  
    1111  Buttons, ExtCtrls, Contnrs, Forms, ComCtrls, Dialogs, Menus, FileUtil,
    1212  UCDCustomize, DOM, XMLWrite, XMLRead, UCDCommon,
    13   DateUtils, UCDClientPanel, UCDPopupMenu, UCDManager;
     13  DateUtils, UCDPopupMenu, UCDManager;
    1414
    1515const
  • Docking/CoolDocking/UCDConjoinForm.pas

    r189 r194  
    66
    77uses
    8   Classes, SysUtils, UCDCommon, UCDClientPanel;
     8  Classes, SysUtils, UCDCommon;
    99
    1010type
     
    4040begin
    4141  TCDManager(DockManager).Visible := False;
    42   // Hide all docked childs
    43   with TCDManager(DockManager) do
    44   for I := 0 to DockPanels.Count - 1 do
    45     if Assigned(TCDClientPanel(DockPanels[I]).Control) then begin
    46       TCDClientPanel(DockPanels[I]).Control.Tag := Integer(dhtTemporal);
    47       TCDClientPanel(DockPanels[I]).Control.Hide;
    48     end;
    4942end;
    5043
  • Docking/CoolDocking/UCDCustomize.pas

    r192 r194  
    77uses
    88  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
    9   ComCtrls, StdCtrls, Spin, UCDLayout, UCDCommon;
     9  ComCtrls, StdCtrls, Spin, UCDLayout, UCDCommon, UCDManager;
    1010
    1111type
     
    6464
    6565uses
    66   UCDClient, UCDMaster, UCDClientPanel;
     66  UCDClient, UCDMaster;
    6767
    6868resourcestring
  • Docking/CoolDocking/UCDManager.pas

    r193 r194  
    11unit UCDManager;
    22
    3 {$mode objfpc}{$H+}
     3{$mode Delphi}{$H+}
    44
    55interface
    66
    77uses
    8   Classes, SysUtils, UCDCommon, Controls, Contnrs, UCDClientPanel,
    9   UCDPopupMenu, LCLType, LMessages, Graphics,
     8  Classes, SysUtils, UCDCommon, Controls, Contnrs,
     9  UCDPopupMenu, LCLType, LMessages, Graphics, Buttons,
    1010  UCDConjoinForm, Menus, StdCtrls, ExtCtrls, Forms;
    1111
     12const
     13  GrabberSize = 22;
     14
    1215type
    13   { TCoolDockPanels }
    14 
    15   // TCoolDockPanels = TObjectList<TCDClientPanel>
    16   TCDPanels = class(TObjectList)
     16  THeaderPos = (hpAuto, hpLeft, hpTop, hpRight, hpBottom);
     17
     18  TCDManager = class;
     19  TCDManagerItem = class;
     20
     21  TCDHeader = class(TPanel)
     22  private
     23    procedure CloseButtonClick(Sender: TObject);
     24    procedure DrawGrabber(Canvas: TCanvas; AControl: TControl);
     25  public
     26    CloseButton: TSpeedButton;
     27    Title: TLabel;
     28    Icon: TImage;
     29    ManagerItem: TCDManagerItem;
     30    Shape: TShape;
     31    constructor Create(TheOwner: TComponent); override;
    1732    destructor Destroy; override;
     33  end;
     34
     35  { TCDManagerItem }
     36
     37  TCDManagerItem = class
     38  private
     39    FHeaderPos: THeaderPos;
     40    FShowHeader: Boolean;
     41    procedure DockPanelMouseDown(Sender: TObject; Button: TMouseButton;
     42      Shift: TShiftState; X, Y: Integer);
     43    procedure ResizeExecute(Sender: TObject);
     44    procedure SetHeaderPos(const AValue: THeaderPos);
     45  public
     46    Header: TCDHeader;
     47    Control: TControl;
     48    Manager: TCDManager;
     49    procedure Paint(Sender: TObject); virtual;
     50    procedure VisibleChange(Sender: TObject); virtual;
     51    constructor Create;
     52    destructor Destroy; override;
     53    property ShowHeader: Boolean read FShowHeader write FShowHeader;
     54    property HeaderPos: THeaderPos read FHeaderPos write SetHeaderPos;
    1855  end;
    1956
     
    2360  private
    2461    FDockSite: TWinControl;
    25     FDockPanels: TCDPanels;
    2662    function GetDockSite: TWinControl;
    2763    function GetHeaderPos: THeaderPos;
     
    65101    function AutoFreeByControl: Boolean; override;
    66102
    67     function FindControlInPanels(Control: TControl): TCDClientPanel;
     103    function FindControlInPanels(Control: TControl): TCDManagerItem; virtual;
    68104    function CreateContainer(InsertAt: TAlign): TCDConjoinForm;
    69     property DockPanels: TCDPanels read FDockPanels write FDockPanels;
    70105    property DockStyle: TCDStyleType read FDockStyle write SetDockStyle;
    71106    property MoveDuration: Integer read GetMoveDuration write SetMoveDuration;
     
    81116  UCDManagerRegions, UCDManagerTabs, UCDManagerRegionsPopup, UCDManagerTabsPopup;
    82117
     118{ TCDManagerItem }
     119
     120procedure TCDManagerItem.SetHeaderPos(const AValue: THeaderPos);
     121begin
     122  if FHeaderPos=AValue then exit;
     123  FHeaderPos:=AValue;
     124  Paint(Self);
     125end;
     126
     127procedure TCDManagerItem.Paint(Sender: TObject);
     128var
     129  I: Integer;
     130  R: TRect;
     131begin
     132(*  if not (csDesigning in ComponentState) then
     133  if Assigned(Control) then begin
     134    R := Control.ClientRect;
     135    Canvas.FillRect(R);
     136    Header.Visible := ShowHeader;
     137    if ShowHeader then begin
     138      if ClientAreaPanel.DockClientCount = 0 then
     139        Header.DrawGrabber(Canvas, Control) else
     140      Header.DrawGrabber(Canvas, ClientAreaPanel);
     141    end;
     142  end;*)
     143end;
     144
     145constructor TCDManagerItem.Create;
     146begin
     147  //Paint.OnPaint := Paint;
     148  Header.Shape.OnMouseDown := DockPanelMouseDown;
     149  Header.Title.OnMouseDown := DockPanelMouseDown;
     150  //OnResize := ResizeExecute;
     151  //BevelInner := bvNone;
     152  //BevelOuter := bvNone;
     153  HeaderPos := hpTop;
     154
     155  ShowHeader := True;
     156  Header := TCDHeader.Create(nil);
     157  with Header do begin
     158    Parent := nil;
     159    Visible := ShowHeader;
     160    Align := alTop;
     161    Height := GrabberSize;
     162    ManagerItem := Self;
     163  end;
     164end;
     165
     166procedure TCDManagerItem.ResizeExecute(Sender: TObject);
     167begin
     168(*  if Assigned(Control) then begin
     169    Control.Top := GrabberSize;
     170    Control.Left := 0;
     171    Control.Width := Width;
     172    Control.Height := Height - GrabberSize;
     173    //Control.SetBounds(0, GrabberSize, Width - Control.Left,
     174    //  Height - Control.Top);
     175  end;*)
     176end;
     177
     178procedure TCDManagerItem.DockPanelMouseDown(Sender: TObject;
     179  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
     180begin
     181  if Control is TForm then begin
     182    //TForm(Control).SetFocus;
     183    Paint(Self);
     184  end;
     185  if (Button = mbLeft) then begin
     186    //(Control as TWinControl).DockSite := False;
     187    //ClientAreaPanel.DockSite := False;
     188    //(Control as TWinControl).BeginDrag(False, 10);
     189    //DragManager.DragStart(Control, False, 1);
     190  end;
     191end;
     192
     193destructor TCDManagerItem.Destroy;
     194begin
     195  if Assigned(Control) then
     196    Control.RemoveHandlerOnVisibleChanged(VisibleChange);
     197  inherited Destroy;
     198end;
     199
     200procedure TCDManagerItem.VisibleChange(Sender: TObject);
     201var
     202  ControlVisible: Boolean;
     203  Temp: TControl;
     204  Temp2: TControl;
     205begin
     206{  Temp := TControl(Sender);
     207  if Assigned(Control) then
     208  begin
     209    ControlVisible := TControl(Sender).Visible;
     210    (*if Assigned(ClientAreaPanel) then
     211      ClientAreaPanel.Visible := ControlVisible;
     212    if Assigned(Splitter) then
     213      Splitter.Visible := ControlVisible;
     214      *)
     215//    if Assigned(TCDManager(OwnerDockManager).DockStyleHandler) then
     216    if Assigned(Manager) then
     217    with TCDManager(Manager) do
     218    begin
     219      //UpdateClientSize;
     220      if ControlVisible then
     221        Switch(DockItems.IndexOf(FindControlInPanels(TControl(Sender))));
     222      if not (Control is TWinControl) then raise Exception.Create('Not TWinControl');
     223      if not Assigned(Control) then raise Exception.Create('Control not assigned');
     224      ChangeVisible(TWinControl(Control), ControlVisible);
     225      // Show parent control
     226      Temp := TControl(Sender).HostDockSite;
     227
     228      if ControlVisible then
     229        TControl(Sender).HostDockSite.Visible := ControlVisible;
     230    end;
     231    if csDestroying in Control.ComponentState then Control := nil;
     232  end;}
     233end;
     234
    83235{ TCDManager }
    84236
    85237function TCDManager.FindControlInPanels(Control: TControl
    86   ): TCDClientPanel;
    87 var
    88   I: Integer;
    89 begin
    90   I := 0;
    91   while (I < FDockPanels.Count) and
    92     (TCDClientPanel(FDockPanels[I]).Control <> Control) do Inc(I);
    93   if I < FDockPanels.Count then Result := TCDClientPanel(FDockPanels[I])
    94     else Result := nil;
     238  ): TCDManagerItem;
     239begin
     240  Result := nil;
    95241end;
    96242
     
    118264
    119265  FDockSite := ADockSite;
    120   FDockPanels := TCDPanels.Create;
    121266
    122267  FDockStyle := dsList; // dsNone
     
    128273begin
    129274  PopupMenu.Free;
    130   FDockPanels.Free;
    131275  inherited Destroy;
    132276end;
     
    171315var
    172316  NewSplitter: TSplitter;
    173   NewDockPanel: TCDClientPanel;
     317  NewDockPanel: TCDManagerItem;
    174318  NewPanel: TPanel;
    175319  I: Integer;
     
    193337    end;
    194338  end else
    195   if (FDockSite is TCDConjoinForm) or (FDockSite is TPanel) or (FDockSite is TCDClientPanel) then begin
     339  if (FDockSite is TCDConjoinForm) or (FDockSite is TPanel) then begin
    196340    InsertControlPanel(Control, InsertAt, DropCtl);
    197341  end;
     
    206350
    207351procedure TCDManager.PaintSite(DC: HDC);
    208 var
    209   Canvas: TControlCanvas;
    210   Control: TControl;
    211   I: Integer;
    212   R: TRect;
    213 begin
    214   for I := 0 to FDockPanels.Count - 1 do
    215     with TCDClientPanel(FDockPanels[I]) do begin
    216       Invalidate;
    217     end;
     352begin
    218353end;
    219354
     
    254389
    255390procedure TCDManager.RemoveControl(Control: TControl);
    256 var
    257   ClientPanel: TCDClientPanel;
     391//var
     392//  ClientPanel: TCDClientPanel;
    258393begin
    259394  //DockStyleHandler.RemoveControl(Control);
     
    322457    if AValue = dsTabs then begin
    323458      NewManager := TCDManagerTabs.Create(FDockSite);
    324       TCDManagerTabs(Self).TabControlChange(Self);
     459      //TCDManagerTabs(Self).TabControlChange(Self);
    325460    end else
    326461    if AValue = dsList then begin
     
    328463    end else
    329464    if AValue = dsPopupList then begin
    330       NewManager := TCDStylePopupRegions.Create(FDockSite);
     465      NewManager := TCDManagerPopupRegions.Create(FDockSite);
    331466    end else
    332467    if AValue = dsPopupTabs then begin
     
    336471      NewManager.Assign(TCDManager(DockSite.DockManager));
    337472    DockSite.DockManager := NewManager;
    338   end;
    339   UpdateClientSize;
     473    NewManager.UpdateClientSize;
     474  end;
    340475end;
    341476
     
    379514end;
    380515
    381 { TCDPanels }
    382 
    383 destructor TCDPanels.Destroy;
    384 var
    385   Temp: Integer;
    386 begin
    387   Temp := Count;
     516{ TCDHeader }
     517
     518constructor TCDHeader.Create(TheOwner: TComponent);
     519begin
     520  inherited Create(TheOwner);
     521  Shape := TShape.Create(Self);
     522  with Shape do begin
     523    Parent := Self;
     524    Anchors := [akRight, akBottom, akLeft, akTop];
     525    Left := 1;
     526    Top := 1;
     527    Width := Self.Width - 2;
     528    Height := Self.Height - 2;
     529    Brush.Style := bsClear;
     530  end;
     531  Title := TLabel.Create(Self);
     532  with Title do begin
     533    Parent := Self;
     534    Visible := True;
     535    Top := 4;
     536    Left := 6;
     537    BevelInner := bvNone;
     538    BevelOuter := bvNone;
     539  end;
     540  CloseButton := TSpeedButton.Create(Self);
     541  with CloseButton do begin
     542    Parent := Self;
     543    Caption := 'X';
     544    Font.Size := 6;
     545    Width := GrabberSize - 8;
     546    Height := GrabberSize - 8;
     547    Anchors := [akRight, akTop];
     548    Left := Self.Width - Width - 4;
     549    Top := 4;
     550    Visible := True;
     551    OnClick := CloseButtonClick;
     552  end;
     553  Icon := TImage.Create(Self);
     554  with Icon do begin
     555    Parent := Self;
     556    Left := 4;
     557    Top := 2;
     558    Visible := True;
     559  end;
     560end;
     561
     562destructor TCDHeader.Destroy;
     563begin
    388564  inherited Destroy;
    389565end;
    390566
     567procedure TCDHeader.DrawGrabber(Canvas: TCanvas; AControl: TControl);
     568begin
     569  with Canvas do begin
     570    Brush.Color := clBtnFace;
     571    Pen.Color := clBlack;
     572    //FillRect(0, 0, AControl.Width, GrabberSize);
     573
     574    if (AControl as TWinControl).Focused then
     575      Title.Font.Style := Font.Style + [fsBold]
     576      else Title.Font.Style := Font.Style - [fsBold];
     577    Rectangle(1, 1, AControl.Width - 1, GrabberSize - 1);
     578    if Icon.Picture.Width > 0 then Title.Left := 8 + Icon.Picture.Width
     579      else Title.Left := 6;
     580    Title.Caption := AControl.Caption;
     581  end;
     582end;
     583
     584procedure TCDHeader.CloseButtonClick(Sender: TObject);
     585begin
     586  ManagerItem.Control.Hide;
     587end;
     588
    391589
    392590
  • Docking/CoolDocking/UCDMaster.pas

    r191 r194  
    66
    77uses
    8   Classes, SysUtils, UCDCommon, UCDClientPanel;
     8  Classes, SysUtils, UCDCommon, UCDManager;
    99
    1010type
  • Docking/CoolDocking/UCDPopupMenu.pas

    r193 r194  
    66
    77uses
    8   Classes, SysUtils, Menus, Forms, Controls, Dialogs, UCDClientPanel,
     8  Classes, SysUtils, Menus, Forms, Controls, Dialogs,
    99  ExtCtrls, ComCtrls, UCDCommon;
    1010
     
    165165  if PopupComponent is TPageControl then
    166166  with TPageControl(PopupComponent) do begin
    167     TForm(TCDClientPanel(TCDManager(Manager).DockPanels[TabIndex]).Control).Close;
    168   end;
    169   if PopupComponent is TCDHeader then
    170   with TCDHeader(PopupComponent) do begin
    171     TForm(ParentClientPanel.Control).Close;
     167    TForm(TCDManagerTabsItem(TCDManagerTabs(Manager).DockItems[TabIndex]).Control).Close;
     168  end;
     169  if PopupComponent is TCDHeader then
     170  with TCDHeader(PopupComponent) do begin
     171    TForm(ManagerItem.Control).Close;
    172172  end;
    173173end;
     
    180180  if PopupComponent is TPageControl then
    181181  with TPageControl(PopupComponent) do begin
    182     Value := TCDClientPanel(TCDManager(Manager).DockPanels[TabIndex]).Control.Caption;
     182    Value := TCDManagerTabsItem(TCDManagerTabs(Manager).DockItems[TabIndex]).Control.Caption;
    183183    if InputQuery(SRenameWindow, SEnterNewWindowName, False, Value) then begin
    184       TCDClientPanel(TCDManager(Manager).DockPanels[TabIndex]).Control.Caption := Value;
     184      TCDManagerTabsItem(TCDManagerTabs(Manager).DockItems[TabIndex]).Control.Caption := Value;
    185185      Pages[TabIndex].Caption := Value;
    186186    end;
     
    188188  if PopupComponent is TCDHeader then
    189189  with TCDHeader(PopupComponent) do begin
    190     Value := ParentClientPanel.Control.Caption;
     190    Value := ManagerItem.Control.Caption;
    191191    if InputQuery(SRenameWindow, SEnterNewWindowName, False, Value) then begin
    192       ParentClientPanel.Control.Caption := Value;
     192      ManagerItem.Control.Caption := Value;
    193193      Title.Caption := Value;
    194194    end;
     
    262262  if PopupComponent is TPageControl then
    263263  with TPageControl(PopupComponent) do begin
    264     Control := TCDClientPanel(TCDManager(Manager).DockPanels[TabIndex]).Control;
    265   end else
    266   if PopupComponent is TCDHeader then
    267   with TCDHeader(PopupComponent) do begin
    268     Control := ParentClientPanel.Control;
     264    Control := TCDManagerTabsItem(TCDManagerTabs(Manager).DockItems[TabIndex]).Control;
     265  end else
     266  if PopupComponent is TCDHeader then
     267  with TCDHeader(PopupComponent) do begin
     268    Control := ManagerItem.Control;
    269269  end else Control := nil;
    270270  if Assigned(Control) then
Note: See TracChangeset for help on using the changeset viewer.