Changeset 103 for Docking/CoolDocking/UCoolDockStyleTabs.pas
- Timestamp:
- Dec 29, 2010, 1:56:04 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Docking/CoolDocking/UCoolDockStyleTabs.pas
r98 r103 6 6 7 7 uses 8 Classes, Controls, ExtCtrls, ComCtrls, SysUtils, 8 Classes, Controls, ExtCtrls, ComCtrls, SysUtils, Dialogs, 9 9 Menus, UCoolDockStyle, Forms, UCoolDockClientPanel; 10 10 … … 25 25 procedure TabControlMouseUp(Sender: TObject; Button: TMouseButton; 26 26 Shift: TShiftState; X, Y: Integer); 27 constructor Create(AManager: TObject);28 destructor Destroy; override;29 27 procedure InsertControl(NewPanel: TCoolDockClientPanel; 30 28 AControl: TControl; InsertAt: TAlign); override; … … 33 31 FTabsPos: THeaderPos; 34 32 public 33 constructor Create(AManager: TObject); 34 destructor Destroy; override; 35 procedure ChangeVisible(Control: TWinControl; Visible: Boolean); override; 36 procedure Switch(Index: Integer); override; 35 37 procedure SetTabsPos(const AValue: THeaderPos); 36 38 procedure PopupMenuTabCloseClick(Sender: TObject); … … 53 55 procedure TCoolDockStyleTabs.TabControlMouseLeave(Sender: TObject); 54 56 begin 55 (* if MouseDown then 57 if MouseDown then 58 with TCoolDockManager(Manager) do 56 59 if (TabControl.TabIndex <> -1) then begin 57 TCoolDockClientPanel( FDockPanels[TabControl.TabIndex]).ClientAreaPanel.DockSite := False;58 DragManager.DragStart(TCoolDockClientPanel( FDockPanels[TabControl.TabIndex]).Control, False, 1);60 TCoolDockClientPanel(DockPanels[TabControl.TabIndex]).ClientAreaPanel.DockSite := False; 61 DragManager.DragStart(TCoolDockClientPanel(DockPanels[TabControl.TabIndex]).Control, False, 1); 59 62 end; 60 63 MouseDown := False; 61 *)62 64 end; 63 65 … … 69 71 with TCoolDockManager(Manager) do 70 72 for I := 0 to DockPanels.Count - 1 do begin 71 TCoolDockClientPanel(DockPanels[I]).ClientAreaPanel.Visible := False; 73 TCoolDockClientPanel(DockPanels[I]).Control.Hide; 74 TCoolDockClientPanel(DockPanels[I]).ClientAreaPanel.Hide; 72 75 TCoolDockClientPanel(DockPanels[I]).ClientAreaPanel.Parent := DockSite; 73 76 TCoolDockClientPanel(DockPanels[I]).Control.Align := alClient; 74 TCoolDockClientPanel(DockPanels[I]).Control.Visible := False; 77 //ShowMessage(TCoolDockClientPanel(DockPanels[I]).Control.ClassName); 78 Application.ProcessMessages; 75 79 76 80 // Workaround for "Cannot focus" error 77 81 TForm(TCoolDockClientPanel(DockPanels[I]).Control).ActiveControl := nil; 78 82 end; 83 84 // Show selected 79 85 with TCoolDockManager(Manager) do 80 86 if (TabControl.TabIndex <> -1) and (DockPanels.Count > TabControl.TabIndex) then begin … … 93 99 *) 94 100 //Parent := DockSite; 101 //Show; 95 102 Visible := True; 96 103 UpdateClientSize; … … 160 167 TCoolDockClientPanel(DockPanels[I]).Visible := False; 161 168 end; 162 TabControlChange(Self);163 169 end; 164 170 165 171 destructor TCoolDockStyleTabs.Destroy; 166 172 begin 167 TabControl. Visible := False;168 Tab Control.Tabs.Clear;173 TabControl.Free; 174 TabImageList.Free; 169 175 inherited Destroy; 176 end; 177 178 procedure TCoolDockStyleTabs.Switch(Index: Integer); 179 begin 180 inherited Switch(Index); 181 TabControl.TabIndex := Index; 170 182 end; 171 183 … … 196 208 end; 197 209 210 procedure TCoolDockStyleTabs.ChangeVisible(Control: TWinControl; Visible: Boolean); 211 var 212 I: Integer; 213 begin 214 inherited; 215 if not Visible then 216 if Assigned(TWinControl(Control).DockManager) then 217 with TCoolDockManager(TWinControl(Control).DockManager) do begin 218 // ShowMessage(IntToStr(DockPanels.Count)); 219 end; 220 end; 221 198 222 procedure TCoolDockStyleTabs.SetTabsPos(const AValue: THeaderPos); 199 223 begin
Note:
See TracChangeset
for help on using the changeset viewer.