#import "MenubarController.h" #import "StatusItemView.h" @implementation MenubarController @synthesize statusItemView = _statusItemView; #pragma mark - - (id)init { self = [super init]; if (self != nil) { // Install status item into the menu bar NSStatusItem *statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:STATUS_ITEM_VIEW_WIDTH]; _statusItemView = [[StatusItemView alloc] initWithStatusItem:statusItem]; _statusItemView.image = [NSImage imageNamed:@"Status"]; _statusItemView.alternateImage = [NSImage imageNamed:@"StatusHighlighted"]; _statusItemView.action = @selector(togglePanel:); } return self; } - (void)dealloc { [[NSStatusBar systemStatusBar] removeStatusItem:self.statusItem]; } #pragma mark - #pragma mark Public accessors - (NSStatusItem *)statusItem { return self.statusItemView.statusItem; } #pragma mark - - (BOOL)hasActiveIcon { return self.statusItemView.isHighlighted; } - (void)setHasActiveIcon:(BOOL)flag { self.statusItemView.isHighlighted = flag; } @end