Changeset 176 for Docking/CoolDocking/UCoolDockStyleTabs.pas
- Timestamp:
- Mar 7, 2011, 1:32:07 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Docking/CoolDocking/UCoolDockStyleTabs.pas
r129 r176 71 71 // Hide all clients 72 72 with TCoolDockManager(Manager) do 73 for I := 0 to DockPanels.Count - 1 do begin 74 TCoolDockClientPanel(DockPanels[I]).Control.Hide; 75 TCoolDockClientPanel(DockPanels[I]).ClientAreaPanel.Hide; 76 TCoolDockClientPanel(DockPanels[I]).ClientAreaPanel.Parent := DockSite; 77 TCoolDockClientPanel(DockPanels[I]).Control.Align := alClient; 78 //ShowMessage(TCoolDockClientPanel(DockPanels[I]).Control.ClassName); 79 Application.ProcessMessages; 80 81 // Workaround for "Cannot focus" error 82 TForm(TCoolDockClientPanel(DockPanels[I]).Control).ActiveControl := nil; 83 end; 73 for I := 0 to DockPanels.Count - 1 do 74 if TCoolDockClientPanel(DockPanels[I]).Control.Visible then begin 75 TCoolDockClientPanel(DockPanels[I]).Control.Tag := 1; 76 TCoolDockClientPanel(DockPanels[I]).Control.Hide; 77 TCoolDockClientPanel(DockPanels[I]).ClientAreaPanel.Hide; 78 TCoolDockClientPanel(DockPanels[I]).ClientAreaPanel.Parent := DockSite; 79 TCoolDockClientPanel(DockPanels[I]).Control.Align := alClient; 80 //ShowMessage(TCoolDockClientPanel(DockPanels[I]).Control.ClassName); 81 Application.ProcessMessages; 82 83 // Workaround for "Cannot focus" error 84 TForm(TCoolDockClientPanel(DockPanels[I]).Control).ActiveControl := nil; 85 end; 84 86 85 87 // Show selected … … 88 90 with TCoolDockClientPanel(DockPanels[TabControl.TabIndex]), ClientAreaPanel do begin 89 91 Control.Show; 92 Control.Tag := 0; 90 93 (*AutoHide.Enable := True; 91 94 if AutoHide.Enable then begin … … 160 163 TabImageList.Clear; 161 164 with TCoolDockManager(Manager) do 162 for I := 0 to DockPanels.Count - 1 do begin 165 for I := 0 to DockPanels.Count - 1 do 166 if TCoolDockClientPanel(DockPanels[I]).Control.Visible then begin 167 TCoolDockClientPanel(DockPanels[I]).Control.Tag := 1; 163 168 TabControl.Tabs.Add(TCoolDockClientPanel(DockPanels[I]).Control.Caption); 164 169 TabImageList.Add(TCoolDockClientPanel(DockPanels[I]).Header.Icon.Picture.Bitmap, nil); … … 187 192 begin 188 193 inherited; 189 TabControl.Tabs.Add(AControl.Caption); 190 TabImageList.Add(NewPanel.Header.Icon.Picture.Bitmap, nil); 191 if Assigned(NewPanel.Splitter) then 192 NewPanel.Splitter.Visible := False; 193 NewPanel.ClientAreaPanel.Visible := False; 194 NewPanel.Visible := False; 195 TabControlChange(Self); 194 if AControl.Visible then begin 195 AControl.Tag := 1; 196 TabControl.Tabs.Add(AControl.Caption); 197 TabImageList.Add(NewPanel.Header.Icon.Picture.Bitmap, nil); 198 if Assigned(NewPanel.Splitter) then 199 NewPanel.Splitter.Visible := False; 200 NewPanel.ClientAreaPanel.Visible := False; 201 NewPanel.Visible := False; 202 TabControlChange(Self); 203 end; 196 204 end; 197 205 … … 216 224 with TCoolDockClientPanel(DockPanels[TabControl.TabIndex]) do begin 217 225 //Show; 218 if AValue then Control.Show; 226 if AValue and (not Control.Visible) and (Control.Tag = 1) then begin 227 Control.Show; 228 Control.Tag := 0; 229 end; 219 230 //TabControl.Show; 220 231 //ClientAreaPanel.Show; … … 227 238 begin 228 239 inherited; 229 if not Visible then 230 if Assigned(TWinControl(Control).DockManager) then231 with TCoolDockManager(TWinControl(Control).DockManager) do begin240 if not Visible then begin 241 if Assigned(TWinControl(Control).DockManager) then 242 with TCoolDockManager(TWinControl(Control).DockManager) do begin 232 243 // ShowMessage(IntToStr(TabControl.TabIndex) + ' ' + IntToStr(DockPanels.Count)); 233 244 // TabControl.Tabs[0].; … … 237 248 // end; 238 249 // ShowMessage(IntToStr(DockPanels.Count)); 250 if Control.Tag = 0 then begin 251 TabImageList.Delete(TabControl.Tabs.IndexOf(Control.Caption)); 252 253 with TabControl.Tabs do 254 Delete(IndexOf(Control.Caption)); 255 end; 256 end; 257 end else 258 begin 259 if Control.Tag = 0 then begin 260 TabImageList.Add(TCoolDockClientPanel(TCoolDockManager(Manager).FindControlInPanels(Control)).Header.Icon.Picture.Bitmap, nil); 261 TabControl.Tabs.Add(Control.Caption); 262 end; 239 263 end; 240 264 end; … … 242 266 procedure TCoolDockStyleTabs.SetTabsPos(const AValue: THeaderPos); 243 267 begin 244 (*if FTabsPos = AValue then Exit;268 if FTabsPos = AValue then Exit; 245 269 FTabsPos := AValue; 246 270 with TabControl do … … 266 290 Height := GrabberSize; 267 291 end; 268 end; *)292 end; 269 293 end; 270 294
Note:
See TracChangeset
for help on using the changeset viewer.