/* The Tray.h File */
#import <Cocoa/Cocoa.h>
@interface Tray : NSObject <NSApplicationDelegate> {
NSWindow *window;
@private
NSStatusItem *trayItem;
}
@property (assign) IBOutlet NSWindow *window;
@end
/* the goods - Tray.m */
@implementation Tray
@synthesize window;
-(NSMenu *) buildMenu
{
NSZone *zone = [NSMenu menuZone];
NSMenu *menu = [[NSMenu allocWithZone:zone] init];
NSMenuItem *item;
item = [menu addItemWithTitle:@"Testing" action:@selector(testing:) keyEquivalent:@""];
[item setTarget:self];
item = [menu addItemWithTitle:@"Quit" action:@selector(quitApp:) keyEquivalent:@""];
[item setTarget:self];
return menu;
}
-(void)testing:(id)sender
{
NSLog(@"Hello World");
}
-(void) quitApp:(id)sender
{
[NSApp terminate:sender];
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSMenu *menu = [self buildMenu];
trayItem = [[[NSStatusBar systemStatusBar]
statusItemWithLength:NSSquareStatusItemLength] retain];
[trayItem setMenu:menu];
[trayItem setHighlightMode:YES];
[trayItem setTitle:@"HERE"];
[menu release];
}
@end