Ignore:
Timestamp:
Apr 27, 2012, 8:34:10 AM (12 years ago)
Author:
chronos
Message:
  • Modified: Change concept of dock manager items logical visibility vs TControl real visibility. Not visible controls are hidden by manager using TCDManager.DockSiteVisible property. TCDManager provide events OnDockSiteHide and OnDockSiteShow for handling logical visibility.
File:
1 edited

Legend:

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

    r354 r355  
    307307  VisibleControlsCount: Integer;
    308308begin
     309  inherited;
    309310  if FUpdateCount = 0 then begin
    310311  DebugLog('TCDManagerRegions.UpdateClientSize');
    311   inherited;
    312312  VisibleControlsCount := DockSite.VisibleDockClientCount;
    313   if DockSite is TForm then
    314     DockSite.Visible := (VisibleControlsCount > 0);
     313  if DockSite is TForm then begin
     314    DockSiteVisible := VisibleControlsCount > 0;
     315  end;
    315316  if VisibleControlsCount = 0 then VisibleControlsCount := 1;
    316317
     
    360361begin
    361362  inherited;
     363  //if DockSite.Visible <> AValue then
    362364  try
    363365    BeginUpdate;
    364366    for I := 0 to DockItems.Count - 1 do
    365367      with TCDManagerRegionsItem(DockItems[I]) do begin
    366         if AValue and (not Control.Visible) and (Control.Tag = Integer(dhtTemporal))  then begin
    367           Control.Show;
    368           Control.Tag := Integer(dhtPermanent);
    369         end else
    370         if not AValue then begin
    371           Control.Tag := Integer(dhtTemporal);
    372           Control.Hide;
    373         end;
     368        TCDManager(Control.DockManager).DockSiteVisible := AValue;
    374369      end;
    375370        //ClientAreaPanel.Show;
Note: See TracChangeset for help on using the changeset viewer.