Adding API to ITStatusItem for callbacks to get dynamic menus.
[ITKit.git] / ITStatusItem.h
old mode 100755 (executable)
new mode 100644 (file)
index 904e962..7085c78
@@ -1,18 +1,35 @@
-//
-//  ITStatusItem.h
-//  iThinkAppKit
-//
-//  Created by Joseph Spiros on Fri Dec 06 2002.
-//  Copyright (c) 2002 iThink Software. All rights reserved.
-//
+/*
+ *     ITKit
+ *     ITStatusItem.h
+ *
+ *     NSStatusItem subclass which attempts to approximate NSMenuExtra's
+ *             appearance and functionality.
+ *
+ *     Copyright (c) 2005 by iThink Software.
+ *     All Rights Reserved.
+ *
+ *     $Id$
+ *
+ */
 
 
-#import <AppKit/AppKit.h>
+#import <Cocoa/Cocoa.h>
 
 
+@class ITStatusItem;
+
+@protocol ITStatusItemMenuProvider
+- (NSMenu *)menuForStatusItem:(ITStatusItem *)statusItem;
+@end
 
 @interface ITStatusItem : NSStatusItem {
 
 @interface ITStatusItem : NSStatusItem {
-    NSStatusItem *statusItem;
+       id <ITStatusItemMenuProvider> _menuProvider;
 }
 }
-- (NSStatusItem*) statusItem;
-- (NSImage*) alternateImage;
-- (void) setAlternateImage:(NSImage*)image;
-@end
+
+- (id)initWithStatusBar:(NSStatusBar *)statusBar withLength:(float)length;
+
+- (NSImage *)alternateImage;
+- (void)setAlternateImage:(NSImage *)image;
+
+- (id <ITStatusItemMenuProvider>)menuProvider;
+- (void)setMenuProvider:(id <ITStatusItemMenuProvider>)provider;
+
+@end
\ No newline at end of file