Changeset 57 for Docking


Ignore:
Timestamp:
Sep 22, 2010, 9:21:42 AM (14 years ago)
Author:
george
Message:
  • Přidáno: Zobrazení ikon v titulku ukotvených oken.
  • Opraveno: Vzájemné provázání TCoolDockCustomize a TCoolDockMaster.
  • Upraveno: Vytváření seznamu ukotvitelných oken komponenty TCoolDockWindowList.
Location:
Docking/CoolDocking
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • Docking/CoolDocking/CoolDocking.lpk

    r56 r57  
    44    <PathDelim Value="\"/>
    55    <Name Value="CoolDocking"/>
     6    <Author Value="Chronos"/>
    67    <CompilerOptions>
    78      <Version Value="9"/>
     
    2223      </Other>
    2324    </CompilerOptions>
     25    <Description Value="Set of components for docking of windows."/>
     26    <Version Major="1"/>
    2427    <Files Count="4">
    2528      <Item1>
  • Docking/CoolDocking/Demo/UMainForm.lfm

    r56 r57  
    3434    TabsEnabled = False
    3535    DefaultHeaderPos = hpAuto
     36    Customize = CoolDockCustomize1
    3637    left = 384
    3738  end
    3839  object CoolDockCustomize1: TCoolDockCustomize
     40    Master = CoolDockMaster1
    3941    left = 472
    4042  end
     
    4547  object MainMenu1: TMainMenu
    4648    left = 211
    47     top = 14
    4849    object MenuItem1: TMenuItem
    4950      Caption = 'Docking'
  • Docking/CoolDocking/UCoolDockCustomize.lfm

    r56 r57  
    1313    Top = 8
    1414    Width = 393
    15     ActivePage = TabSheetSetting
     15    ActivePage = TabSheetLayouts
    1616    Anchors = [akTop, akLeft, akRight, akBottom]
    17     TabIndex = 0
     17    TabIndex = 1
    1818    TabOrder = 0
    1919    object TabSheetSetting: TTabSheet
     
    4141    object TabSheetLayouts: TTabSheet
    4242      Caption = 'Layouts'
     43      ClientHeight = 252
     44      ClientWidth = 385
     45      object ListBox1: TListBox
     46        Left = 10
     47        Height = 231
     48        Top = 11
     49        Width = 180
     50        Anchors = [akTop, akLeft, akBottom]
     51        ItemHeight = 0
     52        TabOrder = 0
     53      end
    4354    end
    4455  end
  • Docking/CoolDocking/UCoolDockCustomize.lrs

    r56 r57  
    66  +'cking'#12'ClientHeight'#3'C'#1#11'ClientWidth'#3#151#1#10'LCLVersion'#6#6'0'
    77  +'.9.29'#0#12'TPageControl'#12'PageControl1'#4'Left'#2#8#6'Height'#3#22#1#3'T'
    8   +'op'#2#8#5'Width'#3#137#1#10'ActivePage'#7#15'TabSheetSetting'#7'Anchors'#11
    9   +#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8'TabIndex'#2#0#8'TabOrder'#2#0
     8  +'op'#2#8#5'Width'#3#137#1#10'ActivePage'#7#15'TabSheetLayouts'#7'Anchors'#11
     9  +#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8'TabIndex'#2#1#8'TabOrder'#2#0
    1010  +#0#9'TTabSheet'#15'TabSheetSetting'#7'Caption'#6#7'Options'#12'ClientHeight'
    1111  +#3#252#0#11'ClientWidth'#3#129#1#0#6'TLabel'#6'Label1'#4'Left'#2#7#6'Height'
     
    1313  +'arentColor'#8#0#0#9'TComboBox'#9'ComboBox1'#4'Left'#3#132#0#6'Height'#2#21#3
    1414  +'Top'#2#10#5'Width'#2'd'#10'ItemHeight'#2#13#8'TabOrder'#2#0#4'Text'#6#9'Com'
    15   +'boBox1'#0#0#0#9'TTabSheet'#15'TabSheetLayouts'#7'Caption'#6#7'Layouts'#0#0#0
    16   +#7'TButton'#11'ButtonClose'#4'Left'#3'D'#1#6'Height'#2#22#3'Top'#3'&'#1#5'Wi'
    17   +'dth'#2'K'#7'Anchors'#11#7'akRight'#8'akBottom'#0#7'Caption'#6#5'Close'#7'On'
    18   +'Click'#7#16'ButtonCloseClick'#8'TabOrder'#2#1#0#0#0
     15  +'boBox1'#0#0#0#9'TTabSheet'#15'TabSheetLayouts'#7'Caption'#6#7'Layouts'#12'C'
     16  +'lientHeight'#3#252#0#11'ClientWidth'#3#129#1#0#8'TListBox'#8'ListBox1'#4'Le'
     17  +'ft'#2#10#6'Height'#3#231#0#3'Top'#2#11#5'Width'#3#180#0#7'Anchors'#11#5'akT'
     18  +'op'#6'akLeft'#8'akBottom'#0#10'ItemHeight'#2#0#8'TabOrder'#2#0#0#0#0#0#7'TB'
     19  +'utton'#11'ButtonClose'#4'Left'#3'D'#1#6'Height'#2#22#3'Top'#3'&'#1#5'Width'
     20  +#2'K'#7'Anchors'#11#7'akRight'#8'akBottom'#0#7'Caption'#6#5'Close'#7'OnClick'
     21  +#7#16'ButtonCloseClick'#8'TabOrder'#2#1#0#0#0
    1922]);
  • Docking/CoolDocking/UCoolDockCustomize.pas

    r56 r57  
    1717    ComboBox1: TComboBox;
    1818    Label1: TLabel;
     19    ListBox1: TListBox;
    1920    PageControl1: TPageControl;
    2021    TabSheetSetting: TTabSheet;
  • Docking/CoolDocking/UCoolDockWindowList.lfm

    r56 r57  
    6060    left = 32
    6161    top = 38
     62    Bitmap = {
     63      4C69010000001000000010000000000000000000000000000000000000000000
     64      0000000000FF000000FF000000FF000000FF000000FF00000000000000000000
     65      0000000000000000000000000000000000000000000000000000000000FF0000
     66      00FF000000FFBDBDBDFFFFFFFFFFFFFFFFFFBDBDBDFF000000FF000000FF0000
     67      00000000000000000000000000000000000000000000000000FFFFFF00FFFFFF
     68      00FFFFFF00FF000000FFFFFFFFFFBDBDBDFF007B7BFF007B7BFF007B7BFF0000
     69      00FF00000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF
     70      00FF000000FFFFFFFFFF007B7BFF007B7BFF000000FF007B7BFF007B7BFFFFFF
     71      00FF000000FF000000000000000000000000000000FFFFFF00FFFFFF00FF0000
     72      00FF007B7BFF000000FF007B7BFF007B7BFFFFFF00FF000000FF007B7BFF007B
     73      7BFF000000FF0000000000000000000000FFFFFF00FFFFFF00FFFFFF00FF0000
     74      00FFFFFF00FFFFFF00FF007B7BFFFFFF00FF000000FF007B7BFF007B7BFF007B
     75      7BFF007B7BFF000000FF00000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF
     76      00FF007B7BFFFFFF00FFFFFF00FFFFFF00FF000000FF007B7BFF007B7BFF007B
     77      7BFF007B7BFF000000FF00000000000000FFFFFF00FFFFFF00FF000000000000
     78      00FF007B7BFF007B7BFF007B7BFF007B7BFF007B7BFF007B7BFF000000FF007B
     79      7BFF007B7BFF000000FF00000000000000FFFFFF00FF00000000FFFF00FF0000
     80      00FF007B7BFF007B7BFF007B7BFF007B7BFF000000FFFFFF00FF7B7B7BFFFFFF
     81      00FF000000FF000000FF00000000000000FF00000000FFFF00FF000000000000
     82      00FF007B7BFF007B7BFF007B7BFF007B7BFFFFFF00FF7B7B7BFFFFFF00FF7B7B
     83      7BFF7B7B7BFF000000FF0000000000000000000000FF00000000FFFF00FF0000
     84      0000FFFF00FF000000FF007B7BFF007B7BFF7B7B7BFFFFFF00FF7B7B7BFFFFFF
     85      00FF000000FF000000000000000000000000000000FFFFFF00FF00000000FFFF
     86      00FF00000000FFFF00FF007B7BFF007B7BFFFFFF00FF7B7B7BFFFFFF00FF7B7B
     87      7BFF000000FF00000000000000000000000000000000000000FFFFFF00FF0000
     88      0000FFFF00FFFFFF00FFFFFF00FF007B7BFF7B7B7BFFFFFF00FF7B7B7BFF0000
     89      00FF000000000000000000000000000000000000000000000000000000FF0000
     90      00FF00000000FFFF00FF00000000FFFF00FFFFFF00FF000000FF000000FF0000
     91      0000000000000000000000000000000000000000000000000000000000000000
     92      0000000000FF000000FF000000FF000000FF000000FF00000000000000000000
     93      0000000000000000000000000000000000000000000000000000000000000000
     94      0000000000000000000000000000000000000000000000000000000000000000
     95      0000000000000000000000000000
     96    }
    6297  end
    6398end
  • Docking/CoolDocking/UCoolDockWindowList.lrs

    r56 r57  
    1717  +','#1#6'Height'#2#25#3'Top'#3#224#0#5'Width'#2'J'#7'Anchors'#11#7'akRight'#8
    1818  +'akBottom'#0#7'Caption'#6#6'Cancel'#7'OnClick'#7#17'ButtonCancelClick'#8'Tab'
    19   +'Order'#2#2#0#0#10'TImageList'#10'ImageList1'#4'left'#2' '#3'top'#2'&'#0#0#0
     19  +'Order'#2#2#0#0#10'TImageList'#10'ImageList1'#4'left'#2' '#3'top'#2'&'#6'Bit'
     20  +'map'#10#14#4#0#0'Li'#1#0#0#0#16#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
     21  +#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0
     22  +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#0#0#0#255
     23  +#0#0#0#255#189#189#189#255#255#255#255#255#255#255#255#255#189#189#189#255#0
     24  +#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255
     25  +#255#255#0#255#255#255#0#255#255#255#0#255#0#0#0#255#255#255#255#255#189#189
     26  +#189#255#0'{{'#255#0'{{'#255#0'{{'#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0
     27  +#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#0#0#0#255#255#255
     28  +#255#255#0'{{'#255#0'{{'#255#0#0#0#255#0'{{'#255#0'{{'#255#255#255#0#255#0#0
     29  +#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#0#0#0
     30  +#255#0'{{'#255#0#0#0#255#0'{{'#255#0'{{'#255#255#255#0#255#0#0#0#255#0'{{'
     31  +#255#0'{{'#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0
     32  +#255#255#255#0#255#0#0#0#255#255#255#0#255#255#255#0#255#0'{{'#255#255#255#0
     33  +#255#0#0#0#255#0'{{'#255#0'{{'#255#0'{{'#255#0'{{'#255#0#0#0#255#0#0#0#0#0#0
     34  +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#0'{{'#255#255
     35  +#255#0#255#255#255#0#255#255#255#0#255#0#0#0#255#0'{{'#255#0'{{'#255#0'{{'
     36  +#255#0'{{'#255#0#0#0#255#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#0#0#0
     37  +#0#0#0#0#255#0'{{'#255#0'{{'#255#0'{{'#255#0'{{'#255#0'{{'#255#0'{{'#255#0#0
     38  +#0#255#0'{{'#255#0'{{'#255#0#0#0#255#0#0#0#0#0#0#0#255#255#255#0#255#0#0#0#0
     39  +#255#255#0#255#0#0#0#255#0'{{'#255#0'{{'#255#0'{{'#255#0'{{'#255#0#0#0#255
     40  +#255#255#0#255'{{{'#255#255#255#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#255#0
     41  +#0#0#0#255#255#0#255#0#0#0#0#0#0#0#255#0'{{'#255#0'{{'#255#0'{{'#255#0'{{'
     42  +#255#255#255#0#255'{{{'#255#255#255#0#255'{{{'#255'{{{'#255#0#0#0#255#0#0#0#0
     43  +#0#0#0#0#0#0#0#255#0#0#0#0#255#255#0#255#0#0#0#0#255#255#0#255#0#0#0#255#0'{'
     44  +'{'#255#0'{{'#255'{{{'#255#255#255#0#255'{{{'#255#255#255#0#255#0#0#0#255#0#0
     45  +#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#0#0#0#0#255#255#0#255#0#0#0#0
     46  +#255#255#0#255#0'{{'#255#0'{{'#255#255#255#0#255'{{{'#255#255#255#0#255'{{{'
     47  +#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#0#0#0
     48  +#0#255#255#0#255#255#255#0#255#255#255#0#255#0'{{'#255'{{{'#255#255#255#0#255
     49  +'{{{'#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255
     50  +#0#0#0#255#0#0#0#0#255#255#0#255#0#0#0#0#255#255#0#255#255#255#0#255#0#0#0
     51  +#255#0#0#0#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
     52  +#0#0#0#0#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#0#0#0#0#0
     53  +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
     54  +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
     55  +#0#0#0#0#0#0#0
    2056]);
  • Docking/CoolDocking/UCoolDockWindowList.pas

    r56 r57  
    77uses
    88  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
    9   ComCtrls, StdCtrls;
     9  ComCtrls, StdCtrls, Menus;
    1010
    1111type
     
    2727  public
    2828    procedure LoadList;
     29    procedure LoadToMenuItem(MenuItem: TMenuItem);
    2930  end;
    3031
     
    7576  Form: TForm;
    7677  DockState: string;
     78  IconBitmap: TBitmap;
     79  Mask: TBitmap;
    7780begin
    7881  with ListView1, Items do begin
     
    8184    ImageList1.Clear;
    8285    for I := 0 to Application.ComponentCount - 1 do begin
    83       if Application.Components[I] is TForm then begin
     86      if (Application.Components[I] is TForm) then begin
    8487        Form := (Application.Components[I] as TForm);
    85         NewItem := Add;
    86         NewItem.Caption := Form.Caption;
    87         NewItem.Data := Form;
    88         if Assigned(Form.HostDockSite) then DockState := SStateDocked
    89           else DockState := SStateFloating;
    90         NewItem.SubItems.Add(DockState);
    91         if Form.Visible then DockState := SStateVisible
    92           else DockState := SStateHidden;
    93         NewItem.SubItems.Add(DockState);
    94         ImageList1.AddIcon(Form.Icon);
     88        if Form.DragKind = dkDock then begin
     89          NewItem := Add;
     90          NewItem.Caption := Form.Caption;
     91          NewItem.Data := Form;
     92          if Assigned(Form.HostDockSite) then DockState := SStateDocked
     93            else DockState := SStateFloating;
     94          NewItem.SubItems.Add(DockState);
     95          if Form.Visible then DockState := SStateVisible
     96            else DockState := SStateHidden;
     97          NewItem.SubItems.Add(DockState);
     98
     99          try
     100            Mask := TBitmap.Create;
     101            IconBitmap := TBitmap.Create;
     102            //IconBitmap.SetSize(Form.Icon.Width, Form.Icon.Height);
     103            //ShowMessage(IntToStr(Integer(Form.Icon.TransparentColor)));
     104            IconBitmap.Assign(Form.Icon);
     105          //IconBitmap.Canvas.Draw(0, 0, Form.Icon);
     106
     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);
     112          finally
     113            Mask.Free;
     114            IconBitmap.Free;
     115          end;
     116
     117          NewItem.ImageIndex := ImageList1.Count - 1;
     118        end;
    95119      end;
    96120    end;
    97121    EndUpdate;
     122  end;
     123end;
     124
     125procedure TCoolDockWindowListForm.LoadToMenuItem(MenuItem: TMenuItem);
     126var
     127  NewMenuItem: TMenuItem;
     128  I: Integer;
     129  Form: TForm;
     130begin
     131  with MenuItem do begin
     132    Clear;
     133    for I := 0 to Application.ComponentCount - 1 do begin
     134      if Application.Components[I] is TForm then begin
     135        Form := (Application.Components[I] as TForm);
     136        NewMenuItem := TMenuItem.Create(MenuItem);
     137        NewMenuItem.Caption := Form.Caption;
     138        MenuItem.Add(NewMenuItem);
     139      end;
     140    end;
    98141  end;
    99142end;
  • Docking/CoolDocking/UCoolDocking.pas

    r56 r57  
    3737    CloseButton: TSpeedButton;
    3838    Title: TLabel;
    39     Icon: TIcon;
     39    Icon: TImage;
    4040    ParentClientPanel: TCoolDockClientPanel;
    4141    Shape: TShape;
     
    157157    procedure SaveLayoutToFile(FileName: string);
    158158    procedure LoadLayoutFromFile(FileName: string);
     159    destructor Destroy; override;
    159160  published
    160161    property TabsEnabled: Boolean read FTabsEnabled write SetTabsEnabled;
     
    169170  TCoolDockCustomize = class(TComponent)
    170171  private
    171     FManager: TCoolDockMaster;
    172     procedure SetManager(const AValue: TCoolDockMaster);
     172    FMaster: TCoolDockMaster;
     173    Form: TCoolDockCustomizeForm;
     174    procedure SetMaster(const AValue: TCoolDockMaster);
    173175  public
    174     Form: TCoolDockCustomizeForm;
    175176    function Execute: Boolean;
    176177    constructor Create(AOwner: TComponent); override;
     178    destructor Destroy; override;
    177179  published
    178     property Manager: TCoolDockMaster read FManager write SetManager;
     180    property Master: TCoolDockMaster read FMaster write SetMaster;
    179181  end;
    180182
     
    183185  TCoolDockWindowList = class(TComponent)
    184186  private
     187    Form: TCoolDockWindowListForm;
    185188  public
    186     Form: TCoolDockWindowListForm;
    187189    function Execute: Boolean;
    188190    constructor Create(AOwner: TComponent); override;
     
    469471      Header.PopupMenu := PopupMenuHeader;
    470472    end;
     473    if (Control is TForm) and Assigned((Control as TForm).Icon) then
     474      NewPanel.Header.Icon.Picture.Assign((Control as TForm).Icon);
    471475
    472476    if DockStyle = dsTabs then begin
     
    708712    for I := 0 to FDockPanels.Count - 1 do begin
    709713      TCoolDockClientPanel(FDockPanels[I]).Height := FDockSite.Height div
    710         FDockSite.VisibleDockClientCount;
     714        FDockSite.DockClientCount;
    711715      TCoolDockClientPanel(FDockPanels[I]).Width := FDockSite.Width div
    712         FDockSite.VisibleDockClientCount;
     716        FDockSite.DockClientCount;
    713717      //TCoolDockClientPanel(FDockPanels[I]).DockPanelPaint(Self);
     718      TCoolDockClientPanel(FDockPanels[I]).DockPanelPaint(Self);
    714719    end;
    715720  end else
     
    841846procedure TCoolDockClientPanel.VisibleChange(Sender: TObject);
    842847begin
    843   //OwnerDockManager.FDockPanels.Remove(Self);
    844   ClientAreaPanel.Visible := Control.Visible;
    845   Splitter.Visible := Control.Visible;
    846   OwnerDockManager.UpdateClientSize;
     848(*  if Assigned(Control) then begin
     849    //OwnerDockManager.FDockPanels.Remove(Self);
     850    if Assigned(ClientAreaPanel) then
     851      ClientAreaPanel.Visible := Control.Visible;
     852    if Assigned(Splitter) then
     853      Splitter.Visible := Control.Visible;
     854    OwnerDockManager.UpdateClientSize;
     855  end;*)
    847856end;
    848857
     
    968977procedure TCoolDockMaster.SetCustomize(const AValue: TCoolDockCustomize
    969978  );
    970 begin
    971   if FCoolDockCustomize=AValue then exit;
    972   FCoolDockCustomize:=AValue;
    973   if Assigned(AValue) then
    974     if not Assigned(AValue.Manager) then
    975       AValue.Manager := Self;
     979var
     980  OldCustomize: TCoolDockCustomize;
     981begin
     982  if FCoolDockCustomize = AValue then Exit;
     983  OldCustomize := FCoolDockCustomize;
     984  FCoolDockCustomize := AValue;
     985  if Assigned(AValue) then begin
     986    FCoolDockCustomize.Master := Self;
     987  end else begin
     988    OldCustomize.Master := nil;
     989  end;
    976990end;
    977991
     
    10771091    Free;
    10781092  end;
     1093end;
     1094
     1095destructor TCoolDockMaster.Destroy;
     1096begin
     1097  Customize := nil;
     1098  inherited Destroy;
    10791099end;
    10801100
     
    11161136    BevelOuter := bvNone;
    11171137  end;
     1138  Icon := TImage.Create(Self);
     1139  with Icon do begin
     1140    Parent := Self;
     1141    Left := 4;
     1142    Top := 3;
     1143    Visible := True;
     1144  end;
    11181145end;
    11191146
     
    11341161      else Title.Font.Style := Font.Style - [fsBold];
    11351162    Rectangle(1, 1, AControl.Width - 1, GrabberSize - 1);
     1163    if Icon.Picture.Width > 0 then Title.Left := 8 + Icon.Picture.Width
     1164      else Title.Left := 6;
    11361165    Title.Caption := AControl.Caption;
    11371166  end;
     
    11451174{ TCoolDockCustomize }
    11461175
    1147 procedure TCoolDockCustomize.SetManager(const AValue: TCoolDockMaster);
    1148 begin
    1149   if FManager = AValue then exit;
    1150   FManager := AValue;
    1151   if Assigned(AValue) then
    1152     if not Assigned(AValue.Customize) then
    1153       AValue.Customize := Self;
     1176procedure TCoolDockCustomize.SetMaster(const AValue: TCoolDockMaster);
     1177var
     1178  OldMaster: TCoolDockMaster;
     1179begin
     1180  if FMaster = AValue then Exit;
     1181  OldMaster := FMaster;
     1182  FMaster := AValue;
     1183  if Assigned(AValue) then begin
     1184    FMaster.Customize := Self;
     1185  end else begin
     1186    OldMaster.Customize := nil;
     1187  end;
    11541188end;
    11551189
    11561190function TCoolDockCustomize.Execute: Boolean;
    11571191begin
     1192  Form := TCoolDockCustomizeForm.Create(Self);
    11581193  Form.ShowModal;
     1194  Form.Free;
    11591195  Result := True;
    11601196end;
     
    11631199begin
    11641200  inherited Create(AOwner);
    1165   Form := TCoolDockCustomizeForm.Create(Self);
     1201end;
     1202
     1203destructor TCoolDockCustomize.Destroy;
     1204begin
     1205  Master := nil;
     1206  inherited Destroy;
    11661207end;
    11671208
     
    11711212function TCoolDockWindowList.Execute: Boolean;
    11721213begin
     1214  Form := TCoolDockWindowListForm.Create(Self);
    11731215  Form.ShowModal;
     1216  Form.Free;
    11741217  Result := True;
    11751218end;
     
    11781221begin
    11791222  inherited Create(AOwner);
    1180   Form := TCoolDockWindowListForm.Create(Self);
    11811223end;
    11821224
Note: See TracChangeset for help on using the changeset viewer.