text: {%MainUnit ../comctrls.pp}
  
  {******************************************************************************
                                    TTabSheet
   ******************************************************************************
  
    Author: Mattias Gaertner
  
   *****************************************************************************
    This file is part of the Lazarus Component Library (LCL)
  
    See the file COPYING.modifiedLGPL.txt, included in this distribution,
    for details about the license.
   *****************************************************************************
  }
  
  { TTabSheet }
  
  function TTabSheet.GetTabIndex: Integer;
  var
    i: Integer;
  begin
    if not TabVisible then
      Result := -1
    else
    begin
      Result := 0;
      for i := 0 to PageIndex - 1 do
        if PageControl.Pages[i].TabVisible then
          inc(Result);
    end;
  end;
  
  function TTabSheet.GetPageControl: TPageControl;
  begin
    if (Parent is TPageControl) then
      Result := TPageControl(Parent)
    else
      Result := nil;
  end;
  
  procedure TTabSheet.SetPageControl(APageControl: TPageControl);
  begin
    if PageControl=APageControl then exit;
    Parent:=APageControl;
  end;
  
  class procedure TTabSheet.WSRegisterClass;
  begin
    RegisterPropertyToSkip(TTabSheet, 'Visible', 'Use TabVisible instead.', '');
    inherited WSRegisterClass;
    RegisterTabSheet;
  end;
  
  constructor TTabSheet.Create(TheOwner: TComponent);
  begin
    inherited Create(TheOwner);
  end;
  
  destructor TTabSheet.Destroy;
  begin
    if (ControlCount = 1) and (Controls[0].HostDockSite <> nil) then
      Controls[0].HostDockSite := nil;
    inherited Destroy;
  end;
  
  // included by comctrls.pp
  