{ Parsed from Appkit.framework NSTabViewItem.h }

{$ifdef TYPES}
{$ifndef NSTABVIEWITEM_PAS_T}
{$define NSTABVIEWITEM_PAS_T}

{ Constants }

const
  NSSelectedTab = 0;
  NSBackgroundTab = 1;
  NSPressedTab = 2;

{ Types }
type
  NSTabState = NSUInteger;
  NSTabStatePtr = ^NSTabState;

{$endif}
{$endif}

{$ifdef RECORDS}
{$ifndef NSTABVIEWITEM_PAS_R}
{$define NSTABVIEWITEM_PAS_R}

{$endif}
{$endif}

{$ifdef FUNCTIONS}
{$ifndef NSTABVIEWITEM_PAS_F}
{$define NSTABVIEWITEM_PAS_F}

{$endif}
{$endif}

{$ifdef EXTERNAL_SYMBOLS}
{$ifndef NSTABVIEWITEM_PAS_S}
{$define NSTABVIEWITEM_PAS_S}

{$endif}
{$endif}

{$ifdef FORWARD}
  NSTabViewItem = objcclass;
  NSTabViewItemPointer = ^NSTabViewItem;
  NSTabViewItemPtr = NSTabViewItemPointer;

{$endif}

{$ifdef CLASSES}
{$ifndef NSTABVIEWITEM_PAS_C}
{$define NSTABVIEWITEM_PAS_C}

{ NSTabViewItem }
  NSTabViewItem = objcclass external (NSObject, NSCodingProtocol)
  private
    _identifier: id;
    _label: NSString;
    _view: NSView;
    _initialFirstResponder: NSView;
    _color: NSColor;
    _tabView: NSTabView;
    _tabState: NSTabState;
    _lastKeyView: NSView;
    __tviFlags: record
      case byte of
       0: (_anonbitfield_NSTabViewItem0: cuint);
       1: (data: bitpacked record
        hasCustomColor: 0..1;
        labelSizeIsValid: 0..1;
        autoGeneratedIFR: 0..1;
        isTabDisabled: 0..1;
        RESERVED: 0..((1 shl 28)-1);
       end;
      );
      end;
    _labelSize: NSSize;
    _tabRect: NSRect;
    _tabToolTipTag: NSToolTipTag;
    _auxiliaryStorage: id;
    
  public
    function initWithIdentifier(identifier_: id): id; message 'initWithIdentifier:';
    function identifier: id; message 'identifier';
    function view: id; message 'view';
    function initialFirstResponder: id; message 'initialFirstResponder';
    function label_: NSString; message 'label';
    function color: NSColor; message 'color';
    function tabState: NSTabState; message 'tabState';
    function tabView: NSTabView; message 'tabView';
    procedure setIdentifier(identifier_: id); message 'setIdentifier:';
    procedure setLabel(label__: NSString); message 'setLabel:';
    procedure setColor(color_: NSColor); message 'setColor:';
    procedure setView(view_: NSView); message 'setView:';
    procedure setInitialFirstResponder(view_: NSView); message 'setInitialFirstResponder:';
    function toolTip: NSString; message 'toolTip';
    procedure setToolTip(toolTip_: NSString); message 'setToolTip:';
    procedure drawLabel_inRect(shouldTruncateLabel: Boolean; labelRect: NSRect); message 'drawLabel:inRect:';
    function sizeOfLabel(computeMin: Boolean): NSSize; message 'sizeOfLabel:';

    { Adopted Protocols }
    procedure encodeWithCoder(aCoder: NSCoder);
    function initWithCoder(aDecoder: NSCoder): id;
  end;

{$endif}
{$endif}
