+- (void)setAlternateImage:(NSImage*)image {
+ if ([super respondsToSelector:@selector(setAlternateImage:)]) {
+ [(id <_ITStatusItemNSStatusItemPantherCompatability>)super setAlternateImage:image];
+ return;
+ }
+ [(NSButton *)[self _button] setAlternateImage:image];
+}
+
+- (id <ITStatusItemMenuProvider>)menuProvider {
+ return _menuProvider;
+}
+
+- (void)setMenuProvider:(id <ITStatusItemMenuProvider>)provider {
+ [_menuProvider autorelease];
+ _menuProvider = [provider retain];
+}
+
+- (NSMenu *)menu {
+ if (_menuProvider) {
+ return [_menuProvider menuForStatusItem:self];
+ } else {
+ return [super menu];
+ }
+}
+
+@end
\ No newline at end of file