git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59114
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// wx native implementation classes
//
// wx native implementation classes
//
+typedef void (*wxOSX_NoResponderHandlerPtr)(NSView* self, SEL _cmd, SEL selector);
+
@interface wxNSWindow : NSWindow
{
@interface wxNSWindow : NSWindow
{
- (void)setImplementation: (wxNonOwnedWindowCocoaImpl *) theImplementation;
- (wxNonOwnedWindowCocoaImpl*) implementation;
- (void)setImplementation: (wxNonOwnedWindowCocoaImpl *) theImplementation;
- (wxNonOwnedWindowCocoaImpl*) implementation;
+- (void)noResponderFor: (SEL) selector;
@end
@implementation wxNSWindow
@end
@implementation wxNSWindow
+// NB: if we don't do this, all key downs that get handled lead to a NSBeep
+- (void)noResponderFor: (SEL) selector
+{
+ if (selector != @selector(keyDown:))
+ {
+ wxOSX_NoResponderHandlerPtr superimpl = (wxOSX_NoResponderHandlerPtr) [[self superclass] instanceMethodForSelector:@selector(noResponderFor:)];
+ superimpl(self, @selector(noResponderFor:), selector);
+ }
+}
- (void)setImplementation: (wxNonOwnedWindowCocoaImpl *) theImplementation;
- (wxNonOwnedWindowCocoaImpl*) implementation;
- (void)setImplementation: (wxNonOwnedWindowCocoaImpl *) theImplementation;
- (wxNonOwnedWindowCocoaImpl*) implementation;
+- (void)noResponderFor: (SEL) selector;
@end
@implementation wxNSPanel
@end
@implementation wxNSPanel
+// NB: if we don't do this, all key downs that get handled lead to a NSBeep
+- (void)noResponderFor: (SEL) selector
+{
+ if (selector != @selector(keyDown:))
+ {
+ wxOSX_NoResponderHandlerPtr superimpl = (wxOSX_NoResponderHandlerPtr) [[self superclass] instanceMethodForSelector:@selector(noResponderFor:)];
+ superimpl(self, @selector(noResponderFor:), selector);
+ }
+}
+