Ignore:
Timestamp:
Dec 29, 2010, 1:56:04 PM (14 years ago)
Author:
george
Message:
  • Fixed: Hiding invisible docked forms as tabs.
  • Added: Ability to bring window to front on execute Form.Show.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Docking/CoolDocking/UCoolDockPopupMenu.pas

    r98 r103  
    66
    77uses
    8   Classes, SysUtils, Menus, Controls, Dialogs;
     8  Classes, SysUtils, Menus, Controls, Dialogs, UCoolDockClientPanel;
    99
    1010type
     
    1818    procedure PopupMenuListClick(Sender: TObject);
    1919    procedure PopupMenuTabsClick(Sender: TObject);
     20    procedure PopupMenuPopupListClick(Sender: TObject);
     21    procedure PopupMenuPopupTabsClick(Sender: TObject);
    2022    procedure PopupMenuCloseClick(Sender: TObject);
    2123    procedure PopupMenuRenameClick(Sender: TObject);
     
    3840  SDockList = 'List';
    3941  SDockTabs = 'Tabs';
     42  SDockPopupList = 'Popup list';
     43  SDockPopupTabs = 'Popup tabs';
    4044  SCloseForm = 'Close';
    4145  SRenameForm = 'Rename';
     
    6367  Manager := AManager;
    6468
     69  Name := TCoolDockManager(AManager).DockSite.Name + '_' + 'PopupMenu';
     70
    6571  NewMenuItem := TMenuItem.Create(Self);
    6672  NewMenuItem.Caption := SDockStyle;
     
    7783  NewMenuItem.Add(NewMenuItem2);
    7884
     85  NewMenuItem2 := TMenuItem.Create(NewMenuItem);
     86  NewMenuItem2.Caption := SDockPopupList;
     87  NewMenuItem2.OnClick := PopupMenuPopupListClick;
     88  NewMenuItem.Add(NewMenuItem2);
     89
     90  NewMenuItem2 := TMenuItem.Create(NewMenuItem);
     91  NewMenuItem2.Caption := SDockPopupTabs;
     92  NewMenuItem2.OnClick := PopupMenuPopupTabsClick;
     93  NewMenuItem.Add(NewMenuItem2);
     94
    7995  NewMenuItem := TMenuItem.Create(Self);
    8096  NewMenuItem.Caption := SPosition;
     
    125141  NewMenuItem.OnClick := PopupMenuCustomizeClick;
    126142  Items.Add(NewMenuItem);
    127 
    128   (*  // Tabs popup
    129 
    130   PopupMenuTabs := TPopupMenu.Create(FDockSite);
    131   PopupMenuTabs.Name := ADockSite.Name + '_' + 'PopupMenuTabs';
    132 
    133   NewMenuItem := TMenuItem.Create(PopupMenuTabs);
    134   NewMenuItem.Caption := SDockStyle;
    135   PopupMenuTabs.Items.Add(NewMenuItem);
    136 
    137   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    138   NewMenuItem2.Caption := SDockList;
    139   NewMenuItem2.OnClick := PopupMenuListClick;
    140   NewMenuItem.Add(NewMenuItem2);
    141 
    142   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    143   NewMenuItem2.Caption := SDockTabs;
    144   NewMenuItem2.OnClick := PopupMenuTabsClick;
    145   NewMenuItem.Add(NewMenuItem2);
    146 
    147   NewMenuItem := TMenuItem.Create(PopupMenuTabs);
    148   NewMenuItem.Caption := SPosition;
    149   PopupMenuTabs.Items.Add(NewMenuItem);
    150 
    151   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    152   NewMenuItem2.Caption := SPositionAuto;
    153   NewMenuItem2.OnClick := PopupMenuPositionAutoClick;
    154   NewMenuItem.Add(NewMenuItem2);
    155 
    156   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    157   NewMenuItem2.Caption := SPositionTop;
    158   NewMenuItem2.OnClick := PopupMenuPositionTopClick;
    159   NewMenuItem.Add(NewMenuItem2);
    160 
    161   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    162   NewMenuItem2.Caption := SPositionLeft;
    163   NewMenuItem2.OnClick := PopupMenuPositionLeftClick;
    164   NewMenuItem.Add(NewMenuItem2);
    165 
    166   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    167   NewMenuItem2.Caption := SPositionBottom;
    168   NewMenuItem2.OnClick := PopupMenuPositionBottomClick;
    169   NewMenuItem.Add(NewMenuItem2);
    170 
    171   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    172   NewMenuItem2.Caption := SPositionRight;
    173   NewMenuItem2.OnClick := PopupMenuPositionRightClick;
    174   NewMenuItem.Add(NewMenuItem2);
    175 
    176   NewMenuItem := TMenuItem.Create(PopupMenuTabs);
    177   NewMenuItem.Caption := SCloseForm;
    178   NewMenuItem.OnClick := PopupMenuCloseClick;
    179   PopupMenuTabs.Items.Add(NewMenuItem);
    180 
    181   NewMenuItem := TMenuItem.Create(PopupMenuTabs);
    182   NewMenuItem.Caption := SRenameForm;
    183   NewMenuItem.OnClick := PopupMenuRenameClick;
    184   PopupMenuTabs.Items.Add(NewMenuItem);
    185 
    186   NewMenuItem := TMenuItem.Create(PopupMenuTabs);
    187   NewMenuItem.Caption := SUndock;
    188   NewMenuItem.OnClick := PopupMenuUndockClick;
    189   PopupMenuTabs.Items.Add(NewMenuItem);
    190 
    191   NewMenuItem := TMenuItem.Create(PopupMenuTabs);
    192   NewMenuItem.Caption := SCustomize;
    193   NewMenuItem.OnClick := PopupMenuCustomizeClick;
    194   PopupMenuTabs.Items.Add(NewMenuItem);
    195 
    196   // Header popup
    197 
    198   PopupMenuHeader := TPopupMenu.Create(FDockSite);
    199   PopupMenuHeader.Name := ADockSite.Name + '_' + 'PopupMenuHeader';
    200 
    201   NewMenuItem := TMenuItem.Create(PopupMenuHeader);
    202   NewMenuItem.Caption := SDockStyle;
    203   PopupMenuHeader.Items.Add(NewMenuItem);
    204 
    205   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    206   NewMenuItem2.Caption := SDockList;
    207   NewMenuItem2.OnClick := PopupMenuListClick;
    208   NewMenuItem.Add(NewMenuItem2);
    209 
    210   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    211   NewMenuItem2.Caption := SDockTabs;
    212   NewMenuItem2.OnClick := PopupMenuTabsClick;
    213   NewMenuItem.Add(NewMenuItem2);
    214 
    215   NewMenuItem := TMenuItem.Create(PopupMenuHeader);
    216   NewMenuItem.Caption := SPosition;
    217   PopupMenuHeader.Items.Add(NewMenuItem);
    218 
    219   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    220   NewMenuItem2.Caption := SPositionAuto;
    221   NewMenuItem2.OnClick := PopupMenuPositionAutoClick;
    222   NewMenuItem.Add(NewMenuItem2);
    223 
    224   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    225   NewMenuItem2.Caption := SPositionTop;
    226   NewMenuItem2.OnClick := PopupMenuPositionTopClick;
    227   NewMenuItem.Add(NewMenuItem2);
    228 
    229   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    230   NewMenuItem2.Caption := SPositionLeft;
    231   NewMenuItem2.OnClick := PopupMenuPositionLeftClick;
    232   NewMenuItem.Add(NewMenuItem2);
    233 
    234   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    235   NewMenuItem2.Caption := SPositionBottom;
    236   NewMenuItem2.OnClick := PopupMenuPositionBottomClick;
    237   NewMenuItem.Add(NewMenuItem2);
    238 
    239   NewMenuItem2 := TMenuItem.Create(NewMenuItem);
    240   NewMenuItem2.Caption := SPositionRight;
    241   NewMenuItem2.OnClick := PopupMenuPositionRightClick;
    242   NewMenuItem.Add(NewMenuItem2);
    243 
    244   NewMenuItem := TMenuItem.Create(PopupMenuHeader);
    245   NewMenuItem.Caption := SCloseForm;
    246   NewMenuItem.OnClick := PopupMenuCloseClick;
    247   PopupMenuHeader.Items.Add(NewMenuItem);
    248 
    249   NewMenuItem := TMenuItem.Create(PopupMenuHeader);
    250   NewMenuItem.Caption := SRenameForm;
    251   NewMenuItem.OnClick := PopupMenuRenameClick;
    252   PopupMenuHeader.Items.Add(NewMenuItem);
    253 
    254   NewMenuItem := TMenuItem.Create(PopupMenuHeader);
    255   NewMenuItem.Caption := SUndock;
    256   NewMenuItem.OnClick := PopupMenuUndockClick;
    257   PopupMenuHeader.Items.Add(NewMenuItem);
    258 
    259   NewMenuItem := TMenuItem.Create(PopupMenuHeader);
    260   NewMenuItem.Caption := SCustomize;
    261   NewMenuItem.OnClick := PopupMenuCustomizeClick;
    262   PopupMenuHeader.Items.Add(NewMenuItem);
    263   *)
    264 
    265143end;
    266144
     
    268146begin
    269147  TCoolDockManager(Manager).DockStyle := dsTabs;
     148end;
     149
     150procedure TCoolDockPopupMenu.PopupMenuPopupListClick(Sender: TObject);
     151begin
     152  TCoolDockManager(Manager).DockStyle := dsPopupList;
     153end;
     154
     155procedure TCoolDockPopupMenu.PopupMenuPopupTabsClick(Sender: TObject);
     156begin
     157  TCoolDockManager(Manager).DockStyle := dsPopupTabs;
    270158end;
    271159
     
    277165  if Assigned(Control) then
    278166    ShowMessage(Control.ClassName);
    279 //  DockSiteTForm(TCoolDockManager(TControl(Sender).Parent.Parent.Parent.DockManager).FDockSite).Close;
     167  //DockSiteTForm(TCoolDockManager(TControl(Sender).Parent.Parent.Parent.DockManager).FDockSite).Close;
    280168end;
    281169
     
    291179procedure TCoolDockPopupMenu.PopupMenuPositionAutoClick(Sender: TObject);
    292180begin
    293   //TabsPos := hpAuto;
     181  TCoolDockManager(Manager).HeaderPos := hpAuto;
    294182end;
    295183
    296184procedure TCoolDockPopupMenu.PopupMenuPositionLeftClick(Sender: TObject);
    297 begin
    298   //TabsPos := hpLeft;
     185var
     186  Control: TControl;
     187begin
     188  Control := FindLCLControl(Mouse.CursorPos);
     189  TCoolDockManager(Manager).HeaderPos := hpLeft;
    299190end;
    300191
    301192procedure TCoolDockPopupMenu.PopupMenuPositionRightClick(Sender: TObject);
    302193begin
    303   //TabsPos := hpRight;
     194  TCoolDockManager(Manager).HeaderPos := hpRight;
    304195end;
    305196
    306197procedure TCoolDockPopupMenu.PopupMenuPositionTopClick(Sender: TObject);
    307198begin
    308   //TabsPos := hpTop;
     199  TCoolDockManager(Manager).HeaderPos := hpTop;
    309200end;
    310201
    311202procedure TCoolDockPopupMenu.PopupMenuPositionBottomClick(Sender: TObject);
    312203begin
    313   //TabsPos := hpBottom;
     204  TCoolDockManager(Manager).HeaderPos := hpBottom;
    314205end;
    315206
Note: See TracChangeset for help on using the changeset viewer.