diff options
Diffstat (limited to 'Frameworks/PSMTabBar/PSMTabBarCell.h')
-rw-r--r-- | Frameworks/PSMTabBar/PSMTabBarCell.h | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/Frameworks/PSMTabBar/PSMTabBarCell.h b/Frameworks/PSMTabBar/PSMTabBarCell.h new file mode 100644 index 00000000..519c7ac4 --- /dev/null +++ b/Frameworks/PSMTabBar/PSMTabBarCell.h @@ -0,0 +1,117 @@ +// +// PSMTabBarCell.h +// PSMTabBarControl +// +// Created by John Pannell on 10/13/05. +// Copyright 2005 Positive Spin Media. All rights reserved. +// + +#import <Cocoa/Cocoa.h> +#import "PSMTabBarControl.h" + +@class PSMTabBarControl; +@class PSMProgressIndicator; + +@interface PSMTabBarCell : NSActionCell { + // sizing + NSRect _frame; + NSSize _stringSize; + NSInteger _currentStep; + BOOL _isPlaceholder; + + // state + NSInteger _tabState; + NSTrackingRectTag _closeButtonTrackingTag; // left side tracking, if dragging + NSTrackingRectTag _cellTrackingTag; // right side tracking, if dragging + BOOL _closeButtonOver; + BOOL _closeButtonPressed; + PSMProgressIndicator *_indicator; + BOOL _isInOverflowMenu; + BOOL _hasCloseButton; + BOOL _isCloseButtonSuppressed; + BOOL _hasIcon; + BOOL _hasLargeImage; + NSInteger _count; + NSColor *_countColor; + BOOL _isEdited; +} + +// creation/destruction +- (id)initWithControlView:(PSMTabBarControl *)controlView; +- (id)initPlaceholderWithFrame:(NSRect)frame expanded:(BOOL)value inControlView:(PSMTabBarControl *)controlView; +- (void)dealloc; + +// accessors +- (id)controlView; +- (void)setControlView:(id)view; +- (NSTrackingRectTag)closeButtonTrackingTag; +- (void)setCloseButtonTrackingTag:(NSTrackingRectTag)tag; +- (NSTrackingRectTag)cellTrackingTag; +- (void)setCellTrackingTag:(NSTrackingRectTag)tag; +- (CGFloat)width; +- (NSRect)frame; +- (void)setFrame:(NSRect)rect; +- (void)setStringValue:(NSString *)aString; +- (NSSize)stringSize; +- (NSAttributedString *)attributedStringValue; +- (NSInteger)tabState; +- (void)setTabState:(NSInteger)state; +- (NSProgressIndicator *)indicator; +- (BOOL)isInOverflowMenu; +- (void)setIsInOverflowMenu:(BOOL)value; +- (BOOL)closeButtonPressed; +- (void)setCloseButtonPressed:(BOOL)value; +- (BOOL)closeButtonOver; +- (void)setCloseButtonOver:(BOOL)value; +- (BOOL)hasCloseButton; +- (void)setHasCloseButton:(BOOL)set; +- (void)setCloseButtonSuppressed:(BOOL)suppress; +- (BOOL)isCloseButtonSuppressed; +- (BOOL)hasIcon; +- (void)setHasIcon:(BOOL)value; +- (BOOL)hasLargeImage; +- (void)setHasLargeImage:(BOOL)value; +- (NSInteger)count; +- (void)setCount:(NSInteger)value; +- (NSColor *)countColor; +- (void)setCountColor:(NSColor *)value; +- (BOOL)isPlaceholder; +- (void)setIsPlaceholder:(BOOL)value; +- (NSInteger)currentStep; +- (void)setCurrentStep:(NSInteger)value; +- (BOOL)isEdited; +- (void)setIsEdited:(BOOL)value; + +// component attributes +- (NSRect)indicatorRectForFrame:(NSRect)cellFrame; +- (NSRect)closeButtonRectForFrame:(NSRect)cellFrame; +- (CGFloat)minimumWidthOfCell; +- (CGFloat)desiredWidthOfCell; + +// drawing +- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView; + +// tracking the mouse +- (void)mouseEntered:(NSEvent *)theEvent; +- (void)mouseExited:(NSEvent *)theEvent; + +// drag support +- (NSImage *)dragImage; + +// archiving +- (void)encodeWithCoder:(NSCoder *)aCoder; +- (id)initWithCoder:(NSCoder *)aDecoder; + +@end + +@interface PSMTabBarControl (CellAccessors) + +- (id<PSMTabStyle>)style; + +@end + +@interface NSObject (IdentifierAccesors) + +- (NSImage *)largeImage; + +@end |