X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/35167b10d151b0ae09f0f807670c318bc4d3de53..HEAD:/ITStatusItem.h diff --git a/ITStatusItem.h b/ITStatusItem.h old mode 100755 new mode 100644 index 8efb87b..627a380 --- a/ITStatusItem.h +++ b/ITStatusItem.h @@ -1,48 +1,33 @@ /* * ITKit - * ITStatusItem - * NSStatusItem subclass which reduces suckage + * ITStatusItem.h * - * Original Author : Joseph Spiros - * Responsibility : Matt Judy - * Responsibility : Joseph Spiros + * NSStatusItem subclass which attempts to approximate NSMenuExtra's + * appearance and functionality. * - * Copyright (c) 2002 - 2003 iThink Software. - * All Rights Reserved + * Copyright (c) 2005 iThink Software * */ -/* - * This subclass does 4 things to approximate NSMenuExtra's functionality: - * - * 1. Makes the status item smarter about highlighting. - * 2. Allows you to set an alternate (inverted) image. - * 3. Eliminates the pre-Jaguar shadow behind a normal status item. - * 4. If you use an image AND title, the text will be made slightly smaller - * to resemble the visual interface of an NSMenuExtra. - * - * Note: In order to have the shadow not overlap the bottom of the - * menubar, Apple moves the image up one pixel. Since that shadow is - * no longer drawn, please adjust your images DOWN one pixel to compensate. - * - */ - - #import +@class ITStatusItem; -@interface ITStatusItem : NSStatusItem -{ +@protocol ITStatusItemMenuProvider +- (NSMenu *)menuForStatusItem:(ITStatusItem *)statusItem; +@end + +@interface ITStatusItem : NSStatusItem { + id _menuProvider; + NSMenu *_menuProxy; } -// Use this to create a new retained status item. -// It will appear in the system status bar, and -// default to YES for its highlightMode. -- (id)initWithStatusBar:(NSStatusBar*)statusBar withLength:(float)length; +- (id)initWithStatusBar:(NSStatusBar *)statusBar withLength:(float)length; -// These allow you to use an alternate (selected) image for your status item. -- (NSImage*) alternateImage; -- (void) setAlternateImage:(NSImage*)image; +- (NSImage *)alternateImage; +- (void)setAlternateImage:(NSImage *)image; +- (id )menuProvider; +- (void)setMenuProvider:(id )provider; -@end +@end \ No newline at end of file