Adding API to ITStatusItem for callbacks to get dynamic menus.
[ITKit.git] / ITStatusItem.h
1 /*
2  *      ITKit
3  *      ITStatusItem.h
4  *
5  *      NSStatusItem subclass which attempts to approximate NSMenuExtra's
6  *              appearance and functionality.
7  *
8  *      Copyright (c) 2005 by iThink Software.
9  *      All Rights Reserved.
10  *
11  *      $Id$
12  *
13  */
14
15 #import <Cocoa/Cocoa.h>
16
17 @class ITStatusItem;
18
19 @protocol ITStatusItemMenuProvider
20 - (NSMenu *)menuForStatusItem:(ITStatusItem *)statusItem;
21 @end
22
23 @interface ITStatusItem : NSStatusItem {
24         id <ITStatusItemMenuProvider> _menuProvider;
25 }
26
27 - (id)initWithStatusBar:(NSStatusBar *)statusBar withLength:(float)length;
28
29 - (NSImage *)alternateImage;
30 - (void)setAlternateImage:(NSImage *)image;
31
32 - (id <ITStatusItemMenuProvider>)menuProvider;
33 - (void)setMenuProvider:(id <ITStatusItemMenuProvider>)provider;
34
35 @end