@interface wxNSPopUpButton : NSPopUpButton
{
- wxWidgetCocoaImpl* impl;
}
-- (void)setImplementation: (wxWidgetCocoaImpl *) theImplementation;
-- (wxWidgetCocoaImpl*) implementation;
-- (BOOL) isFlipped;
-- (void) clickedAction: (id) sender;
-
@end
@implementation wxNSPopUpButton
-- (id)initWithFrame:(NSRect)frame pullsDown:(BOOL) pd
-{
- [super initWithFrame:frame pullsDown:pd];
- impl = NULL;
- [self setTarget: self];
- [self setAction: @selector(clickedAction:)];
- return self;
-}
-
-- (void) clickedAction: (id) sender
++ (void)initialize
{
- if ( impl )
+ static BOOL initialized = NO;
+ if (!initialized)
{
- wxWindow* wxpeer = (wxWindow*) impl->GetWXPeer();
- if ( wxpeer )
- wxpeer->HandleClicked(0);
+ initialized = YES;
+ wxOSXCocoaClassAddWXMethods( self );
}
}
-- (void)setImplementation: (wxWidgetCocoaImpl *) theImplementation
-{
- impl = theImplementation;
-}
-
-- (wxWidgetCocoaImpl*) implementation
-{
- return impl;
-}
-
-- (BOOL) isFlipped
-{
- return YES;
-}
-
- (int) intValue
{
return [self indexOfSelectedItem];
wxNSPopUpButton* v = [[wxNSPopUpButton alloc] initWithFrame:r pullsDown:NO];
[v setMenu: menu->GetHMenu()];
wxWidgetCocoaImpl* c = new wxWidgetCocoaImpl( wxpeer, v );
- [v setImplementation:c];
return c;
}