Changeset 58 for Docking


Ignore:
Timestamp:
Sep 23, 2010, 11:41:59 AM (14 years ago)
Author:
george
Message:
  • Upraveno: Systém inicializace ukotvení přepracován z ručního na automatický pomocí použití komponenty TCoolDockClient. Zrušeno nastavení globální třídy výchozího správce ukotvení.
Location:
Docking/CoolDocking
Files:
2 added
10 edited

Legend:

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

    r56 r58  
    3535      </Item2>
    3636    </RequiredPackages>
    37     <Units Count="41">
     37    <Units Count="44">
    3838      <Unit0>
    3939        <Filename Value="Demo.lpr"/>
    4040        <IsPartOfProject Value="True"/>
    4141        <UnitName Value="Demo"/>
    42         <EditorIndex Value="13"/>
     42        <EditorIndex Value="0"/>
    4343        <WindowIndex Value="0"/>
    4444        <TopLine Value="1"/>
    45         <CursorPos X="1" Y="18"/>
    46         <UsageCount Value="77"/>
     45        <CursorPos X="25" Y="8"/>
     46        <UsageCount Value="82"/>
    4747        <Loaded Value="True"/>
    4848        <DefaultSyntaxHighlighter Value="Delphi"/>
     
    5454        <ResourceBaseClass Value="Form"/>
    5555        <UnitName Value="UMainForm"/>
    56         <EditorIndex Value="0"/>
    57         <WindowIndex Value="0"/>
    58         <TopLine Value="14"/>
    59         <CursorPos X="15" Y="27"/>
    60         <UsageCount Value="77"/>
     56        <EditorIndex Value="7"/>
     57        <WindowIndex Value="0"/>
     58        <TopLine Value="51"/>
     59        <CursorPos X="38" Y="64"/>
     60        <UsageCount Value="82"/>
    6161        <Loaded Value="True"/>
    6262        <LoadedDesigner Value="True"/>
     
    6666        <Filename Value="E:\Programy\Lazarus\lcl\controls.pp"/>
    6767        <UnitName Value="Controls"/>
    68         <EditorIndex Value="6"/>
    69         <WindowIndex Value="0"/>
    70         <TopLine Value="1891"/>
    71         <CursorPos X="31" Y="1907"/>
    72         <UsageCount Value="37"/>
     68        <EditorIndex Value="10"/>
     69        <WindowIndex Value="0"/>
     70        <TopLine Value="1673"/>
     71        <CursorPos X="15" Y="1686"/>
     72        <UsageCount Value="40"/>
    7373        <Loaded Value="True"/>
    7474      </Unit2>
     
    8484      <Unit4>
    8585        <Filename Value="E:\Programy\Lazarus\lcl\include\control.inc"/>
    86         <EditorIndex Value="7"/>
    8786        <WindowIndex Value="0"/>
    8887        <TopLine Value="1325"/>
    8988        <CursorPos X="20" Y="1335"/>
    90         <UsageCount Value="35"/>
    91         <Loaded Value="True"/>
     89        <UsageCount Value="36"/>
    9290      </Unit4>
    9391      <Unit5>
    9492        <Filename Value="E:\Programy\Lazarus\lcl\include\wincontrol.inc"/>
    95         <EditorIndex Value="8"/>
    96         <WindowIndex Value="0"/>
    97         <TopLine Value="7669"/>
    98         <CursorPos X="37" Y="7672"/>
    99         <UsageCount Value="36"/>
     93        <EditorIndex Value="11"/>
     94        <WindowIndex Value="0"/>
     95        <TopLine Value="5341"/>
     96        <CursorPos X="65" Y="5348"/>
     97        <UsageCount Value="39"/>
    10098        <Loaded Value="True"/>
    10199      </Unit5>
     
    110108      <Unit7>
    111109        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\classes\classesh.inc"/>
    112         <EditorIndex Value="14"/>
    113         <WindowIndex Value="0"/>
    114         <TopLine Value="259"/>
    115         <CursorPos X="14" Y="272"/>
    116         <UsageCount Value="29"/>
     110        <EditorIndex Value="3"/>
     111        <WindowIndex Value="0"/>
     112        <TopLine Value="484"/>
     113        <CursorPos X="3" Y="497"/>
     114        <UsageCount Value="32"/>
    117115        <Loaded Value="True"/>
    118116      </Unit7>
     
    122120        <TopLine Value="206"/>
    123121        <CursorPos X="8" Y="219"/>
    124         <UsageCount Value="7"/>
     122        <UsageCount Value="10"/>
    125123      </Unit8>
    126124      <Unit9>
     
    135133        <Filename Value="E:\Programy\Lazarus\lcl\lclproc.pas"/>
    136134        <UnitName Value="LCLProc"/>
    137         <EditorIndex Value="10"/>
    138135        <WindowIndex Value="0"/>
    139136        <TopLine Value="1493"/>
    140137        <CursorPos X="18" Y="1498"/>
    141         <UsageCount Value="28"/>
    142         <Loaded Value="True"/>
     138        <UsageCount Value="29"/>
    143139      </Unit10>
    144140      <Unit11>
     
    178174        <ResourceBaseClass Value="Form"/>
    179175        <UnitName Value="UDockForm"/>
    180         <EditorIndex Value="1"/>
     176        <EditorIndex Value="8"/>
    181177        <WindowIndex Value="0"/>
    182178        <TopLine Value="1"/>
    183         <CursorPos X="47" Y="8"/>
    184         <UsageCount Value="76"/>
    185         <Loaded Value="True"/>
     179        <CursorPos X="15" Y="9"/>
     180        <UsageCount Value="81"/>
     181        <Loaded Value="True"/>
     182        <LoadedDesigner Value="True"/>
    186183        <DefaultSyntaxHighlighter Value="Delphi"/>
    187184      </Unit15>
     
    197194        <Filename Value="E:\Programy\Lazarus\lcl\stdctrls.pp"/>
    198195        <UnitName Value="StdCtrls"/>
    199         <WindowIndex Value="0"/>
    200         <TopLine Value="1092"/>
    201         <CursorPos X="9" Y="1098"/>
    202         <UsageCount Value="6"/>
     196        <EditorIndex Value="6"/>
     197        <WindowIndex Value="0"/>
     198        <TopLine Value="813"/>
     199        <CursorPos X="28" Y="826"/>
     200        <UsageCount Value="11"/>
     201        <Loaded Value="True"/>
    203202      </Unit17>
    204203      <Unit18>
     
    231230        <Filename Value="E:\Programy\Lazarus\lcl\extctrls.pp"/>
    232231        <UnitName Value="ExtCtrls"/>
    233         <EditorIndex Value="5"/>
    234232        <WindowIndex Value="0"/>
    235233        <TopLine Value="1153"/>
    236234        <CursorPos X="32" Y="1160"/>
    237         <UsageCount Value="29"/>
    238         <Loaded Value="True"/>
     235        <UsageCount Value="30"/>
    239236      </Unit21>
    240237      <Unit22>
     
    279276        <Filename Value="E:\Programy\Lazarus\lcl\forms.pp"/>
    280277        <UnitName Value="Forms"/>
    281         <WindowIndex Value="0"/>
    282         <TopLine Value="693"/>
    283         <CursorPos X="14" Y="700"/>
    284         <UsageCount Value="11"/>
     278        <EditorIndex Value="9"/>
     279        <WindowIndex Value="0"/>
     280        <TopLine Value="709"/>
     281        <CursorPos X="18" Y="722"/>
     282        <UsageCount Value="13"/>
     283        <Loaded Value="True"/>
    285284      </Unit27>
    286285      <Unit28>
    287286        <Filename Value="E:\Programy\Lazarus\lcl\themes.pas"/>
    288287        <UnitName Value="Themes"/>
    289         <EditorIndex Value="16"/>
    290288        <WindowIndex Value="0"/>
    291289        <TopLine Value="550"/>
    292290        <CursorPos X="26" Y="560"/>
    293         <UsageCount Value="31"/>
    294         <Loaded Value="True"/>
     291        <UsageCount Value="32"/>
    295292      </Unit28>
    296293      <Unit29>
     
    331328        <UnitName Value="UCoolDocking"/>
    332329        <IsVisibleTab Value="True"/>
    333         <EditorIndex Value="2"/>
    334         <WindowIndex Value="0"/>
    335         <TopLine Value="1"/>
    336         <CursorPos X="66" Y="12"/>
    337         <UsageCount Value="28"/>
     330        <EditorIndex Value="1"/>
     331        <WindowIndex Value="0"/>
     332        <TopLine Value="987"/>
     333        <CursorPos X="14" Y="1002"/>
     334        <UsageCount Value="31"/>
    338335        <Loaded Value="True"/>
    339336        <DefaultSyntaxHighlighter Value="Delphi"/>
     
    341338      <Unit34>
    342339        <Filename Value="..\ReadMe.txt"/>
    343         <EditorIndex Value="17"/>
    344340        <WindowIndex Value="0"/>
    345341        <TopLine Value="1"/>
    346342        <CursorPos X="29" Y="16"/>
    347         <UsageCount Value="28"/>
    348         <Loaded Value="True"/>
     343        <UsageCount Value="29"/>
    349344        <DefaultSyntaxHighlighter Value="None"/>
    350345      </Unit34>
    351346      <Unit35>
    352347        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\classes\lists.inc"/>
    353         <EditorIndex Value="15"/>
    354         <WindowIndex Value="0"/>
    355         <TopLine Value="641"/>
    356         <CursorPos X="3" Y="643"/>
    357         <UsageCount Value="28"/>
    358         <Loaded Value="True"/>
     348        <WindowIndex Value="0"/>
     349        <TopLine Value="619"/>
     350        <CursorPos X="22" Y="621"/>
     351        <UsageCount Value="29"/>
    359352      </Unit35>
    360353      <Unit36>
    361354        <Filename Value="E:\Programy\Lazarus\lcl\include\custompanel.inc"/>
    362         <EditorIndex Value="12"/>
    363355        <WindowIndex Value="0"/>
    364356        <TopLine Value="27"/>
    365357        <CursorPos X="3" Y="32"/>
    366         <UsageCount Value="28"/>
    367         <Loaded Value="True"/>
     358        <UsageCount Value="29"/>
    368359      </Unit36>
    369360      <Unit37>
    370361        <Filename Value="E:\Programy\Lazarus\lcl\include\customcontrol.inc"/>
    371         <EditorIndex Value="11"/>
    372362        <WindowIndex Value="0"/>
    373363        <TopLine Value="50"/>
    374364        <CursorPos X="18" Y="61"/>
    375         <UsageCount Value="28"/>
    376         <Loaded Value="True"/>
     365        <UsageCount Value="29"/>
    377366      </Unit37>
    378367      <Unit38>
    379368        <Filename Value="E:\Programy\Lazarus\lcl\include\controlsproc.inc"/>
    380         <EditorIndex Value="9"/>
    381369        <WindowIndex Value="0"/>
    382370        <TopLine Value="84"/>
    383371        <CursorPos X="45" Y="90"/>
    384         <UsageCount Value="28"/>
    385         <Loaded Value="True"/>
     372        <UsageCount Value="29"/>
    386373      </Unit38>
    387374      <Unit39>
     
    391378        <ResourceBaseClass Value="Form"/>
    392379        <UnitName Value="UCoolDockCustomize"/>
    393         <EditorIndex Value="4"/>
     380        <EditorIndex Value="12"/>
    394381        <WindowIndex Value="0"/>
    395382        <TopLine Value="9"/>
    396383        <CursorPos X="19" Y="17"/>
    397         <UsageCount Value="28"/>
    398         <Loaded Value="True"/>
    399         <LoadedDesigner Value="True"/>
     384        <UsageCount Value="30"/>
     385        <Loaded Value="True"/>
    400386        <DefaultSyntaxHighlighter Value="Delphi"/>
    401387      </Unit39>
    402388      <Unit40>
    403389        <Filename Value="..\UCoolDockWindowList.pas"/>
    404         <ComponentName Value="CoolDockWindowList"/>
     390        <ComponentName Value="CoolDockWindowListForm"/>
    405391        <HasResources Value="True"/>
    406392        <ResourceBaseClass Value="Form"/>
    407393        <UnitName Value="UCoolDockWindowList"/>
    408         <EditorIndex Value="3"/>
    409394        <WindowIndex Value="0"/>
    410395        <TopLine Value="59"/>
    411396        <CursorPos X="44" Y="61"/>
    412         <UsageCount Value="10"/>
     397        <UsageCount Value="11"/>
     398        <DefaultSyntaxHighlighter Value="Delphi"/>
     399      </Unit40>
     400      <Unit41>
     401        <Filename Value="SampleDockableForm.pas"/>
     402        <IsPartOfProject Value="True"/>
     403        <ComponentName Value="Form1"/>
     404        <ResourceBaseClass Value="Form"/>
     405        <UnitName Value="SampleDockableForm"/>
     406        <EditorIndex Value="5"/>
     407        <WindowIndex Value="0"/>
     408        <TopLine Value="1"/>
     409        <CursorPos X="15" Y="18"/>
     410        <UsageCount Value="24"/>
    413411        <Loaded Value="True"/>
    414412        <LoadedDesigner Value="True"/>
    415413        <DefaultSyntaxHighlighter Value="Delphi"/>
    416       </Unit40>
     414      </Unit41>
     415      <Unit42>
     416        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\classes\compon.inc"/>
     417        <EditorIndex Value="4"/>
     418        <WindowIndex Value="0"/>
     419        <TopLine Value="223"/>
     420        <CursorPos X="3" Y="226"/>
     421        <UsageCount Value="12"/>
     422        <Loaded Value="True"/>
     423      </Unit42>
     424      <Unit43>
     425        <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\sysutils\sysutilh.inc"/>
     426        <EditorIndex Value="2"/>
     427        <WindowIndex Value="0"/>
     428        <TopLine Value="53"/>
     429        <CursorPos X="4" Y="66"/>
     430        <UsageCount Value="12"/>
     431        <Loaded Value="True"/>
     432      </Unit43>
    417433    </Units>
    418434    <JumpHistory Count="30" HistoryIndex="29">
    419435      <Position1>
    420         <Filename Value="E:\Programy\Lazarus\lcl\include\control.inc"/>
    421         <Caret Line="1351" Column="16" TopLine="1336"/>
     436        <Filename Value="..\UCoolDocking.pas"/>
     437        <Caret Line="1307" Column="15" TopLine="1289"/>
    422438      </Position1>
    423439      <Position2>
    424         <Filename Value="E:\Programy\Lazarus\lcl\include\control.inc"/>
    425         <Caret Line="5" Column="61" TopLine="1"/>
     440        <Filename Value="..\UCoolDocking.pas"/>
     441        <Caret Line="1293" Column="23" TopLine="1280"/>
    426442      </Position2>
    427443      <Position3>
    428         <Filename Value="E:\Programy\Lazarus\lcl\include\control.inc"/>
    429         <Caret Line="1338" Column="22" TopLine="1325"/>
     444        <Filename Value="..\UCoolDocking.pas"/>
     445        <Caret Line="1147" Column="19" TopLine="1139"/>
    430446      </Position3>
    431447      <Position4>
    432448        <Filename Value="..\UCoolDocking.pas"/>
    433         <Caret Line="469" Column="35" TopLine="450"/>
     449        <Caret Line="185" Column="16" TopLine="171"/>
    434450      </Position4>
    435451      <Position5>
    436         <Filename Value="..\UCoolDocking.pas"/>
    437         <Caret Line="468" Column="12" TopLine="450"/>
     452        <Filename Value="UMainForm.pas"/>
     453        <Caret Line="23" Column="42" TopLine="14"/>
    438454      </Position5>
    439455      <Position6>
    440456        <Filename Value="..\UCoolDocking.pas"/>
    441         <Caret Line="417" Column="29" TopLine="404"/>
     457        <Caret Line="1301" Column="16" TopLine="1285"/>
    442458      </Position6>
    443459      <Position7>
    444460        <Filename Value="..\UCoolDocking.pas"/>
    445         <Caret Line="59" Column="46" TopLine="50"/>
     461        <Caret Line="1298" Column="49" TopLine="1285"/>
    446462      </Position7>
    447463      <Position8>
    448464        <Filename Value="..\UCoolDocking.pas"/>
    449         <Caret Line="470" Column="54" TopLine="454"/>
     465        <Caret Line="1302" Column="20" TopLine="1285"/>
    450466      </Position8>
    451467      <Position9>
    452468        <Filename Value="..\UCoolDocking.pas"/>
    453         <Caret Line="832" Column="43" TopLine="828"/>
     469        <Caret Line="1303" Column="21" TopLine="1285"/>
    454470      </Position9>
    455471      <Position10>
    456         <Filename Value="..\UCoolDocking.pas"/>
    457         <Caret Line="696" Column="12" TopLine="683"/>
     472        <Filename Value="E:\Programy\Lazarus\lcl\forms.pp"/>
     473        <Caret Line="722" Column="18" TopLine="709"/>
    458474      </Position10>
    459475      <Position11>
    460         <Filename Value="..\UCoolDocking.pas"/>
    461         <Caret Line="140" Column="47" TopLine="127"/>
     476        <Filename Value="E:\Programy\Lazarus\lcl\controls.pp"/>
     477        <Caret Line="1878" Column="60" TopLine="1865"/>
    462478      </Position11>
    463479      <Position12>
    464         <Filename Value="..\UCoolDocking.pas"/>
    465         <Caret Line="833" Column="31" TopLine="830"/>
     480        <Filename Value="SampleDockableForm.pas"/>
     481        <Caret Line="4" Column="41" TopLine="1"/>
    466482      </Position12>
    467483      <Position13>
    468         <Filename Value="..\UCoolDocking.pas"/>
    469         <Caret Line="699" Column="28" TopLine="692"/>
     484        <Filename Value="UDockForm.pas"/>
     485        <Caret Line="8" Column="47" TopLine="1"/>
    470486      </Position13>
    471487      <Position14>
    472         <Filename Value="E:\Programy\Lazarus\lcl\controls.pp"/>
    473         <Caret Line="1904" Column="65" TopLine="1891"/>
     488        <Filename Value="UMainForm.pas"/>
     489        <Caret Line="99" Column="5" TopLine="91"/>
    474490      </Position14>
    475491      <Position15>
    476492        <Filename Value="..\UCoolDocking.pas"/>
    477         <Caret Line="835" Column="42" TopLine="830"/>
     493        <Caret Line="1309" Column="1" TopLine="1287"/>
    478494      </Position15>
    479495      <Position16>
    480         <Filename Value="..\UCoolDocking.pas"/>
    481         <Caret Line="749" Column="1" TopLine="736"/>
     496        <Filename Value="UMainForm.pas"/>
     497        <Caret Line="66" Column="26" TopLine="55"/>
    482498      </Position16>
    483499      <Position17>
    484         <Filename Value="..\UCoolDocking.pas"/>
    485         <Caret Line="750" Column="1" TopLine="736"/>
     500        <Filename Value="UMainForm.pas"/>
     501        <Caret Line="67" Column="26" TopLine="56"/>
    486502      </Position17>
    487503      <Position18>
    488         <Filename Value="..\UCoolDocking.pas"/>
    489         <Caret Line="751" Column="1" TopLine="736"/>
     504        <Filename Value="UMainForm.pas"/>
     505        <Caret Line="66" Column="26" TopLine="55"/>
    490506      </Position18>
    491507      <Position19>
    492508        <Filename Value="..\UCoolDocking.pas"/>
    493         <Caret Line="754" Column="1" TopLine="736"/>
     509        <Caret Line="183" Column="34" TopLine="169"/>
    494510      </Position19>
    495511      <Position20>
    496512        <Filename Value="..\UCoolDocking.pas"/>
    497         <Caret Line="699" Column="25" TopLine="686"/>
     513        <Caret Line="177" Column="70" TopLine="153"/>
    498514      </Position20>
    499515      <Position21>
    500         <Filename Value="E:\Programy\Lazarus\lcl\controls.pp"/>
    501         <Caret Line="1904" Column="69" TopLine="1891"/>
     516        <Filename Value="SampleDockableForm.pas"/>
     517        <Caret Line="4" Column="41" TopLine="1"/>
    502518      </Position21>
    503519      <Position22>
    504         <Filename Value="E:\Programy\Lazarus\lcl\controls.pp"/>
    505         <Caret Line="1689" Column="34" TopLine="1676"/>
     520        <Filename Value="SampleDockableForm.pas"/>
     521        <Caret Line="18" Column="15" TopLine="1"/>
    506522      </Position22>
    507523      <Position23>
    508         <Filename Value="E:\Programy\Lazarus\lcl\controls.pp"/>
    509         <Caret Line="1907" Column="31" TopLine="1891"/>
     524        <Filename Value="E:\Programy\Lazarus\lcl\stdctrls.pp"/>
     525        <Caret Line="918" Column="17" TopLine="906"/>
    510526      </Position23>
    511527      <Position24>
    512         <Filename Value="..\UCoolDockWindowList.pas"/>
    513         <Caret Line="1" Column="1" TopLine="1"/>
     528        <Filename Value="E:\Programy\Lazarus\lcl\stdctrls.pp"/>
     529        <Caret Line="826" Column="28" TopLine="813"/>
    514530      </Position24>
    515531      <Position25>
    516         <Filename Value="..\UCoolDockWindowList.pas"/>
    517         <Caret Line="19" Column="75" TopLine="1"/>
     532        <Filename Value="..\UCoolDocking.pas"/>
     533        <Caret Line="192" Column="21" TopLine="178"/>
    518534      </Position25>
    519535      <Position26>
    520         <Filename Value="..\UCoolDockWindowList.pas"/>
    521         <Caret Line="36" Column="9" TopLine="17"/>
     536        <Filename Value="UMainForm.pas"/>
     537        <Caret Line="61" Column="45" TopLine="55"/>
    522538      </Position26>
    523539      <Position27>
    524         <Filename Value="..\UCoolDockWindowList.pas"/>
    525         <Caret Line="24" Column="24" TopLine="11"/>
     540        <Filename Value="UMainForm.pas"/>
     541        <Caret Line="66" Column="43" TopLine="56"/>
    526542      </Position27>
    527543      <Position28>
    528         <Filename Value="..\UCoolDockWindowList.pas"/>
    529         <Caret Line="70" Column="41" TopLine="53"/>
     544        <Filename Value="UMainForm.pas"/>
     545        <Caret Line="64" Column="32" TopLine="56"/>
    530546      </Position28>
    531547      <Position29>
    532         <Filename Value="..\UCoolDockWindowList.pas"/>
    533         <Caret Line="49" Column="40" TopLine="34"/>
     548        <Filename Value="UMainForm.pas"/>
     549        <Caret Line="71" Column="35" TopLine="56"/>
    534550      </Position29>
    535551      <Position30>
    536         <Filename Value="..\UCoolDockWindowList.pas"/>
    537         <Caret Line="56" Column="26" TopLine="39"/>
     552        <Filename Value="UMainForm.pas"/>
     553        <Caret Line="64" Column="38" TopLine="51"/>
    538554      </Position30>
    539555    </JumpHistory>
     
    546562    </Target>
    547563    <SearchPaths>
    548       <IncludeFiles Value="$(ProjOutDir)\"/>
    549       <OtherUnitFiles Value="..\"/>
     564      <IncludeFiles Value="$(ProjOutDir)"/>
     565      <OtherUnitFiles Value=".."/>
    550566      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
    551567    </SearchPaths>
     
    582598  </CompilerOptions>
    583599  <Debugging>
     600    <BreakPoints Count="1">
     601      <Item1>
     602        <Source Value="..\UCoolDocking.pas"/>
     603        <Line Value="883"/>
     604      </Item1>
     605    </BreakPoints>
    584606    <Watches Count="1">
    585607      <Item1>
  • Docking/CoolDocking/Demo/Demo.lpr

    r54 r58  
    88  {$ENDIF}{$ENDIF}
    99  Interfaces, // this includes the LCL widgetset
    10   Forms, UMainForm, UDockForm, CoolDocking;
     10  Forms, UMainForm, UDockForm, CoolDocking, SampleDockableForm;
    1111
    1212{$R *.res}
     
    1515  Application.Initialize;
    1616  Application.CreateForm(TMainForm, MainForm);
     17  Application.CreateForm(TForm1, Form1);
    1718  Application.Run;
    1819end.
  • Docking/CoolDocking/Demo/UDockForm.lfm

    r41 r58  
    11object DockForm: TDockForm
    2   Left = 391
     2  Left = 396
    33  Height = 240
    4   Top = 125
     4  Top = 142
    55  Width = 320
    66  Caption = 'DockForm'
     
    1616    TabOrder = 0
    1717  end
     18  object CoolDockClient1: TCoolDockClient
     19    Master = MainForm.CoolDockMaster1
     20    left = 40
     21    top = 24
     22  end
    1823end
  • Docking/CoolDocking/Demo/UDockForm.pas

    r41 r58  
    66
    77uses
    8   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
     8  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
     9  UCoolDocking;
    910
    1011type
     
    1314
    1415  TDockForm = class(TForm)
     16    CoolDockClient1: TCoolDockClient;
    1517    Memo1: TMemo;
    1618  private
  • Docking/CoolDocking/Demo/UMainForm.lfm

    r57 r58  
    3535    DefaultHeaderPos = hpAuto
    3636    Customize = CoolDockCustomize1
     37    ShowIcons = False
    3738    left = 384
    3839  end
     
    6263    end
    6364  end
     65  object CoolDockClient1: TCoolDockClient
     66    Master = CoolDockMaster1
     67    Panel = Panel1
     68    left = 376
     69    top = 64
     70  end
    6471end
  • Docking/CoolDocking/Demo/UMainForm.pas

    r56 r58  
    1616  TMainForm = class(TForm)
    1717    Button1: TButton;
     18    CoolDockClient1: TCoolDockClient;
    1819    CoolDockCustomize1: TCoolDockCustomize;
    1920    CoolDockMaster1: TCoolDockMaster;
     
    9495  Result.Name := 'Form' + IntToStr(FormIndex);
    9596  Result.Memo1.Text := Result.Name;
    96   Result.DragKind := dkDock;
    97   Result.DragMode := dmAutomatic;
    98   Result.DockSite := True;
    99   Result.UseDockManager := True;
     97  //Result.DragKind := dkDock;
     98  //Result.DragMode := dmAutomatic;
     99  //Result.DockSite := True;
     100  //Result.UseDockManager := True;
    100101  Inc(FormIndex);
    101102  Result.Show;
  • Docking/CoolDocking/UCoolDockWindowList.pas

    r57 r58  
    103103            //ShowMessage(IntToStr(Integer(Form.Icon.TransparentColor)));
    104104            IconBitmap.Assign(Form.Icon);
    105           //IconBitmap.Canvas.Draw(0, 0, Form.Icon);
     105            //IconBitmap.Canvas.Draw(0, 0, Form.Icon);
    106106
    107             Mask.Assign(Form.Icon);
    108             Mask.Canvas.Brush.Color := Form.Icon.TransparentColor;
    109             Mask.Monochrome := True;
    110             ImageList1.BkColor := clBlack;
    111             ImageList1.Add(IconBitmap, Mask);
     107            //Mask.Assign(Form.Icon);
     108            //Mask.Canvas.Brush.Color := Form.Icon.TransparentColor;
     109            //Mask.Monochrome := True;
     110            //ImageList1.BkColor := clBlack;
     111            ImageList1.Add(IconBitmap, nil);
    112112          finally
    113113            Mask.Free;
  • Docking/CoolDocking/UCoolDocking.pas

    r57 r58  
    2222  TCoolDockClientPanel = class;
    2323  TCoolDockCustomize = class;
     24  TCoolDockClient = class;
    2425
    2526  { TCoolDockConjoinForm }
     
    2728  TCoolDockConjoinForm = class(TForm)
    2829    Panel: TPanel;
     30    CoolDockClient: TCoolDockClient;
    2931    constructor Create(TheOwner: TComponent); override;
    3032  end;
     
    8688    FDockStyle: TDockStyle;
    8789    TabControl: TTabControl;
     90    TabImageList: TImageList;
    8891    FDockDirection: TDockDirection;
    8992    FDockSite: TWinControl;
     
    149152    FCoolDockCustomize: TCoolDockCustomize;
    150153    FDefaultHeaderPos: THeaderPos;
     154    FShowIcons: Boolean;
    151155    FTabsEnabled: Boolean;
     156    FClients: TObjectList;
     157    function GetClient(Index: Integer): TCoolDockClient;
    152158    procedure SetCustomize(const AValue: TCoolDockCustomize);
     159    procedure SetShowIcons(const AValue: Boolean);
    153160    procedure SetTabsEnabled(const AValue: Boolean);
    154161  public
     
    157164    procedure SaveLayoutToFile(FileName: string);
    158165    procedure LoadLayoutFromFile(FileName: string);
     166    constructor Create(AOwner: TComponent); override;
    159167    destructor Destroy; override;
     168    procedure RegisterClient(Client: TCoolDockClient);
     169    procedure UnRegisterClient(Client: TCoolDockClient);
     170    property Clients[Index: Integer]: TCoolDockClient read GetClient;
    160171  published
    161172    property TabsEnabled: Boolean read FTabsEnabled write SetTabsEnabled;
     
    164175    property Customize: TCoolDockCustomize read FCoolDockCustomize
    165176      write SetCustomize;
     177    property ShowIcons: Boolean read FShowIcons
     178      write SetShowIcons;
     179  end;
     180
     181  TCoolDockClient = class(TComponent)
     182  private
     183    FMaster: TCoolDockMaster;
     184    FPanel: TPanel;
     185    procedure SetMaster(const AValue: TCoolDockMaster);
     186    constructor Create(AOwner: TComponent); override;
     187    destructor Destroy; override;
     188    procedure SetPanel(const AValue: TPanel);
     189  published
     190    property Master: TCoolDockMaster read FMaster
     191      write SetMaster;
     192    property Panel: TPanel read FPanel
     193      write SetPanel;
    166194  end;
    167195
     
    210238  SUndock = 'Undock';
    211239  SCustomize = 'Customize...';
     240  SWrongOwner = 'Owner of TCoolDockClient have to be TForm';
    212241
    213242procedure Register;
    214243begin
    215244  RegisterComponents('CoolDocking', [TCoolDockMaster]);
     245  RegisterComponents('CoolDocking', [TCoolDockClient]);
    216246  RegisterComponents('CoolDocking', [TCoolDockCustomize]);
    217247  RegisterComponents('CoolDocking', [TCoolDockWindowList]);
     
    380410  PopupMenuHeader.Items.Add(NewMenuItem);
    381411
     412  TabImageList := TImageList.Create(FDockSite);
     413  with TabImageList do begin
     414  end;
    382415  TabControl := TTabControl.Create(FDockSite);
    383416  with TabControl do begin
     
    389422    PopupMenu := PopupMenuTabs;
    390423    OnMouseDown := TabControlMouseDown;
     424    Images := TabImageList;
    391425  end;
    392426  TabsPos := hpTop;
     
    646680    TabControl.Visible := True;
    647681    TabControl.Tabs.Clear;
     682    TabImageList.Clear;
    648683    for I := 0 to FDockPanels.Count - 1 do begin
    649684      TabControl.Tabs.Add(TCoolDockClientPanel(FDockPanels[I]).Control.Caption);
     685      TabImageList.Add(TCoolDockClientPanel(FDockPanels[I]).Header.Icon.Picture.Bitmap, nil);
    650686      if Assigned(TCoolDockClientPanel(FDockPanels[I]).Splitter) then
    651687        TCoolDockClientPanel(FDockPanels[I]).Splitter.Visible := False;
     
    846882procedure TCoolDockClientPanel.VisibleChange(Sender: TObject);
    847883begin
    848 (*  if Assigned(Control) then begin
    849     //OwnerDockManager.FDockPanels.Remove(Self);
     884  if Assigned(Control) then begin
    850885    if Assigned(ClientAreaPanel) then
    851886      ClientAreaPanel.Visible := Control.Visible;
     
    853888      Splitter.Visible := Control.Visible;
    854889    OwnerDockManager.UpdateClientSize;
    855   end;*)
     890  end;
    856891end;
    857892
     
    963998  //  Color := clYellow;
    964999  end;
    965   DragKind := dkDock;
    966   DragMode := dmAutomatic;
     1000  CoolDockClient := TCoolDockClient.Create(Self);
     1001  with CoolDockClient do begin
     1002    Panel := Self.Panel;
     1003  end;
    9671004end;
    9681005
     
    9881025    OldCustomize.Master := nil;
    9891026  end;
     1027end;
     1028
     1029function TCoolDockMaster.GetClient(Index: Integer): TCoolDockClient;
     1030begin
     1031  Result := TCoolDockClient(FClients[Index]);
     1032end;
     1033
     1034procedure TCoolDockMaster.SetShowIcons(const AValue: Boolean);
     1035begin
     1036  if FShowIcons = AValue then Exit;
     1037  FShowIcons := AValue;
    9901038end;
    9911039
     
    10931141end;
    10941142
     1143constructor TCoolDockMaster.Create(AOwner: TComponent);
     1144begin
     1145  inherited Create(AOwner);
     1146  FClients := TObjectList.Create;
     1147  FClients.OwnsObjects := False;
     1148end;
     1149
    10951150destructor TCoolDockMaster.Destroy;
    10961151begin
     1152  FClients.Free;
    10971153  Customize := nil;
    10981154  inherited Destroy;
     1155end;
     1156
     1157procedure TCoolDockMaster.RegisterClient(Client: TCoolDockClient);
     1158begin
     1159  if Assigned(Client) then
     1160    if FClients.IndexOf(Client) <> -1 then begin
     1161      FClients.Add(Client);
     1162      Client.Master := Self;
     1163    end;
     1164end;
     1165
     1166procedure TCoolDockMaster.UnRegisterClient(Client: TCoolDockClient);
     1167begin
     1168  if Assigned(Client) then begin
     1169    Client.Master := nil;
     1170    FClients.Remove(Client);
     1171  end;
    10991172end;
    11001173
     
    11401213    Parent := Self;
    11411214    Left := 4;
    1142     Top := 3;
     1215    Top := 2;
    11431216    Visible := True;
    11441217  end;
     
    12231296end;
    12241297
    1225 initialization
    1226   DefaultDockManagerClass := TCoolDockManager;
     1298{ TCoolDockClient }
     1299
     1300procedure TCoolDockClient.SetMaster(const AValue: TCoolDockMaster);
     1301var
     1302  FOldMaster: TCoolDockMaster;
     1303begin
     1304  if FMaster = AValue then Exit;
     1305  FOldMaster := FMaster;
     1306  FMaster := AValue;
     1307  if Assigned(FOldMaster) then
     1308    FOldMaster.UnregisterClient(Self);
     1309  if Assigned(FMaster) then
     1310    FMaster.RegisterClient(Self);
     1311end;
     1312
     1313constructor TCoolDockClient.Create(AOwner: TComponent);
     1314begin
     1315  inherited Create(AOwner);
     1316  if not (AOwner is TForm) then
     1317    raise Exception.Create(SWrongOwner);
     1318  with (AOwner as TForm) do begin
     1319    if not (csDesigning in ComponentState) then begin
     1320      DragKind := dkDock;
     1321      DragMode := dmAutomatic;
     1322      DockSite := True;
     1323      UseDockManager := True;
     1324      DockManager := TCoolDockManager.Create(TWinControl(AOwner));
     1325    end;
     1326  end;
     1327end;
     1328
     1329destructor TCoolDockClient.Destroy;
     1330begin
     1331  inherited Destroy;
     1332  Master := nil;
     1333end;
     1334
     1335procedure TCoolDockClient.SetPanel(const AValue: TPanel);
     1336var
     1337  OldPanel: TPanel;
     1338begin
     1339  if FPanel = AValue then exit;
     1340  OldPanel := FPanel;
     1341  FPanel := AValue;
     1342  if not (csDesigning in ComponentState) then begin
     1343    if Assigned(FPanel) then
     1344    with FPanel do begin
     1345      DockSite := True;
     1346      UseDockManager := True;
     1347      DockManager := TCoolDockManager.Create(FPanel);
     1348    end else begin
     1349      OldPanel.DockSite := False;
     1350    end;
     1351  end;
     1352end;
    12271353
    12281354end.
  • Docking/CoolDocking/languages/UCoolDocking.cs.po

    r56 r58  
    1515
    1616#: ucooldocking.scustomize
    17 #, fuzzy
    1817#| msgid "Customize...s"
    1918msgid "Customize..."
     
    6463msgstr "Odkotvit"
    6564
     65#: ucooldocking.swrongowner
     66msgid "Owner of TCoolDockClient have to be TForm"
     67msgstr ""
     68
  • Docking/CoolDocking/languages/UCoolDocking.po

    r56 r58  
    5454msgstr ""
    5555
     56#: ucooldocking.swrongowner
     57msgid "Owner of TCoolDockClient have to be TForm"
     58msgstr ""
     59
Note: See TracChangeset for help on using the changeset viewer.