5 // Created by John Pannell on 10/13/05.
6 // Copyright 2005 Positive Spin Media. All rights reserved.
9 #import <Cocoa/Cocoa.h>
10 #import "PSMTabBarControl.h"
12 @
class PSMTabBarControl
;
13 @
class PSMProgressIndicator
;
15 @interface PSMTabBarCell
: NSActionCell
{
24 NSTrackingRectTag _closeButtonTrackingTag
; // left side tracking, if dragging
25 NSTrackingRectTag _cellTrackingTag
; // right side tracking, if dragging
26 BOOL _closeButtonOver
;
27 BOOL _closeButtonPressed
;
28 PSMProgressIndicator
*_indicator
;
29 BOOL _isInOverflowMenu
;
31 BOOL _isCloseButtonSuppressed
;
37 // creation/destruction
38 - (id
)initWithControlView
:(PSMTabBarControl
*)controlView
;
39 - (id
)initPlaceholderWithFrame
:(NSRect
)frame expanded
:(BOOL
)value inControlView
:(PSMTabBarControl
*)controlView
;
44 - (void)setControlView
:(id
)view
;
45 - (NSTrackingRectTag
)closeButtonTrackingTag
;
46 - (void)setCloseButtonTrackingTag
:(NSTrackingRectTag
)tag
;
47 - (NSTrackingRectTag
)cellTrackingTag
;
48 - (void)setCellTrackingTag
:(NSTrackingRectTag
)tag
;
51 - (void)setFrame
:(NSRect
)rect
;
52 - (void)setStringValue
:(NSString
*)aString
;
54 - (NSAttributedString
*)attributedStringValue
;
56 - (void)setTabState
:(int)state
;
57 - (NSProgressIndicator
*)indicator
;
58 - (BOOL
)isInOverflowMenu
;
59 - (void)setIsInOverflowMenu
:(BOOL
)value
;
60 - (BOOL
)closeButtonPressed
;
61 - (void)setCloseButtonPressed
:(BOOL
)value
;
62 - (BOOL
)closeButtonOver
;
63 - (void)setCloseButtonOver
:(BOOL
)value
;
64 - (BOOL
)hasCloseButton
;
65 - (void)setHasCloseButton
:(BOOL
)set
;
66 - (void)setCloseButtonSuppressed
:(BOOL
)suppress
;
67 - (BOOL
)isCloseButtonSuppressed
;
69 - (void)setHasIcon
:(BOOL
)value
;
71 - (void)setCount
:(int)value
;
72 - (BOOL
)isPlaceholder
;
73 - (void)setIsPlaceholder
:(BOOL
)value
;
75 - (void)setCurrentStep
:(int)value
;
76 - (NSString
*)toolTip
;
77 - (void)setToolTip
:(NSString
*)tip
;
79 // component attributes
80 - (NSRect
)indicatorRectForFrame
:(NSRect
)cellFrame
;
81 - (NSRect
)closeButtonRectForFrame
:(NSRect
)cellFrame
;
82 - (float)minimumWidthOfCell
;
83 - (float)desiredWidthOfCell
;
86 - (void)drawWithFrame
:(NSRect
)cellFrame inView
:(NSView
*)controlView
;
89 - (void)mouseEntered
:(NSEvent
*)theEvent
;
90 - (void)mouseExited
:(NSEvent
*)theEvent
;
93 - (NSImage
*)dragImageForRect
:(NSRect
)cellFrame
;
96 - (void)encodeWithCoder
:(NSCoder
*)aCoder
;
97 - (id
)initWithCoder
:(NSCoder
*)aDecoder
;
101 @interface
PSMTabBarControl (CellAccessors
)
103 - (id
<PSMTabStyle
>)style
;