mirror of https://github.com/bsnes-emu/bsnes.git
46 lines
884 B
C++
46 lines
884 B
C++
@implementation CocoaItem : NSMenuItem
|
|
|
|
-(id) initWith:(phoenix::Item&)itemReference {
|
|
if(self = [super initWithTitle:@"" action:@selector(activate) keyEquivalent:@""]) {
|
|
item = &itemReference;
|
|
|
|
[self setTarget:self];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
-(void) activate {
|
|
if(item->onActivate) item->onActivate();
|
|
}
|
|
|
|
@end
|
|
|
|
namespace phoenix {
|
|
|
|
void pItem::setImage(const image& image) {
|
|
@autoreleasepool {
|
|
unsigned size = 15; //there is no API to retrieve the optimal size
|
|
[cocoaAction setImage:NSMakeImage(image, size, size)];
|
|
}
|
|
}
|
|
|
|
void pItem::setText(const string& text) {
|
|
@autoreleasepool {
|
|
[cocoaAction setTitle:[NSString stringWithUTF8String:text]];
|
|
}
|
|
}
|
|
|
|
void pItem::constructor() {
|
|
@autoreleasepool {
|
|
cocoaAction = cocoaItem = [[CocoaItem alloc] initWith:item];
|
|
}
|
|
}
|
|
|
|
void pItem::destructor() {
|
|
@autoreleasepool {
|
|
[cocoaAction release];
|
|
}
|
|
}
|
|
|
|
}
|