Changeset 218 for Docking/CoolDocking


Ignore:
Timestamp:
Mar 23, 2011, 12:22:26 PM (14 years ago)
Author:
george
Message:
  • Fixed: Parent manager tabs switching.
Location:
Docking/CoolDocking
Files:
11 edited

Legend:

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

    r217 r218  
    4747      </Item4>
    4848    </RequiredPackages>
    49     <Units Count="51">
     49    <Units Count="55">
    5050      <Unit0>
    5151        <Filename Value="IDE.lpr"/>
     
    6565        <EditorIndex Value="1"/>
    6666        <WindowIndex Value="0"/>
    67         <TopLine Value="171"/>
    68         <CursorPos X="32" Y="185"/>
     67        <TopLine Value="162"/>
     68        <CursorPos X="79" Y="183"/>
    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="12"/>
     108        <EditorIndex Value="16"/>
    109109        <WindowIndex Value="0"/>
    110110        <TopLine Value="2412"/>
     
    119119        <ResourceBaseClass Value="Form"/>
    120120        <UnitName Value="UProjectManagerForm"/>
     121        <EditorIndex Value="2"/>
    121122        <WindowIndex Value="0"/>
    122123        <TopLine Value="4"/>
    123124        <CursorPos X="50" Y="6"/>
    124125        <UsageCount Value="314"/>
     126        <Loaded Value="True"/>
     127        <LoadedDesigner Value="True"/>
    125128      </Unit6>
    126129      <Unit7>
     
    211214        <Filename Value="..\..\UCDClient.pas"/>
    212215        <UnitName Value="UCDClient"/>
    213         <EditorIndex Value="2"/>
     216        <EditorIndex Value="3"/>
    214217        <WindowIndex Value="0"/>
    215218        <TopLine Value="81"/>
     
    221224        <Filename Value="..\..\UCDLayout.pas"/>
    222225        <UnitName Value="UCDLayout"/>
    223         <EditorIndex Value="15"/>
     226        <EditorIndex Value="19"/>
    224227        <WindowIndex Value="0"/>
    225228        <TopLine Value="361"/>
    226229        <CursorPos X="49" Y="376"/>
    227         <UsageCount Value="49"/>
     230        <UsageCount Value="51"/>
    228231        <Loaded Value="True"/>
    229232      </Unit16>
    230233      <Unit17>
    231234        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classesh.inc"/>
    232         <EditorIndex Value="5"/>
    233         <WindowIndex Value="0"/>
    234         <TopLine Value="1883"/>
    235         <CursorPos X="10" Y="1896"/>
    236         <UsageCount Value="10"/>
     235        <EditorIndex Value="8"/>
     236        <WindowIndex Value="0"/>
     237        <TopLine Value="1644"/>
     238        <CursorPos X="14" Y="1657"/>
     239        <UsageCount Value="12"/>
    237240        <Loaded Value="True"/>
    238241      </Unit17>
     
    240243        <Filename Value="..\..\Common\URectangle.pas"/>
    241244        <UnitName Value="URectangle"/>
    242         <EditorIndex Value="3"/>
     245        <EditorIndex Value="4"/>
    243246        <WindowIndex Value="0"/>
    244247        <TopLine Value="22"/>
    245248        <CursorPos X="26" Y="32"/>
    246         <UsageCount Value="19"/>
     249        <UsageCount Value="21"/>
    247250        <Loaded Value="True"/>
    248251      </Unit18>
     
    250253        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\controls.pp"/>
    251254        <UnitName Value="Controls"/>
    252         <EditorIndex Value="9"/>
     255        <EditorIndex Value="13"/>
    253256        <WindowIndex Value="0"/>
    254257        <TopLine Value="126"/>
     
    259262      <Unit20>
    260263        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\wincontrol.inc"/>
    261         <EditorIndex Value="11"/>
    262         <WindowIndex Value="0"/>
    263         <TopLine Value="6263"/>
    264         <CursorPos X="1" Y="6280"/>
     264        <IsVisibleTab Value="True"/>
     265        <EditorIndex Value="15"/>
     266        <WindowIndex Value="0"/>
     267        <TopLine Value="6722"/>
     268        <CursorPos X="19" Y="6733"/>
    265269        <UsageCount Value="111"/>
    266270        <Loaded Value="True"/>
     
    280284        <Filename Value="..\..\UCDCommon.pas"/>
    281285        <UnitName Value="UCDCommon"/>
    282         <EditorIndex Value="8"/>
    283         <WindowIndex Value="0"/>
    284         <TopLine Value="1"/>
    285         <CursorPos X="1" Y="78"/>
    286         <UsageCount Value="48"/>
     286        <EditorIndex Value="7"/>
     287        <WindowIndex Value="0"/>
     288        <TopLine Value="191"/>
     289        <CursorPos X="1" Y="216"/>
     290        <UsageCount Value="50"/>
    287291        <Loaded Value="True"/>
    288292      </Unit22>
     
    290294        <Filename Value="..\..\UCDPopupMenu.pas"/>
    291295        <UnitName Value="UCDPopupMenu"/>
    292         <EditorIndex Value="7"/>
    293         <WindowIndex Value="0"/>
    294         <TopLine Value="219"/>
    295         <CursorPos X="18" Y="232"/>
     296        <EditorIndex Value="6"/>
     297        <WindowIndex Value="0"/>
     298        <TopLine Value="301"/>
     299        <CursorPos X="23" Y="310"/>
    296300        <UsageCount Value="128"/>
    297301        <Loaded Value="True"/>
     
    300304        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
    301305        <UnitName Value="UCDManagerTabs"/>
    302         <EditorIndex Value="16"/>
    303         <WindowIndex Value="0"/>
    304         <TopLine Value="243"/>
    305         <CursorPos X="44" Y="256"/>
     306        <EditorIndex Value="20"/>
     307        <WindowIndex Value="0"/>
     308        <TopLine Value="376"/>
     309        <CursorPos X="53" Y="383"/>
    306310        <UsageCount Value="130"/>
    307311        <Loaded Value="True"/>
     
    310314        <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    311315        <UnitName Value="UCDManagerRegions"/>
    312         <EditorIndex Value="10"/>
    313         <WindowIndex Value="0"/>
    314         <TopLine Value="301"/>
    315         <CursorPos X="1" Y="314"/>
     316        <EditorIndex Value="14"/>
     317        <WindowIndex Value="0"/>
     318        <TopLine Value="10"/>
     319        <CursorPos X="43" Y="16"/>
    316320        <UsageCount Value="129"/>
    317321        <Loaded Value="True"/>
     
    323327        <WindowIndex Value="0"/>
    324328        <TopLine Value="235"/>
    325         <CursorPos X="1" Y="248"/>
     329        <CursorPos X="13" Y="251"/>
    326330        <UsageCount Value="120"/>
    327331        <Loaded Value="True"/>
     
    342346        <Filename Value="..\..\UCDManager.pas"/>
    343347        <UnitName Value="UCDManager"/>
    344         <IsVisibleTab Value="True"/>
    345         <EditorIndex Value="4"/>
    346         <WindowIndex Value="0"/>
    347         <TopLine Value="723"/>
    348         <CursorPos X="30" Y="744"/>
     348        <EditorIndex Value="5"/>
     349        <WindowIndex Value="0"/>
     350        <TopLine Value="50"/>
     351        <CursorPos X="1" Y="72"/>
    349352        <UsageCount Value="105"/>
    350353        <Loaded Value="True"/>
     
    353356        <Filename Value="..\..\UCDConjoinForm.pas"/>
    354357        <UnitName Value="UCDConjoinForm"/>
    355         <EditorIndex Value="14"/>
     358        <EditorIndex Value="18"/>
    356359        <WindowIndex Value="0"/>
    357360        <TopLine Value="33"/>
     
    512515        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\stdctrls.pp"/>
    513516        <UnitName Value="StdCtrls"/>
    514         <EditorIndex Value="13"/>
     517        <EditorIndex Value="17"/>
    515518        <WindowIndex Value="0"/>
    516519        <TopLine Value="1447"/>
    517520        <CursorPos X="14" Y="1460"/>
    518         <UsageCount Value="12"/>
     521        <UsageCount Value="14"/>
    519522        <Loaded Value="True"/>
    520523      </Unit49>
     
    522525        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\graphics.pp"/>
    523526        <UnitName Value="Graphics"/>
    524         <EditorIndex Value="6"/>
    525527        <WindowIndex Value="0"/>
    526528        <TopLine Value="959"/>
    527529        <CursorPos X="14" Y="1161"/>
    528530        <UsageCount Value="10"/>
    529         <Loaded Value="True"/>
    530531      </Unit50>
     532      <Unit51>
     533        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classes.inc"/>
     534        <EditorIndex Value="12"/>
     535        <WindowIndex Value="0"/>
     536        <TopLine Value="514"/>
     537        <CursorPos X="5" Y="518"/>
     538        <UsageCount Value="12"/>
     539        <Loaded Value="True"/>
     540      </Unit51>
     541      <Unit52>
     542        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\compon.inc"/>
     543        <EditorIndex Value="9"/>
     544        <WindowIndex Value="0"/>
     545        <TopLine Value="539"/>
     546        <CursorPos X="15" Y="547"/>
     547        <UsageCount Value="11"/>
     548        <Loaded Value="True"/>
     549      </Unit52>
     550      <Unit53>
     551        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\sysutils\sysstrh.inc"/>
     552        <EditorIndex Value="10"/>
     553        <WindowIndex Value="0"/>
     554        <TopLine Value="72"/>
     555        <CursorPos X="10" Y="85"/>
     556        <UsageCount Value="11"/>
     557        <Loaded Value="True"/>
     558      </Unit53>
     559      <Unit54>
     560        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\sysutils\sysstr.inc"/>
     561        <EditorIndex Value="11"/>
     562        <WindowIndex Value="0"/>
     563        <TopLine Value="194"/>
     564        <CursorPos X="3" Y="200"/>
     565        <UsageCount Value="11"/>
     566        <Loaded Value="True"/>
     567      </Unit54>
    531568    </Units>
    532569    <JumpHistory Count="30" HistoryIndex="29">
    533570      <Position1>
    534         <Filename Value="..\..\UCDPopupMenu.pas"/>
    535         <Caret Line="257" Column="16" TopLine="244"/>
     571        <Filename Value="..\..\UCDManager.pas"/>
     572        <Caret Line="39" Column="1" TopLine="21"/>
    536573      </Position1>
    537574      <Position2>
    538         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    539         <Caret Line="126" Column="1" TopLine="113"/>
     575        <Filename Value="..\..\UCDManager.pas"/>
     576        <Caret Line="742" Column="16" TopLine="729"/>
    540577      </Position2>
    541578      <Position3>
    542         <Filename Value="..\..\UCDManager.pas"/>
    543         <Caret Line="32" Column="19" TopLine="27"/>
     579        <Filename Value="..\..\UCDPopupMenu.pas"/>
     580        <Caret Line="215" Column="53" TopLine="199"/>
    544581      </Position3>
    545582      <Position4>
    546         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    547         <Caret Line="18" Column="15" TopLine="5"/>
     583        <Filename Value="..\..\UCDPopupMenu.pas"/>
     584        <Caret Line="210" Column="11" TopLine="197"/>
    548585      </Position4>
    549586      <Position5>
    550         <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
    551         <Caret Line="92" Column="1" TopLine="79"/>
     587        <Filename Value="..\..\UCDPopupMenu.pas"/>
     588        <Caret Line="229" Column="14" TopLine="216"/>
    552589      </Position5>
    553590      <Position6>
    554         <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
    555         <Caret Line="330" Column="44" TopLine="317"/>
     591        <Filename Value="..\..\UCDPopupMenu.pas"/>
     592        <Caret Line="231" Column="7" TopLine="218"/>
    556593      </Position6>
    557594      <Position7>
    558         <Filename Value="..\..\UCDManager.pas"/>
    559         <Caret Line="668" Column="3" TopLine="657"/>
     595        <Filename Value="..\..\UCDPopupMenu.pas"/>
     596        <Caret Line="245" Column="28" TopLine="232"/>
    560597      </Position7>
    561598      <Position8>
    562         <Filename Value="..\..\UCDManager.pas"/>
    563         <Caret Line="605" Column="1" TopLine="592"/>
     599        <Filename Value="..\..\UCDPopupMenu.pas"/>
     600        <Caret Line="258" Column="28" TopLine="245"/>
    564601      </Position8>
    565602      <Position9>
    566         <Filename Value="..\..\UCDManager.pas"/>
    567         <Caret Line="679" Column="31" TopLine="665"/>
     603        <Filename Value="..\..\UCDPopupMenu.pas"/>
     604        <Caret Line="271" Column="28" TopLine="258"/>
    568605      </Position9>
    569606      <Position10>
    570607        <Filename Value="..\..\UCDPopupMenu.pas"/>
    571         <Caret Line="246" Column="16" TopLine="237"/>
     608        <Caret Line="284" Column="28" TopLine="271"/>
    572609      </Position10>
    573610      <Position11>
    574611        <Filename Value="..\..\UCDPopupMenu.pas"/>
    575         <Caret Line="232" Column="18" TopLine="219"/>
     612        <Caret Line="297" Column="28" TopLine="284"/>
    576613      </Position11>
    577614      <Position12>
    578         <Filename Value="..\..\UCDManager.pas"/>
    579         <Caret Line="602" Column="20" TopLine="594"/>
     615        <Filename Value="..\..\UCDPopupMenu.pas"/>
     616        <Caret Line="304" Column="9" TopLine="299"/>
    580617      </Position12>
    581618      <Position13>
    582         <Filename Value="..\..\UCDManager.pas"/>
    583         <Caret Line="727" Column="11" TopLine="708"/>
     619        <Filename Value="..\..\UCDPopupMenu.pas"/>
     620        <Caret Line="313" Column="18" TopLine="300"/>
    584621      </Position13>
    585622      <Position14>
    586623        <Filename Value="..\..\UCDManager.pas"/>
    587         <Caret Line="659" Column="17" TopLine="643"/>
     624        <Caret Line="79" Column="66" TopLine="61"/>
    588625      </Position14>
    589626      <Position15>
    590         <Filename Value="..\..\UCDManager.pas"/>
    591         <Caret Line="729" Column="32" TopLine="8"/>
     627        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     628        <Caret Line="21" Column="62" TopLine="4"/>
    592629      </Position15>
    593630      <Position16>
    594         <Filename Value="..\..\UCDManager.pas"/>
    595         <Caret Line="660" Column="14" TopLine="638"/>
     631        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     632        <Caret Line="16" Column="35" TopLine="8"/>
    596633      </Position16>
    597634      <Position17>
    598         <Filename Value="..\..\UCDManager.pas"/>
    599         <Caret Line="731" Column="70" TopLine="719"/>
     635        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     636        <Caret Line="21" Column="1" TopLine="8"/>
    600637      </Position17>
    601638      <Position18>
    602         <Filename Value="..\..\UCDManager.pas"/>
    603         <Caret Line="743" Column="47" TopLine="730"/>
     639        <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
     640        <Caret Line="23" Column="1" TopLine="8"/>
    604641      </Position18>
    605642      <Position19>
    606         <Filename Value="..\..\UCDManager.pas"/>
    607         <Caret Line="740" Column="9" TopLine="730"/>
     643        <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
     644        <Caret Line="117" Column="39" TopLine="114"/>
    608645      </Position19>
    609646      <Position20>
    610         <Filename Value="..\..\UCDManager.pas"/>
    611         <Caret Line="738" Column="1" TopLine="730"/>
     647        <Filename Value="..\..\Managers\UCDManagerRegions.pas"/>
     648        <Caret Line="16" Column="43" TopLine="10"/>
    612649      </Position20>
    613650      <Position21>
    614         <Filename Value="..\..\UCDManager.pas"/>
    615         <Caret Line="729" Column="1" TopLine="718"/>
     651        <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     652        <Caret Line="252" Column="15" TopLine="235"/>
    616653      </Position21>
    617654      <Position22>
    618         <Filename Value="..\..\UCDManager.pas"/>
    619         <Caret Line="730" Column="1" TopLine="718"/>
     655        <Filename Value="..\..\Managers\UCDManagerTabsPopup.pas"/>
     656        <Caret Line="251" Column="13" TopLine="235"/>
    620657      </Position22>
    621658      <Position23>
    622         <Filename Value="..\..\UCDManager.pas"/>
    623         <Caret Line="731" Column="33" TopLine="718"/>
     659        <Filename Value="UMainForm.pas"/>
     660        <Caret Line="188" Column="7" TopLine="172"/>
    624661      </Position23>
    625662      <Position24>
    626         <Filename Value="..\..\UCDManager.pas"/>
    627         <Caret Line="732" Column="3" TopLine="718"/>
     663        <Filename Value="UMainForm.pas"/>
     664        <Caret Line="167" Column="1" TopLine="150"/>
    628665      </Position24>
    629666      <Position25>
    630         <Filename Value="..\..\UCDManager.pas"/>
    631         <Caret Line="736" Column="1" TopLine="718"/>
     667        <Filename Value="UMainForm.pas"/>
     668        <Caret Line="163" Column="73" TopLine="150"/>
    632669      </Position25>
    633670      <Position26>
    634         <Filename Value="..\..\UCDManager.pas"/>
    635         <Caret Line="729" Column="36" TopLine="718"/>
     671        <Filename Value="UMainForm.pas"/>
     672        <Caret Line="183" Column="79" TopLine="162"/>
    636673      </Position26>
    637674      <Position27>
    638         <Filename Value="..\..\UCDManager.pas"/>
    639         <Caret Line="740" Column="1" TopLine="719"/>
     675        <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\wincontrol.inc"/>
     676        <Caret Line="6735" Column="1" TopLine="6722"/>
    640677      </Position27>
    641678      <Position28>
    642         <Filename Value="..\..\UCDManager.pas"/>
    643         <Caret Line="744" Column="8" TopLine="723"/>
     679        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     680        <Caret Line="395" Column="1" TopLine="373"/>
    644681      </Position28>
    645682      <Position29>
    646         <Filename Value="..\..\UCDManager.pas"/>
    647         <Caret Line="739" Column="1" TopLine="723"/>
     683        <Filename Value="..\..\Managers\UCDManagerTabs.pas"/>
     684        <Caret Line="170" Column="1" TopLine="157"/>
    648685      </Position29>
    649686      <Position30>
    650         <Filename Value="..\..\UCDManager.pas"/>
    651         <Caret Line="740" Column="1" TopLine="723"/>
     687        <Filename Value="UProjectManagerForm.pas"/>
     688        <Caret Line="6" Column="50" TopLine="4"/>
    652689      </Position30>
    653690    </JumpHistory>
     
    690727  </CompilerOptions>
    691728  <Debugging>
     729    <BreakPoints Count="2">
     730      <Item1>
     731        <Source Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classes.inc"/>
     732        <Line Value="517"/>
     733      </Item1>
     734      <Item2>
     735        <Source Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\compon.inc"/>
     736        <Line Value="371"/>
     737      </Item2>
     738    </BreakPoints>
    692739    <Watches Count="1">
    693740      <Item1>
  • Docking/CoolDocking/Demo/IDE/UMainForm.pas

    r205 r218  
    161161  DefaultLayout := CoolDockLayoutList1.FindByName(DefaultLayoutName);
    162162  if not Assigned(DefaultLayout) then begin
    163     NewContainer1 := TCDManager(DockPanel.DockManager).CreateContainer(alRight);
     163    NewContainer1 := TCDManager(DockPanel.DockManager).CreateConjoinForm;
    164164    TCDManager(NewContainer1.DockManager).DockStyle := dsPopupTabs;
    165165    TCDManager(NewContainer1.DockManager).HeaderPos := hpLeft;
     166    NewContainer1.Visible := True;
    166167
    167168    StructureForm.ManualDock(NewContainer1, nil, alTop);
     
    170171    ObjectInspectorForm.Show;
    171172
    172     NewContainer2 := TCDManager(DockPanel.DockManager).CreateContainer(alRight);
     173    NewContainer2 := TCDManager(DockPanel.DockManager).CreateConjoinForm;
    173174    TCDManager(NewContainer2.DockManager).DockStyle := dsPopupTabs;
    174175    TCDManager(NewContainer2.DockManager).HeaderPos := hpRight;
     176    NewContainer2.Visible := True;
     177
    175178    ProjectManagerForm.ManualDock(NewContainer2, nil, alTop);
    176179    ProjectManagerForm.Show;
     
    178181    ToolPaletteForm.Show;
    179182
    180     SourceCodeContainer := TCDManager(DockPanel.DockManager).CreateContainer(alRight);
     183    SourceCodeContainer := TCDManager(DockPanel.DockManager).CreateConjoinForm;
    181184    TCDManager(SourceCodeContainer.DockManager).DockStyle := dsTabs;
    182185    TCDManager(SourceCodeContainer.DockManager).HeaderPos := hpTop;
    183 
    184     NewContainer1.ManualDock(DockPanel);
     186    SourceCodeContainer.Visible := True;
     187
     188    //NewContainer1.ManualDock(DockPanel);
    185189    NewContainer1.Show;
    186 //    SourceCodeContainer.ManualDock(DockPanel);
    187 //    SourceCodeContainer.Show;
    188     NewContainer2.ManualDock(DockPanel);
     190    SourceCodeContainer.ManualDock(DockPanel);
     191    SourceCodeContainer.Show;
     192    //NewContainer2.ManualDock(DockPanel);
    189193    NewContainer2.Show;
    190194
  • Docking/CoolDocking/Demo/IDE/UProjectManagerForm.lfm

    r198 r218  
    1717    DefaultItemHeight = 15
    1818    TabOrder = 0
     19    Items.Data = {
     20      F9FFFFFF020004000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF020000000000
     21      00000109000000506F6C6FC5BE6B6130FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
     22      00000000000000000009000000506F6C6FC5BE6B6131FFFFFFFFFFFFFFFFFFFF
     23      FFFFFFFFFFFF00000000000000000009000000506F6C6FC5BE6B6132FFFFFFFF
     24      FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000009000000506F6C6FC5BE6B
     25      6133FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000900000050
     26      6F6C6FC5BE6B6134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000
     27      0009000000506F6C6FC5BE6B6135
     28    }
    1929  end
    2030  object CoolDockClient1: TCDClient
  • Docking/CoolDocking/Managers/UCDManagerRegions.pas

    r217 r218  
    2121    constructor Create;
    2222    destructor Destroy; override;
     23    procedure SetControl(const AValue: TWinControl); override;
    2324  end;
    2425
     
    4344    procedure PaintSite(DC: HDC); override;
    4445    procedure UpdateClientSize; override;
    45     procedure DoSetVisible(const AValue: Boolean); override;
     46    procedure SetVisible(const AValue: Boolean); override;
    4647    procedure ChangeVisible(Control: TWinControl; Visible: Boolean);
    4748    property DockDirection: TCDDirection read FDockDirection
     
    8889begin
    8990  PanelHeader := TCDPanelHeader.Create(nil);
    90   PanelHeader.Header.ManagerItem := Self;
     91//  PanelHeader.Header.ManagerItem := Self;
    9192  PanelHeader.Header.OnMouseDown := DockPanelMouseDown;
    9293  PanelHeader.Header.Icon.OnMouseDown := DockPanelMouseDown;
     
    109110  Control.Parent := nil;
    110111  inherited Destroy;
     112end;
     113
     114procedure TCDManagerRegionsItem.SetControl(const AValue: TWinControl);
     115begin
     116  inherited SetControl(AValue);
     117  PanelHeader.Header.Control := AValue;
    111118end;
    112119
     
    175182  NewItem.Control := TWinControl(Control);
    176183  Control.AddHandlerOnVisibleChanged(NewItem.VisibleChange);
     184  Control.AddHandlerOnVisibleChanging(NewItem.VisibleChanging);
    177185  Control.Parent := NewItem.PanelHeader.ControlPanel;
    178186  Control.Align := alClient;
     
    199207      if (NewDirection <> FDockDirection) then begin
    200208        // Direction change, create conjoin form
    201         NewConjoinDockForm := CreateContainer(InsertAt);
     209        NewConjoinDockForm := CreateConjoinForm;
    202210        try
    203211          FreeParentIfEmpty := False;
     
    228236  if Assigned(ManagerItem) then begin
    229237    Control.RemoveHandlerOnVisibleChanged(ManagerItem.VisibleChange);
     238    Control.RemoveHandlerOnVisibleChanging(ManagerItem.VisibleChanging);
    230239  end;
    231240
     
    335344end;
    336345
    337 procedure TCDManagerRegions.DoSetVisible(const AValue: Boolean);
     346procedure TCDManagerRegions.SetVisible(const AValue: Boolean);
    338347var
    339348  I: Integer;
     
    341350  inherited;
    342351  for I := 0 to DockItems.Count - 1 do
    343 
    344         //Show;
    345         //ShowMessage(IntToStr(Control.Tag));
    346352      with TCDManagerRegionsItem(DockItems[I]) do begin
    347353        if AValue and (not Control.Visible) and (Control.Tag = Integer(dhtTemporal))  then begin
  • Docking/CoolDocking/Managers/UCDManagerTabs.pas

    r217 r218  
    4949    procedure TabControlChange(Sender: TObject); virtual;
    5050    procedure PaintSite(DC: HDC); override;
    51     procedure DoSetVisible(const AValue: Boolean); override;
    52     procedure ChangeVisible(Control: TWinControl; Visible: Boolean); override;
    5351    procedure Switch(Index: Integer); override;
    5452    procedure PopupMenuTabCloseClick(Sender: TObject);
     53    procedure SetVisible(const AValue: Boolean); override;
    5554    property DockItems: TObjectList read FDockItems write FDockItems;
    5655  end;
     
    8281  with TCDManagerTabs(Manager) do begin
    8382    if TControl(Sender).Visible then begin
     83      UpdateClientSize;
    8484      Switch(DockItems.IndexOf(FindControlInPanels(TControl(Sender))));
    85       TCDManagerTabsItem(DockItems[DockItems.IndexOf(FindControlInPanels(TControl(Sender)))]).HideType := dhtPermanent;
    86     end;
    87     UpdateClientSize;
     85      TCDManagerTabsItem(DockItems[DockItems.IndexOf(
     86        FindControlInPanels(TControl(Sender)))]).HideType := dhtPermanent;
     87    end else UpdateClientSize;
    8888  end;
    8989
    9090  // Show current dock clients in parent dock sites
    9191  if TControl(Sender).Visible then
    92     if Assigned(TControl(Sender).HostDockSite) then
     92    if Assigned(TControl(Sender).HostDockSite) then begin
     93      //TControl(Sender).HostDockSite.DockManager.;
    9394      TControl(Sender).HostDockSite.Visible := True;
    94 
    95   {Temp := TControl(Sender);
    96   if Assigned(Control) then
    97   begin
    98     ControlVisible := TControl(Sender).Visible;
    99     (*if Assigned(ClientAreaPanel) then
    100       ClientAreaPanel.Visible := ControlVisible;
    101     if Assigned(Splitter) then
    102       Splitter.Visible := ControlVisible;
    103       *)
    104 //    if Assigned(TCDManager(OwnerDockManager).DockStyleHandler) then
    105     if Assigned(Manager) then
    106     with TCDManagerTabs(Manager) do
    107     begin
    108       //UpdateClientSize;
    109       if ControlVisible then
    110         Switch(FDockItems.IndexOf(FindControlInPanels(TControl(Sender))));
    111       if not (Control is TWinControl) then raise Exception.Create('Not TWinControl');
    112       if not Assigned(Control) then raise Exception.Create('Control not assigned');
    113       ChangeVisible(TWinControl(Control), ControlVisible);
    114       // Show parent control
    115       Temp := TControl(Sender).HostDockSite;
    116 
    117       if ControlVisible then
    118         TControl(Sender).HostDockSite.Visible := ControlVisible;
    119     end;
    120     if csDestroying in Control.ComponentState then Control := nil;
    121   end;
    122   }
     95    end;
    12396end;
    12497
     
    141114  if Assigned(PageControl.ActivePage) then
    142115    TCDManagerItem(DockItems[PageControl.TabIndex]).Control.Hide;
     116end;
     117
     118procedure TCDManagerTabs.SetVisible(const AValue: Boolean);
     119begin
     120  inherited;
     121  if (PageControl.TabIndex >= 0) and (PageControl.TabIndex < DockItems.Count) then
     122    with TCDManagerItem(DockItems[PageControl.TabIndex]) do begin
     123      if AValue and (not Control.Visible) and (Control.Tag = Integer(dhtTemporal)) then begin
     124        Control.Show;
     125        Control.Tag := Integer(dhtPermanent);
     126      end;
     127    end;
    143128end;
    144129
     
    255240
    256241    NewItem.Control := TWinControl(Control);
     242    //NewItem.HideType := dhtTemporal;
    257243    Control.AddHandlerOnVisibleChanged(NewItem.VisibleChange);
     244    Control.AddHandlerOnVisibleChanging(NewItem.VisibleChanging);
    258245    //AControl.Parent := NewItem.ClientAreaPanel;
    259246    Control.Align := alClient;
     
    272259  if Assigned(ManagerItem) then begin
    273260    Control.RemoveHandlerOnVisibleChanged(ManagerItem.VisibleChange);
     261    Control.RemoveHandlerOnVisibleChanging(ManagerItem.VisibleChanging);
    274262  end; //else raise Exception.Create(Format('Control %s not found in DockItems', [Control.Name]));
    275263
     
    388376end;
    389377
    390 procedure TCDManagerTabs.DoSetVisible(const AValue: Boolean);
    391 begin
    392   inherited;
    393     if (PageControl.TabIndex >= 0) and (PageControl.TabIndex < DockItems.Count) then
    394       with TCDManagerItem(DockItems[PageControl.TabIndex]) do begin
    395         //Show;
    396         //ShowMessage(IntToStr(Control.Tag));
    397         if AValue and (not Control.Visible) and (Control.Tag = Integer(dhtTemporal))  then begin
    398           Control.Show;
    399           Control.Tag := Integer(dhtPermanent);
    400         end;
    401         //TabControl.Show;
    402         //ClientAreaPanel.Show;
    403       end;
    404 end;
    405 
    406 procedure TCDManagerTabs.ChangeVisible(Control: TWinControl; Visible: Boolean);
    407 var
    408   I: Integer;
    409 begin
    410   inherited;
    411   if not Visible then begin
    412     //if Assigned(TWinControl(Control).DockManager) then
    413     //with TCDManager(TWinControl(Control).DockManager) do
    414     begin
    415 //    ShowMessage(IntToStr(TabControl.TabIndex) + ' ' + IntToStr(DockPanels.Count));
    416 //    TabControl.Tabs[0].;
    417 //    if (TabControl.TabIndex >= 0) and (TabControl.TabIndex < DockPanels.Count) then begin
    418 //      TCDClientPanel(DockPanels[TabControl.TabIndex]).Show;
    419 //      TCDClientPanel(DockPanels[TabControl.TabIndex]).Control.Show;
    420 //    end;
    421     //    ShowMessage(IntToStr(DockPanels.Count));
    422         //TabImageList.Delete(PageControl.Tabs.IndexOf(Control.Caption));
    423 
    424         I := DockItems.IndexOf(FindControlInPanels(Control));
    425         if Control.Tag = Integer(dhtPermanent) then
    426         if (I <> -1) and (I < PageControl.PageCount) then
    427   //        Control.Hide;
    428           PageControl.Page[I].TabVisible := False;
    429         //Control.Tag := 0;
    430 //      end;
    431     end;
    432   end else
    433   begin
    434 //    if Assigned(TWinControl(Control).DockManager) then
    435 //    with TCDManager(TWinControl(Control).DockManager) do
    436     begin
    437 //      if Control.Tag = 0 then begin
    438         I := DockItems.IndexOf(FindControlInPanels(Control));
    439         //if  then
    440         if I <> -1 then
    441           PageControl.Page[I].TabVisible := True;
    442 //      TabImageList.Add(TCDClientPanel(TCDManager(Manager).FindControlInPanels(Control)).Header.Icon.Picture.Bitmap, nil);
    443 //      TabControl.Tabs.Add(Control.Caption);
    444 
    445 //      end;
    446     end;
    447   end;
    448 end;
    449 
    450378end.
    451379
  • Docking/CoolDocking/Managers/UCDManagerTabsPopup.pas

    r217 r218  
    246246    C.Align := alClient;
    247247    C.Parent := HeaderPanel.ControlPanel;
     248    HeaderPanel.Header.Control := C;
    248249    //AutoHide.Control.Align := alCustom;
    249250    //Pos := DockSite.ClientToScreen(Pos);
  • Docking/CoolDocking/UCDCommon.pas

    r217 r218  
    7979implementation
    8080
     81var
     82  UniqueNameCounter: Integer;
     83
    8184function GetUniqueName(BaseName: string): string;
    82 var
    83   I: Integer;
    84 begin
    85   I := 1;
    86   while Assigned(FindGlobalComponent(BaseName + IntToStr(I))) do Inc(I);
    87   Result := BaseName + IntToStr(I);
     85begin
     86  Result := BaseName + IntToStr(UniqueNameCounter);
     87  Inc(UniqueNameCounter);
    8888end;
    8989
     
    211211end;
    212212
     213initialization
     214
     215UniqueNameCounter := 1;
     216
    213217end.
    214218
  • Docking/CoolDocking/UCDConjoinForm.pas

    r216 r218  
    1414  public
    1515    CoolDockClient: TCDClientBase;
     16    UpdateCaptionEnable: Boolean;
    1617    procedure UpdateCaption;
    1718    procedure FormShow(Sender : TObject);
     
    3637  I: Integer;
    3738begin
    38   NewCaption := '';
    39   for I := 0 to DockClientCount - 1 do begin
    40     //if DockClients[I] is TCDConjoinForm then
    41     //  TCDConjoinForm(DockClients[I]).UpdateCaption;
    42     NewCaption := NewCaption + DockClients[I].Caption + ', ';
     39  if UpdateCaptionEnable then begin
     40    NewCaption := '';
     41    for I := 0 to DockClientCount - 1 do begin
     42      //if DockClients[I] is TCDConjoinForm then
     43      //  TCDConjoinForm(DockClients[I]).UpdateCaption;
     44      NewCaption := NewCaption + DockClients[I].Caption + ', ';
     45    end;
     46    Caption := Copy(NewCaption, 1, Length(NewCaption) - 2);
     47
     48    if Assigned(HostDockSite) and (HostDockSite is TCDConjoinForm) then
     49      TCDConjoinForm(HostDockSite).UpdateCaption;
    4350  end;
    44   Caption := Copy(NewCaption, 1, Length(NewCaption) - 2);
    45 
    46   if Assigned(HostDockSite) and (HostDockSite is TCDConjoinForm) then
    47     TCDConjoinForm(HostDockSite).UpdateCaption;
    4851end;
    4952
     
    6871  OnShow := FormShow;
    6972  OnHide := FormHide;
     73  UpdateCaptionEnable := True;
    7074end;
    7175
  • Docking/CoolDocking/UCDLayout.pas

    r216 r218  
    449449            if FormClass = TCDConjoinForm then
    450450            begin
    451               ParentComponent := TCDManager(Form.DockManager).CreateContainer(alNone);
     451              ParentComponent := TCDManager(Form.DockManager).CreateConjoinForm;
    452452              TCDManager(TCDConjoinForm(ParentComponent).DockManager).DockStyle :=
    453453                ParentLayoutItem.DockStyle;
  • Docking/CoolDocking/UCDManager.pas

    r217 r218  
    1616  TCDManager = class;
    1717  TCDManagerItem = class;
     18
     19  TCDPanelForm = class(TForm)
     20    Panel: TPanel;
     21  end;
    1822
    1923  { TCDHeaderButton }
     
    3741    Buttons: TObjectList; // TList<TCDHeaderButton>
    3842    Icon: TImage;
    39     ManagerItem: TCDManagerItem;
     43    Control: TControl;
    4044    constructor Create(TheOwner: TComponent); override;
    4145    destructor Destroy; override;
     
    6367  TCDManagerItem = class
    6468  private
     69    FControl: TWinControl;
    6570    function GetHideType: TCDHideType;
    6671    procedure ResizeExecute(Sender: TObject);
    6772    procedure SetHideType(const AValue: TCDHideType);
    6873  public
    69     Control: TWinControl;
    7074    Manager: TCDManager;
     75    procedure SetControl(const AValue: TWinControl); virtual;
    7176    procedure DockPanelMouseDown(Sender: TObject; Button: TMouseButton;
    7277      Shift: TShiftState; X, Y: Integer);
    7378    procedure Paint(Sender: TObject); virtual;
    7479    procedure VisibleChange(Sender: TObject); virtual;
     80    procedure VisibleChanging(Sender: TObject); virtual;
    7581    constructor Create; virtual;
    7682    destructor Destroy; override;
    7783    property HideType: TCDHideType read GetHideType write SetHideType;
     84    property Control: TWinControl read FControl write SetControl;
    7885  end;
    7986
     
    9097    procedure SetHeaderVisible(const AValue: Boolean);
    9198    procedure SetMoveDuration(const AValue: Integer);
    92     procedure SetVisible(const AValue: Boolean);
    9399  public
    94100    Locked: Boolean;
     
    96102    FDockStyle: TCDStyleType;
    97103    FreeParentIfEmpty: Boolean; // Free or not parent conjoin forms
     104    procedure SetVisible(const AValue: Boolean); virtual;
    98105    constructor Create(ADockSite: TWinControl); override;
    99106    destructor Destroy; override;
     
    104111    procedure InsertControlPanel(Control: TControl; InsertAt: TAlign;
    105112      DropCtl: TControl); virtual;
    106     procedure DoSetVisible(const AValue: Boolean); virtual;
    107113    procedure SetHeaderPos(const AValue: THeaderPos); virtual;
    108114    function GetHeaderPos: THeaderPos; virtual;
     
    130136
    131137    function FindControlInPanels(Control: TControl): TCDManagerItem; virtual;
    132     function CreateContainer(InsertAt: TAlign): TCDConjoinForm;
     138    function CreateConjoinForm: TCDConjoinForm;
     139    function CreateDockableForm: TCDPanelForm;
    133140    property DockStyle: TCDStyleType read FDockStyle write SetDockStyle;
    134141    property MoveDuration: Integer read GetMoveDuration write SetMoveDuration;
     
    144151uses
    145152  UCDManagerRegions, UCDManagerTabs, UCDManagerRegionsPopup, UCDManagerTabsPopup,
    146   UCDResource;
     153  UCDResource, UCDClient;
    147154
    148155function CreateRotatedFont(F: TFont; Angle: Integer): Integer;
     
    281288end;
    282289
     290procedure TCDManagerItem.SetControl(const AValue: TWinControl);
     291begin
     292  if FControl = AValue then Exit;
     293  FControl := AValue;
     294end;
     295
    283296procedure TCDManagerItem.SetHideType(const AValue: TCDHideType);
    284297begin
     
    314327end;
    315328
     329procedure TCDManagerItem.VisibleChanging(Sender: TObject);
     330begin
     331
     332end;
     333
    316334{ TCDManager }
    317335
     
    388406  DropCtl: TControl);
    389407begin
    390 end;
    391 
    392 procedure TCDManager.DoSetVisible(const AValue: Boolean);
    393 begin
    394 
    395408end;
    396409
     
    409422    if (not Assigned(FDockSite.Parent)) then begin
    410423      // Create conjointed form
    411       NewConjoinDockForm := CreateContainer(InsertAt);
     424      NewConjoinDockForm := CreateConjoinForm;
    412425      FDockSite.ManualDock(NewConjoinDockForm);
    413426      Control.ManualDock(NewConjoinDockForm, nil, InsertAt);
    414427      NewConjoinDockForm.UpdateCaption;
    415428    end else begin
    416       NewConjoinDockForm := CreateContainer(InsertAt);
     429      NewConjoinDockForm := CreateConjoinForm;
    417430      NewDockSite := FDockSite.HostDockSite;
    418431//      FDockSite.ManualFloat(FDockSite.BoundsRect);
     
    504517end;
    505518
    506 function TCDManager.CreateContainer(InsertAt: TAlign): TCDConjoinForm;
     519function TCDManager.CreateConjoinForm: TCDConjoinForm;
    507520var
    508521  NewDockSite: TWinControl;
     
    511524  NewConjoinDockForm := TCDConjoinForm.Create(Application);
    512525  NewConjoinDockForm.Name := GetUniqueName('ConjoinForm');
    513   NewConjoinDockForm.Visible := True;
     526  //NewConjoinDockForm.Visible := True;
    514527  NewConjoinDockForm.BoundsRect := FDockSite.BoundsRect;
    515528  NewConjoinDockForm.CoolDockClient.Master := Self.Master;
     
    518531  //NewConjoinDockForm.ManualDock(NewDockSite, nil, InsertAt);
    519532  Result := NewConjoinDockForm;
     533end;
     534
     535function TCDManager.CreateDockableForm: TCDPanelForm;
     536var
     537  NewClient: TCDClient;
     538begin
     539  Application.CreateForm(TCDPanelForm, Result);
     540  Result.Name := GetUniqueName('DockForm');
     541  NewClient := TCDClient.Create(Result);
     542  Result.Panel := TPanel.Create(Result);
     543  Result.Panel.Parent := Result;
     544  //Result.Panel.Visible := True;
     545  Result.Panel.BevelInner := bvNone;
     546  Result.Panel.BevelOuter := bvNone;
     547  NewClient.Panel := Result.Panel;
     548  NewClient.Master := Self.Master;
     549  NewClient.Dockable := False;
    520550end;
    521551
     
    564594
    565595procedure TCDManager.SetVisible(const AValue: Boolean);
    566 var
    567   I: Integer;
    568 begin
    569   DoSetVisible(AValue);
    570   //Visible := AValue;
    571 //  for I := 0 to DockPanels.Count - 1 do
    572 //    TCDClientPanel(DockPanels[I]).Visible := AValue;
     596begin
    573597end;
    574598
     
    638662    Visible := True;
    639663  end;
     664
     665  BevelInner := bvNone;
     666  BevelOuter := bvNone;
    640667end;
    641668
     
    662689  R: TRect;
    663690begin
    664   with TCDManager(TWinControl(ManagerItem.Control).DockManager) do
     691  if Assigned(Control) then
     692  with TCDManager(TWinControl(Control).DockManager) do
    665693  case HeaderPos of
    666694    hpLeft: begin
     
    682710  end;
    683711
    684   if (ManagerItem.Control as TWinControl).Focused then
    685   Canvas.Font.Style := Canvas.Font.Style + [fsBold]
    686   else Canvas.Font.Style := Canvas.Font.Style - [fsBold];
     712  if Assigned(Control) then
     713    if (Control as TWinControl).Focused then
     714      Canvas.Font.Style := Canvas.Font.Style + [fsBold]
     715        else Canvas.Font.Style := Canvas.Font.Style - [fsBold];
    687716
    688717  RearrangeButtons;
     
    737766
    738767    //SelectObject(Canvas.Handle, MyFont);
    739     Title := ManagerItem.Control.Caption;
     768    if Assigned(Control) then
     769      Title := Control.Caption else Title := '';
    740770    if (TextWidth(Title) > TitleMaxWidth) then begin
    741771      while (Length(Title) > 0) and (TextWidth(Title + '...') > TitleMaxWidth) do begin
     
    776806procedure TCDHeader.CloseButtonClick(Sender: TObject);
    777807begin
    778   ManagerItem.Control.Hide;
    779 end;
    780 
    781 
     808  if Assigned(Control) then
     809    Control.Hide;
     810end;
    782811
    783812end.
  • Docking/CoolDocking/UCDPopupMenu.pas

    r217 r218  
    208208  if PopupComponent is TCDHeader then
    209209  with TCDHeader(PopupComponent) do begin
    210     TForm(ManagerItem.Control).Close;
     210    TForm(Control).Close;
    211211  end;
    212212end;
     
    227227  if PopupComponent is TCDHeader then
    228228  with TCDHeader(PopupComponent) do begin
    229     Value := ManagerItem.Control.Caption;
     229    Value := Control.Caption;
    230230    if InputQuery(SRenameWindow, SEnterNewWindowName, False, Value) then begin
    231       ManagerItem.Control.Caption := Value;
     231      Control.Caption := Value;
    232232      Invalidate;
    233233    end;
     
    243243  if PopupComponent is TCDHeader then
    244244  with TCDHeader(PopupComponent) do begin
    245     TCDManager(TWinControl(ManagerItem.Control).DockManager).HeaderPos := hpTop;
     245    TCDManager(TWinControl(Control).DockManager).HeaderPos := hpTop;
    246246    Invalidate;
    247247  end;
     
    256256  if PopupComponent is TCDHeader then
    257257  with TCDHeader(PopupComponent) do begin
    258     TCDManager(TWinControl(ManagerItem.Control).DockManager).HeaderPos := hpLeft;
     258    TCDManager(TWinControl(Control).DockManager).HeaderPos := hpLeft;
    259259    Invalidate;
    260260  end;
     
    269269  if PopupComponent is TCDHeader then
    270270  with TCDHeader(PopupComponent) do begin
    271     TCDManager(TWinControl(ManagerItem.Control).DockManager).HeaderPos := hpRight;
     271    TCDManager(TWinControl(Control).DockManager).HeaderPos := hpRight;
    272272    Invalidate;
    273273  end;
     
    282282  if PopupComponent is TCDHeader then
    283283  with TCDHeader(PopupComponent) do begin
    284     TCDManager(TWinControl(ManagerItem.Control).DockManager).HeaderPos := hpTop;
     284    TCDManager(TWinControl(Control).DockManager).HeaderPos := hpTop;
    285285    Invalidate;
    286286  end;
     
    295295  if PopupComponent is TCDHeader then
    296296  with TCDHeader(PopupComponent) do begin
    297     TCDManager(TWinControl(ManagerItem.Control).DockManager).HeaderPos := hpBottom;
     297    TCDManager(TWinControl(Control).DockManager).HeaderPos := hpBottom;
    298298    Invalidate;
    299299  end;
     
    302302procedure TCDPopupMenu.PopupMenuUndockClick(Sender: TObject);
    303303var
    304   Control: TControl;
    305 begin
    306   if PopupComponent is TPageControl then
    307   with TPageControl(PopupComponent) do begin
    308     Control := TCDManagerTabsItem(TCDManagerTabs(Manager).DockItems[TabIndex]).Control;
    309   end else
    310   if PopupComponent is TCDHeader then
    311   with TCDHeader(PopupComponent) do begin
    312     Control := ManagerItem.Control;
    313   end else Control := nil;
    314   if Assigned(Control) then
    315     Control.ManualFloat(Control.BoundsRect);
     304  UndockControl: TControl;
     305begin
     306  if PopupComponent is TPageControl then
     307  with TPageControl(PopupComponent) do begin
     308    UndockControl := TCDManagerTabsItem(TCDManagerTabs(Manager).DockItems[TabIndex]).Control;
     309  end else
     310  if PopupComponent is TCDHeader then
     311  with TCDHeader(PopupComponent) do begin
     312    UndockControl := Control;
     313  end else UndockControl := nil;
     314  if Assigned(UndockControl) then
     315    UndockControl.ManualFloat(UndockControl.BoundsRect);
    316316end;
    317317
Note: See TracChangeset for help on using the changeset viewer.