virtual bool DoHandleMouseEvent(NSEvent *event);
virtual bool DoHandleKeyEvent(NSEvent *event);
+ virtual void DoNotifyFocusEvent(bool receivedFocus);
protected:
WXWidget m_osxView;
// common code snippets for cocoa implementations
// later to be done using injection in method table
- #define WXCOCOAIMPL_COMMON_MOUSE_INTERFACE -(void)mouseDown:(NSEvent *)event ;\
+ #define WXCOCOAIMPL_COMMON_EVENTS_INTERFACE -(void)mouseDown:(NSEvent *)event ;\
-(void)rightMouseDown:(NSEvent *)event ;\
-(void)otherMouseDown:(NSEvent *)event ;\
-(void)mouseUp:(NSEvent *)event ;\
- (void)keyDown:(NSEvent *)event;\
- (void)keyUp:(NSEvent *)event;\
- (void)flagsChanged:(NSEvent *)event;\
+ - (BOOL) becomeFirstResponder;\
+ - (BOOL) resignFirstResponder;
- #define WXCOCOAIMPL_COMMON_MOUSE_IMPLEMENTATION -(void)mouseDown:(NSEvent *)event \
+ #define WXCOCOAIMPL_COMMON_EVENTS_IMPLEMENTATION -(void)mouseDown:(NSEvent *)event \
{\
if ( !impl->DoHandleMouseEvent(event) )\
[super mouseDown:event];\
{\
if ( !impl->DoHandleKeyEvent(event) )\
[super flagsChanged:event];\
+ }\
+ - (BOOL) becomeFirstResponder\
+ {\
+ BOOL r = [super becomeFirstResponder];\
+ if ( r )\
+ impl->DoNotifyFocusEvent( true );\
+ return r;\
+ }\
+ - (BOOL) resignFirstResponder\
+ {\
+ BOOL r = [super resignFirstResponder];\
+ if ( r )\
+ impl->DoNotifyFocusEvent( false );\
+ return r;\
}
#define WXCOCOAIMPL_COMMON_MEMBERS wxWidgetCocoaImpl* impl;
- (void)setImplementation: (wxWidgetCocoaImpl *) theImplementation;\
- (wxWidgetCocoaImpl*) implementation;\
- (BOOL) isFlipped;\
- WXCOCOAIMPL_COMMON_MOUSE_INTERFACE
+ WXCOCOAIMPL_COMMON_EVENTS_INTERFACE
- #define WXCOCOAIMPL_COMMON_IMPLEMENTATION WXCOCOAIMPL_COMMON_MOUSE_IMPLEMENTATION \
+ #define WXCOCOAIMPL_COMMON_IMPLEMENTATION WXCOCOAIMPL_COMMON_EVENTS_IMPLEMENTATION \
- (void)setImplementation: (wxWidgetCocoaImpl *) theImplementation\
{\
impl = theImplementation;\
return YES;\
}\
+ #define WXCOCOAIMPL_COMMON_IMPLEMENTATION_NOT_FLIPPED WXCOCOAIMPL_COMMON_EVENTS_IMPLEMENTATION \
+ - (void)setImplementation: (wxWidgetCocoaImpl *) theImplementation\
+ {\
+ impl = theImplementation;\
+ }\
+ - (wxWidgetCocoaImpl*) implementation\
+ {\
+ return impl;\
+ }\
+ - (BOOL) isFlipped\
+ {\
+ return NO;\
+ }\
+
// used for many wxControls
@interface wxNSButton : NSButton