Changeset 208 for Docking


Ignore:
Timestamp:
Mar 18, 2011, 1:24:37 PM (13 years ago)
Author:
george
Message:
  • Fixed: Controls docked in Popup Tabs Manager was not removed due wrong RemoveControl method inheritance.
  • Fixed: Tabs in Tabs manager was not update properly.
  • Added: HeaderPos stored in Layout.
Location:
Docking/CoolDocking
Files:
5 edited

Legend:

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

    r207 r208  
    4747      </Item4>
    4848    </RequiredPackages>
    49     <Units Count="55">
     49    <Units Count="62">
    5050      <Unit0>
    5151        <Filename Value="IDE.lpr"/>
     
    6565        <EditorIndex Value="1"/>
    6666        <WindowIndex Value="0"/>
    67         <TopLine Value="96"/>
    68         <CursorPos X="26" Y="95"/>
     67        <TopLine Value="161"/>
     68        <CursorPos X="54" Y="168"/>
    6969        <UsageCount Value="314"/>
    7070        <Loaded Value="True"/>
     
    106106      <Unit5>
    107107        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    108         <EditorIndex Value="3"/>
    109         <WindowIndex Value="0"/>
    110         <TopLine Value="3705"/>
    111         <CursorPos X="1" Y="3726"/>
    112         <UsageCount Value="77"/>
    113         <Loaded Value="True"/>
     108        <WindowIndex Value="0"/>
     109        <TopLine Value="2414"/>
     110        <CursorPos X="1" Y="2427"/>
     111        <UsageCount Value="78"/>
    114112      </Unit5>
    115113      <Unit6>
     
    127125        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\customform.inc"/>
    128126        <WindowIndex Value="0"/>
    129         <TopLine Value="941"/>
    130         <CursorPos X="1" Y="954"/>
     127        <TopLine Value="1121"/>
     128        <CursorPos X="1" Y="1134"/>
    131129        <UsageCount Value="31"/>
    132130      </Unit7>
     
    220218        <UnitName Value="UCDLayout"/>
    221219        <WindowIndex Value="0"/>
    222         <TopLine Value="1"/>
    223         <CursorPos X="22" Y="16"/>
     220        <TopLine Value="344"/>
     221        <CursorPos X="43" Y="365"/>
    224222        <UsageCount Value="61"/>
    225223      </Unit16>
     
    227225        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classesh.inc"/>
    228226        <WindowIndex Value="0"/>
    229         <TopLine Value="20"/>
    230         <CursorPos X="19" Y="33"/>
     227        <TopLine Value="285"/>
     228        <CursorPos X="14" Y="298"/>
    231229        <UsageCount Value="15"/>
    232230      </Unit17>
     
    243241        <UnitName Value="Forms"/>
    244242        <WindowIndex Value="0"/>
    245         <TopLine Value="702"/>
    246         <CursorPos X="22" Y="715"/>
    247         <UsageCount Value="7"/>
     243        <TopLine Value="1790"/>
     244        <CursorPos X="1" Y="1803"/>
     245        <UsageCount Value="10"/>
    248246      </Unit19>
    249247      <Unit20>
     
    257255        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\controls.pp"/>
    258256        <UnitName Value="Controls"/>
    259         <WindowIndex Value="0"/>
    260         <TopLine Value="1385"/>
    261         <CursorPos X="14" Y="1398"/>
     257        <EditorIndex Value="3"/>
     258        <WindowIndex Value="0"/>
     259        <TopLine Value="508"/>
     260        <CursorPos X="15" Y="521"/>
    262261        <UsageCount Value="58"/>
     262        <Loaded Value="True"/>
    263263      </Unit21>
    264264      <Unit22>
    265265        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\wincontrol.inc"/>
    266         <EditorIndex Value="8"/>
     266        <EditorIndex Value="6"/>
    267267        <WindowIndex Value="0"/>
    268268        <TopLine Value="6712"/>
    269         <CursorPos X="18" Y="6726"/>
     269        <CursorPos X="1" Y="6725"/>
    270270        <UsageCount Value="111"/>
    271271        <Loaded Value="True"/>
     
    293293        <Filename Value="..\..\UCDPopupMenu.pas"/>
    294294        <UnitName Value="UCDPopupMenu"/>
    295         <EditorIndex Value="7"/>
    296295        <WindowIndex Value="0"/>
    297296        <TopLine Value="319"/>
    298         <CursorPos X="1" Y="337"/>
     297        <CursorPos X="1" Y="335"/>
    299298        <UsageCount Value="141"/>
    300         <Loaded Value="True"/>
    301299      </Unit25>
    302300      <Unit26>
     
    304302        <UnitName Value="LCLClasses"/>
    305303        <WindowIndex Value="0"/>
    306         <TopLine Value="81"/>
    307         <CursorPos X="20" Y="94"/>
    308         <UsageCount Value="6"/>
     304        <TopLine Value="61"/>
     305        <CursorPos X="33" Y="78"/>
     306        <UsageCount Value="10"/>
    309307      </Unit26>
    310308      <Unit27>
     
    327325        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
    328326        <UnitName Value="UCDManagerTabs"/>
    329         <EditorIndex Value="6"/>
    330         <WindowIndex Value="0"/>
    331         <TopLine Value="11"/>
    332         <CursorPos X="33" Y="24"/>
     327        <IsVisibleTab Value="True"/>
     328        <EditorIndex Value="5"/>
     329        <WindowIndex Value="0"/>
     330        <TopLine Value="32"/>
     331        <CursorPos X="1" Y="46"/>
    333332        <UsageCount Value="130"/>
    334333        <Loaded Value="True"/>
     
    337336        <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    338337        <UnitName Value="UCDManagerRegions"/>
    339         <EditorIndex Value="5"/>
    340         <WindowIndex Value="0"/>
    341         <TopLine Value="56"/>
    342         <CursorPos X="15" Y="69"/>
     338        <EditorIndex Value="4"/>
     339        <WindowIndex Value="0"/>
     340        <TopLine Value="208"/>
     341        <CursorPos X="3" Y="221"/>
    343342        <UsageCount Value="129"/>
    344343        <Loaded Value="True"/>
     
    349348        <EditorIndex Value="0"/>
    350349        <WindowIndex Value="0"/>
    351         <TopLine Value="45"/>
    352         <CursorPos X="35" Y="53"/>
     350        <TopLine Value="259"/>
     351        <CursorPos X="1" Y="266"/>
    353352        <UsageCount Value="120"/>
    354353        <Loaded Value="True"/>
     
    377376        <Filename Value="..\..\UCDManager.pas"/>
    378377        <UnitName Value="UCDManager"/>
    379         <IsVisibleTab Value="True"/>
    380378        <EditorIndex Value="2"/>
    381379        <WindowIndex Value="0"/>
    382         <TopLine Value="202"/>
    383         <CursorPos X="1" Y="223"/>
     380        <TopLine Value="458"/>
     381        <CursorPos X="1" Y="471"/>
    384382        <UsageCount Value="105"/>
    385383        <Loaded Value="True"/>
     
    388386        <Filename Value="..\..\UCDConjoinForm.pas"/>
    389387        <UnitName Value="UCDConjoinForm"/>
    390         <EditorIndex Value="4"/>
    391388        <WindowIndex Value="0"/>
    392389        <TopLine Value="38"/>
    393390        <CursorPos X="17" Y="51"/>
    394391        <UsageCount Value="99"/>
    395         <Loaded Value="True"/>
    396392      </Unit35>
    397393      <Unit36>
     
    399395        <UnitName Value="ExtCtrls"/>
    400396        <WindowIndex Value="0"/>
    401         <TopLine Value="1181"/>
    402         <CursorPos X="22" Y="1194"/>
     397        <TopLine Value="215"/>
     398        <CursorPos X="14" Y="228"/>
    403399        <UsageCount Value="96"/>
    404400      </Unit36>
     
    406402        <Filename Value="..\..\UCDMaster.pas"/>
    407403        <UnitName Value="UCDMaster"/>
    408         <EditorIndex Value="9"/>
    409404        <WindowIndex Value="0"/>
    410405        <TopLine Value="11"/>
    411406        <CursorPos X="18" Y="19"/>
    412407        <UsageCount Value="101"/>
    413         <Loaded Value="True"/>
    414408      </Unit37>
    415409      <Unit38>
     
    417411        <UnitName Value="ComCtrls"/>
    418412        <WindowIndex Value="0"/>
    419         <TopLine Value="343"/>
    420         <CursorPos X="14" Y="356"/>
     413        <TopLine Value="290"/>
     414        <CursorPos X="45" Y="308"/>
    421415        <UsageCount Value="91"/>
    422416      </Unit38>
     
    476470        <UnitName Value="ImgList"/>
    477471        <WindowIndex Value="0"/>
    478         <TopLine Value="165"/>
    479         <CursorPos X="15" Y="178"/>
     472        <TopLine Value="160"/>
     473        <CursorPos X="15" Y="188"/>
    480474        <UsageCount Value="21"/>
    481475      </Unit45>
     
    483477        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\imglist.inc"/>
    484478        <WindowIndex Value="0"/>
    485         <TopLine Value="554"/>
    486         <CursorPos X="9" Y="564"/>
     479        <TopLine Value="53"/>
     480        <CursorPos X="1" Y="66"/>
    487481        <UsageCount Value="21"/>
    488482      </Unit46>
     
    506500        <UnitName Value="Menus"/>
    507501        <WindowIndex Value="0"/>
    508         <TopLine Value="153"/>
    509         <CursorPos X="15" Y="166"/>
    510         <UsageCount Value="5"/>
     502        <TopLine Value="424"/>
     503        <CursorPos X="10" Y="437"/>
     504        <UsageCount Value="10"/>
    511505      </Unit49>
    512506      <Unit50>
     
    521515        <UnitName Value="LCLType"/>
    522516        <WindowIndex Value="0"/>
    523         <TopLine Value="70"/>
    524         <CursorPos X="3" Y="83"/>
     517        <TopLine Value="140"/>
     518        <CursorPos X="3" Y="153"/>
    525519        <UsageCount Value="26"/>
    526520      </Unit51>
     
    548542        <UsageCount Value="12"/>
    549543      </Unit54>
     544      <Unit55>
     545        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\dragmanager.inc"/>
     546        <WindowIndex Value="0"/>
     547        <TopLine Value="553"/>
     548        <CursorPos X="1" Y="566"/>
     549        <UsageCount Value="10"/>
     550      </Unit55>
     551      <Unit56>
     552        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\custompage.inc"/>
     553        <WindowIndex Value="0"/>
     554        <TopLine Value="104"/>
     555        <CursorPos X="3" Y="111"/>
     556        <UsageCount Value="10"/>
     557      </Unit56>
     558      <Unit57>
     559        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\tabsheet.inc"/>
     560        <WindowIndex Value="0"/>
     561        <TopLine Value="48"/>
     562        <CursorPos X="1" Y="70"/>
     563        <UsageCount Value="10"/>
     564      </Unit57>
     565      <Unit58>
     566        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\lclmessageglue.pas"/>
     567        <UnitName Value="LCLMessageGlue"/>
     568        <WindowIndex Value="0"/>
     569        <TopLine Value="98"/>
     570        <CursorPos X="1" Y="111"/>
     571        <UsageCount Value="10"/>
     572      </Unit58>
     573      <Unit59>
     574        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\interfaces\win32\win32proc.pp"/>
     575        <UnitName Value="win32proc"/>
     576        <WindowIndex Value="0"/>
     577        <TopLine Value="756"/>
     578        <CursorPos X="1" Y="769"/>
     579        <UsageCount Value="10"/>
     580      </Unit59>
     581      <Unit60>
     582        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\interfaces\win32\win32wscontrols.pp"/>
     583        <UnitName Value="Win32WSControls"/>
     584        <WindowIndex Value="0"/>
     585        <TopLine Value="474"/>
     586        <CursorPos X="1" Y="487"/>
     587        <UsageCount Value="10"/>
     588      </Unit60>
     589      <Unit61>
     590        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\lists.inc"/>
     591        <WindowIndex Value="0"/>
     592        <TopLine Value="699"/>
     593        <CursorPos X="3" Y="701"/>
     594        <UsageCount Value="10"/>
     595      </Unit61>
    550596    </Units>
    551597    <JumpHistory Count="30" HistoryIndex="29">
    552598      <Position1>
    553         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    554         <Caret Line="287" Column="1" TopLine="271"/>
     599        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     600        <Caret Line="362" Column="1" TopLine="341"/>
    555601      </Position1>
    556602      <Position2>
    557         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    558         <Caret Line="288" Column="1" TopLine="271"/>
     603        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     604        <Caret Line="365" Column="1" TopLine="344"/>
    559605      </Position2>
    560606      <Position3>
    561         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    562         <Caret Line="289" Column="1" TopLine="271"/>
     607        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     608        <Caret Line="366" Column="1" TopLine="345"/>
    563609      </Position3>
    564610      <Position4>
    565         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    566         <Caret Line="290" Column="1" TopLine="271"/>
     611        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     612        <Caret Line="367" Column="1" TopLine="346"/>
    567613      </Position4>
    568614      <Position5>
    569         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    570         <Caret Line="291" Column="1" TopLine="271"/>
     615        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     616        <Caret Line="368" Column="1" TopLine="347"/>
    571617      </Position5>
    572618      <Position6>
    573         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    574         <Caret Line="3691" Column="1" TopLine="3678"/>
     619        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     620        <Caret Line="369" Column="1" TopLine="348"/>
    575621      </Position6>
    576622      <Position7>
    577         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    578         <Caret Line="3694" Column="1" TopLine="3678"/>
     623        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     624        <Caret Line="370" Column="1" TopLine="349"/>
    579625      </Position7>
    580626      <Position8>
    581         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    582         <Caret Line="3695" Column="1" TopLine="3678"/>
     627        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     628        <Caret Line="371" Column="1" TopLine="350"/>
    583629      </Position8>
    584630      <Position9>
    585         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    586         <Caret Line="3696" Column="1" TopLine="3678"/>
     631        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     632        <Caret Line="372" Column="1" TopLine="351"/>
    587633      </Position9>
    588634      <Position10>
    589         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    590         <Caret Line="3697" Column="1" TopLine="3678"/>
     635        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     636        <Caret Line="373" Column="1" TopLine="352"/>
    591637      </Position10>
    592638      <Position11>
    593         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    594         <Caret Line="3698" Column="1" TopLine="3678"/>
     639        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     640        <Caret Line="366" Column="1" TopLine="352"/>
    595641      </Position11>
    596642      <Position12>
    597         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    598         <Caret Line="3700" Column="1" TopLine="3679"/>
     643        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     644        <Caret Line="367" Column="1" TopLine="352"/>
    599645      </Position12>
    600646      <Position13>
    601         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    602         <Caret Line="3702" Column="1" TopLine="3681"/>
     647        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     648        <Caret Line="368" Column="1" TopLine="352"/>
    603649      </Position13>
    604650      <Position14>
    605         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    606         <Caret Line="3703" Column="1" TopLine="3682"/>
     651        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     652        <Caret Line="369" Column="1" TopLine="352"/>
    607653      </Position14>
    608654      <Position15>
    609         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    610         <Caret Line="3706" Column="1" TopLine="3685"/>
     655        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     656        <Caret Line="370" Column="1" TopLine="352"/>
    611657      </Position15>
    612658      <Position16>
    613         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    614         <Caret Line="3707" Column="1" TopLine="3686"/>
     659        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     660        <Caret Line="371" Column="1" TopLine="352"/>
    615661      </Position16>
    616662      <Position17>
    617         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    618         <Caret Line="3708" Column="1" TopLine="3687"/>
     663        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     664        <Caret Line="372" Column="1" TopLine="352"/>
    619665      </Position17>
    620666      <Position18>
    621         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    622         <Caret Line="3709" Column="1" TopLine="3688"/>
     667        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     668        <Caret Line="373" Column="1" TopLine="352"/>
    623669      </Position18>
    624670      <Position19>
    625         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    626         <Caret Line="3710" Column="1" TopLine="3689"/>
     671        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     672        <Caret Line="378" Column="1" TopLine="365"/>
    627673      </Position19>
    628674      <Position20>
    629         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    630         <Caret Line="3714" Column="1" TopLine="3693"/>
     675        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     676        <Caret Line="379" Column="1" TopLine="329"/>
    631677      </Position20>
    632678      <Position21>
    633         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    634         <Caret Line="3715" Column="1" TopLine="3694"/>
     679        <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     680        <Caret Line="266" Column="18" TopLine="256"/>
    635681      </Position21>
    636682      <Position22>
    637         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    638         <Caret Line="3718" Column="1" TopLine="3697"/>
     683        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     684        <Caret Line="271" Column="3" TopLine="266"/>
    639685      </Position22>
    640686      <Position23>
    641         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    642         <Caret Line="3721" Column="1" TopLine="3700"/>
     687        <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     688        <Caret Line="266" Column="18" TopLine="256"/>
    643689      </Position23>
    644690      <Position24>
    645         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    646         <Caret Line="3724" Column="1" TopLine="3703"/>
     691        <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     692        <Caret Line="264" Column="1" TopLine="256"/>
    647693      </Position24>
    648694      <Position25>
    649         <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/>
    650         <Caret Line="3726" Column="1" TopLine="3705"/>
     695        <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     696        <Caret Line="266" Column="1" TopLine="256"/>
    651697      </Position25>
    652698      <Position26>
    653         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    654         <Caret Line="292" Column="1" TopLine="271"/>
     699        <Filename Value="..\..\UCDManager.pas"/>
     700        <Caret Line="469" Column="29" TopLine="458"/>
    655701      </Position26>
    656702      <Position27>
    657         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    658         <Caret Line="293" Column="1" TopLine="272"/>
     703        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     704        <Caret Line="38" Column="22" TopLine="25"/>
    659705      </Position27>
    660706      <Position28>
    661         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    662         <Caret Line="69" Column="29" TopLine="50"/>
     707        <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     708        <Caret Line="266" Column="12" TopLine="262"/>
    663709      </Position28>
    664710      <Position29>
    665         <Filename Value="..\..\UCDManager.pas"/>
    666         <Caret Line="50" Column="1" TopLine="44"/>
     711        <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     712        <Caret Line="264" Column="1" TopLine="259"/>
    667713      </Position29>
    668714      <Position30>
    669         <Filename Value="..\..\UCDManager.pas"/>
    670         <Caret Line="223" Column="16" TopLine="201"/>
     715        <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     716        <Caret Line="266" Column="1" TopLine="259"/>
    671717      </Position30>
    672718    </JumpHistory>
     
    709755  </CompilerOptions>
    710756  <Debugging>
    711     <BreakPoints Count="1">
     757    <BreakPoints Count="2">
    712758      <Item1>
    713         <Source Value="..\..\UCDPopupMenu.pas"/>
    714         <Line Value="334"/>
     759        <Source Value="..\..\Managers\UCDManagerTabs.pas"/>
     760        <Line Value="270"/>
    715761      </Item1>
     762      <Item2>
     763        <Source Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     764        <Line Value="263"/>
     765      </Item2>
    716766    </BreakPoints>
    717767    <Watches Count="1">
  • Docking/CoolDocking/Managers/UCDManagerTabs.pas

    r205 r208  
    77uses
    88  Classes, Controls, ExtCtrls, ComCtrls, SysUtils, Dialogs, Contnrs,
    9   Menus, Forms, UCDCommon, UCDManager,
     9  Menus, Forms, UCDCommon, UCDManager, UCDConjoinForm,
    1010  LCLType, LMessages, Graphics;
    1111
     
    1515
    1616  TCDManagerTabsItem = class(TCDManagerItem)
    17     Icon: TImage;
     17    IconImage: TImage;
    1818    constructor Create; override;
    1919    destructor Destroy; override;
     
    3636    procedure UpdateClientSize; override;
    3737    function FindControlInPanels(Control: TControl): TCDManagerItem; override;
    38     procedure RemoveControl(Control: TControl); override;
    3938    function GetHeaderPos: THeaderPos; override;
    4039  public
     
    4443    procedure SetHeaderPos(const AValue: THeaderPos); override;
    4544    procedure InsertControlNoUpdate(Control: TControl; InsertAt: TAlign); virtual;
    46     procedure TabControlChange(Sender: TObject); virtual;
     45    procedure RemoveControl(Control: TControl); override;
    4746    constructor Create(ADockSite: TWinControl); override;
    4847    destructor Destroy; override;
     48    procedure TabControlChange(Sender: TObject); virtual;
    4949    procedure PaintSite(DC: HDC); override;
    5050    procedure DoSetVisible(const AValue: Boolean); override;
     
    6464constructor TCDManagerTabsItem.Create;
    6565begin
    66   Icon := TImage.Create(nil);
     66  IconImage := TImage.Create(nil);
    6767end;
    6868
    6969destructor TCDManagerTabsItem.Destroy;
    7070begin
    71   Icon.Free;
     71  IconImage.Free;
    7272  inherited Destroy;
    7373end;
     
    107107  I: Integer;
    108108begin
    109   UpdateClientSize;
     109  //UpdateClientSize;
    110110{  // Hide all clients
    111111  for I := 0 to DockItems.Count - 1 do
     
    249249    NewItem := TCDManagerTabsItem.Create;
    250250    with NewItem do begin
    251       //Panel.Parent := Self.DockSite;
    252251      Manager := Self;
    253       //if DockStyle = dsList then Visible := True;
    254       //Align := alClient;
    255       //Header.PopupMenu := Self.PopupMenu;
    256       //PopupMenu.Parent := Self.DockSite;
    257252    end;
    258253    if (Control is TForm) and Assigned((Control as TForm).Icon) then
    259       NewItem.Icon.Picture.Assign((Control as TForm).Icon);
     254      NewItem.IconImage.Picture.Assign((Control as TForm).Icon);
    260255
    261256    NewItem.Control := Control;
     
    266261      DockItems.Insert(0, NewItem)
    267262      else DockItems.Add(NewItem);
    268 
    269   end;
    270 
    271     NewTabSheet := TTabSheet.Create(PageControl);
    272     NewTabSheet.PageControl := PageControl;
    273     NewTabSheet.Caption := Control.Caption;
    274     NewTabSheet.ImageIndex := TabImageList.Count;
    275     NewTabSheet.TabVisible := Control.Visible;
    276     Control.Parent := NewTabSheet;
    277     TabImageList.Add(NewItem.Icon.Picture.Bitmap, nil);
    278 //    if Assigned(NewItem.Splitter) then
    279 //      NewItem.Splitter.Visible := False;
    280 //    NewItem.ClientAreaPanel.Visible := False;
    281 //    NewItem.Visible := False;
    282     //NewItem.Parent := NewTabSheet;
     263  end;
    283264end;
    284265
    285266procedure TCDManagerTabs.RemoveControl(Control: TControl);
    286 begin
     267var
     268  ManagerItem: TCDManagerItem;
     269  ClientCount: Integer;
     270begin
     271  ManagerItem := FindControlInPanels(Control);
     272  if Assigned(ManagerItem) then begin
     273    Control.RemoveHandlerOnVisibleChanged(ManagerItem.VisibleChange);
     274  end;
     275
     276  DockItems.Remove(ManagerItem);
     277  ClientCount := DockItems.Count;
     278
     279  //if TCDManager(Manager).DockSite.DockClientCount = 2 then FDockDirection := ddNone;
     280  if ClientCount = 1 then begin
     281    // Last removed control => Free parent if it is TCDConjoinForm
     282    if Self.DockSite is TCDConjoinForm then
     283    with TCDConjoinForm(Self.DockSite) do begin
     284      if Assigned(Parent) then begin
     285        TCDManagerItem(DockItems[0]).Control.ManualDock(HostDockSite);
     286      end else TCDManagerItem(DockItems[0]).Control.ManualFloat(Rect(Left, Top, Left + Width, Top + Height));
     287      ManualFloat(Rect(Left, Top, Left + Width, Top + Height));
     288      Free;
     289    end;
     290  end;
    287291  inherited RemoveControl(Control);
     292  if ClientCount > 1 then UpdateClientSize;
    288293end;
    289294
     
    328333  inherited;
    329334  InsertControlNoUpdate(AControl, InsertAt);
    330   TabControlChange(Self);
     335  UpdateClientSize;
    331336end;
    332337
     
    336341  NewTabSheet: TTabSheet;
    337342begin
    338   inherited UpdateClientSize;
    339343  for I := 0 to DockItems.Count - 1 do
    340344  with TCDManagerTabsItem(DockItems[I]) do begin
     345    Control.Visible := False;
     346    Control.Parent := nil;
     347  end;
     348
     349  while PageControl.PageList.Count > DockItems.Count do begin
     350    PageControl.Pages[PageControl.PageCount - 1].Parent := nil;
     351    PageControl.Pages[PageControl.PageCount - 1].Free;
     352    TabImageList.Delete(TabImageList.Count - 1);
     353  end;
     354  while PageControl.PageList.Count < DockItems.Count do begin
     355    NewTabSheet := TTabSheet.Create(PageControl);
     356    NewTabSheet.PageControl := PageControl;
     357    TabImageList.Add(TCDManagerTabsItem(DockItems[PageControl.PageList.Count - 1]).IconImage.Picture.Bitmap, nil);
     358  end;
     359
     360  for I := 0 to DockItems.Count - 1 do
     361  with TCDManagerTabsItem(DockItems[I]) do begin
     362    PageControl.Pages[I].Caption := Control.Caption;
     363    PageControl.Pages[I].ImageIndex := TabImageList.Count;
     364    TabImageList.Replace(I, IconImage.Picture.Bitmap, nil);
    341365    Control.Parent := PageControl.Pages[I];
    342366    Control.Align := alClient;
    343 
     367    Control.Visible := True;
     368    PageControl.Pages[I].TabVisible := Control.Visible;
    344369    //TCDClientPanel(DockPanels[I]).ClientAreaPanel.Width := DockSite.Width;
    345370    //TCDClientPanel(DockPanels[I]).ClientAreaPanel.Height := DockSite.Height - PageControl.Height;
    346371    //TCDClientPanel(FDockPanels[I]).DockPanelPaint(Self);
    347372  end;
     373  inherited UpdateClientSize;
    348374end;
    349375
  • Docking/CoolDocking/Managers/UCDManagerTabsPopup.pas

    r207 r208  
    6565    procedure UpdatePopupFormBounds;
    6666    procedure TabControlChange(Sender: TObject); override;
     67    procedure PopupFormMouseLeave(Sender: TObject);
    6768  public
    6869    AutoHideEnabled: Boolean;
     
    7172    HeaderPanel: TCDPanelHeader;
    7273    Splitter: TPanel;
     74    procedure RemoveControl(Control: TControl); override;
    7375    procedure SetHeaderPos(const AValue: THeaderPos); override;
    7476    procedure PinShowButtonClick(Sender: TObject);
     
    253255end;
    254256
     257procedure TCDManagerTabsPopup.PopupFormMouseLeave(Sender: TObject);
     258begin
     259  if PopupForm.Visible then AutoHide.Hide;
     260end;
     261
     262procedure TCDManagerTabsPopup.RemoveControl(Control: TControl);
     263begin
     264  if DockItems.Count <= 2 then
     265    PageControl.OnResize := nil;
     266  inherited;
     267end;
     268
    255269constructor TCDManagerTabsPopup.Create(ADockSite: TWinControl);
    256270var
     
    263277  PopupForm.Visible := True;
    264278  PopupForm.BorderStyle := bsNone;
     279  PopupForm.OnMouseLeave := PopupFormMouseLeave;
    265280  HeaderPanel := TCDPanelHeader.Create(nil);
    266281  HeaderPanel.Parent := PopupForm;
     
    276291  AutoHide.Control := PopupForm;
    277292  PageControl.OnResize := PageControlResize;
     293  HeaderVisible := False;
    278294
    279295  for I := 0 to DockItems.Count - 1 do begin
     
    288304  AutoHide.Free;
    289305  PopupForm.Free;
     306  Splitter.Free;
    290307  HeaderPanel.Free;
    291308  inherited Destroy;
     
    306323    NewItem := TCDManagerTabsPopupItem.Create;
    307324    with NewItem do begin
    308       //Panel.Parent := Self.DockSite;
    309325      Manager := Self;
    310       //if DockStyle = dsList then Visible := True;
    311       //Align := alClient;
    312       //Header.PopupMenu := Self.PopupMenu;
    313       //PopupMenu.Parent := Self.DockSite;
    314326    end;
    315327    if (Control is TForm) and Assigned((Control as TForm).Icon) then
    316       NewItem.Icon.Picture.Assign((Control as TForm).Icon);
     328      NewItem.IconImage.Picture.Assign((Control as TForm).Icon);
    317329
    318330    NewItem.Control := Control;
     
    323335      DockItems.Insert(0, NewItem)
    324336      else DockItems.Add(NewItem);
    325 
    326   end;
    327 
    328     NewTabSheet := TTabSheet.Create(PageControl);
    329     NewTabSheet.PageControl := PageControl;
    330     NewTabSheet.Caption := Control.Caption;
    331     NewTabSheet.ImageIndex := TabImageList.Count;
    332     NewTabSheet.TabVisible := Control.Visible;
    333     Control.Parent := NewTabSheet;
    334     TabImageList.Add(NewItem.Icon.Picture.Bitmap, nil);
    335 //    if Assigned(NewItem.Splitter) then
    336 //      NewItem.Splitter.Visible := False;
    337 //    NewItem.ClientAreaPanel.Visible := False;
    338 //    NewItem.Visible := False;
    339     //NewItem.Parent := NewTabSheet;
     337  end;
    340338end;
    341339
  • Docking/CoolDocking/UCDLayout.pas

    r191 r208  
    2727    UndockSize: TPoint;
    2828    DockStyle: TCDStyleType;
     29    HeaderPos: THeaderPos;
    2930    Processed: boolean;
    3031    procedure SaveToNode(Node: TDOMNode);
     
    286287    NewNode.TextContent := IntToStr(RestoredRect.Left);
    287288    AppendChild(NewNode);
     289    NewNode := OwnerDocument.CreateElement('HeaderPos');
     290    NewNode.TextContent := IntToStr(Integer(HeaderPos));
     291    AppendChild(NewNode);
    288292  end;
    289293end;
     
    349353    if Assigned(NewNode) then
    350354      RestoredRect.Height := StrToInt(NewNode.TextContent);
     355    NewNode := FindNode('HeaderPos');
     356    if Assigned(NewNode) then
     357      HeaderPos := THeaderPos(StrToInt(NewNode.TextContent));
    351358  end;
    352359end;
     
    366373  Rect.Width := Form.Width;
    367374  Rect.Height := Form.Height;
     375  if Assigned(Form.DockManager) then
     376    HeaderPos := TCDManager(Form.DockManager).HeaderPos;
    368377  if Form is TForm then
    369378  begin
     
    422431  Form.UndockHeight := UndockSize.Y;
    423432  Form.Visible := Visible;
     433  if Assigned(Form.DockManager) then
     434    TCDManager(Form.DockManager).HeaderPos := HeaderPos;
    424435  if HostDockSiteName <> '' then
    425436  begin
  • Docking/CoolDocking/UCDManager.pas

    r207 r208  
    219219  end;
    220220  //OnResize := ResizeExecute;
    221   //BevelInner := bvNone;
    222   //BevelOuter := bvNone;
     221  BevelInner := bvNone;
     222  BevelOuter := bvNone;
    223223  HeaderVisible := True;
    224224end;
     
    468468
    469469procedure TCDManager.RemoveControl(Control: TControl);
    470 //var
    471 //  ClientPanel: TCDClientPanel;
    472 begin
    473   //DockStyleHandler.RemoveControl(Control);
    474   //inherited;
    475 (*  if Control.HostDockSite = Self.FDockSite then begin
    476     ClientPanel := FindControlInPanels(Control);
    477 
    478     //if Assigned(ClientPanel) then ClientPanel.Splitter.Free;
    479     //Control.RemoveHandlerOnVisibleChanged(ClientPanel.VisibleChange);
    480     FDockPanels.Remove(ClientPanel);
    481     DockStyleHandler.RemoveControl(Control);
    482     UpdateClientSize;
    483     //FDockSite.Invalidate;
    484     //if (FDockSite is TCDConjoinForm) and (FDockSite.DockClientCount = 1) then
    485     //  FDockSite.Free;
    486     DockStyle := DockStyle;
    487   end;
    488   *)
     470begin
    489471end;
    490472
Note: See TracChangeset for help on using the changeset viewer.