Ignore:
Timestamp:
Oct 17, 2012, 1:24:58 PM (12 years ago)
Author:
chronos
Message:
  • Fixed: CoolDock show wrong tab focused if tab was invisible.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Docking/CoolDocking/Managers/UCDManagerRegions.pas

    r365 r430  
    2222    procedure Paint(Sender: TObject); override;
    2323    procedure PanelResize(Sender: TObject);
    24     constructor Create;
     24    constructor Create; override;
    2525    destructor Destroy; override;
    2626    procedure SetControl(const AValue: TWinControl); override;
     
    3434    FDockItems: TObjectList; // TList<TCDManagerRegionsItem>
    3535    FLastVisibleItemsCount: Integer;
    36     function GetHeaderPos: THeaderPos; override;
    37     procedure SetHeaderPos(const AValue: THeaderPos); override;
    3836    function GetDirection(InsertAt: TAlign): TCDDirection;
    3937    procedure ResizePanels;
     
    4341  protected
    4442    FDockDirection: TCDDirection;
     43    procedure SetHeaderPos(const AValue: THeaderPos); override;
    4544  public
    4645    //Panels: TObjectList; // TObjectList<TCDStyleRegionsPanel>
     46    function GetHeaderPos: THeaderPos; override;
    4747    procedure BringToFront; override;
    4848    function FindControlInPanels(Control: TControl): TCDManagerItem; override;
     
    136136  PanelHeader.Free;
    137137  Splitter.Parent := nil;
    138   Splitter.Free;
     138  FreeAndNil(Splitter);
    139139  if Assigned(Control) then Control.Parent := nil;
    140   inherited Destroy;
     140  inherited;
    141141end;
    142142
    143143procedure TCDManagerRegionsItem.SetControl(const AValue: TWinControl);
    144144begin
    145   inherited SetControl(AValue);
     145  inherited;
    146146  PanelHeader.Header.Control := AValue;
    147147end;
     
    365365        TCDManagerItem(DockItems[0]).Control.ManualDock(HostDockSite);
    366366      end else TCDManagerItem(DockItems[0]).Control.ManualFloat(Rect(Left, Top, Left + Width, Top + Height));
    367       ManualFloat(Rect(Left, Top, Left + Width, Top + Height));
    368       inherited RemoveControl(Control);
    369       Free;
     367      if FreeIfEmpty then ManualFloat(Rect(Left, Top, Left + Width, Top + Height));
     368      inherited;
     369      if FreeIfEmpty then Free;
    370370      Exit;
    371371    end;
    372372  end;
    373   inherited RemoveControl(Control);
     373  inherited;
    374374  if ClientCount > 1 then Update;
    375375end;
Note: See TracChangeset for help on using the changeset viewer.