return wxPoint( x, y);
}
+bool shouldHandleSelector(SEL selector)
+{
+ if (selector == @selector(noop:)
+ || selector == @selector(complete:)
+ || selector == @selector(deleteBackward:)
+ || selector == @selector(deleteForward:)
+ || selector == @selector(insertNewline:)
+ || selector == @selector(insertTab:)
+ || selector == @selector(keyDown:)
+ || selector == @selector(keyUp:)
+ || selector == @selector(scrollPageUp:)
+ || selector == @selector(scrollPageDown:)
+ || selector == @selector(scrollToBeginningOfDocument:)
+ || selector == @selector(scrollToEndOfDocument:))
+ return false;
+
+ return true;
+
+}
+
//
// wx native implementation classes
//
typedef void (*wxOSX_NoResponderHandlerPtr)(NSView* self, SEL _cmd, SEL selector);
@interface wxNSWindow : NSWindow
-
{
wxNonOwnedWindowCocoaImpl* impl;
}
return impl;
}
+- (void)doCommandBySelector:(SEL)selector
+{
+ if (shouldHandleSelector(selector) &&
+ !(selector == @selector(cancel:) || selector == @selector(cancelOperation:)) )
+ [super doCommandBySelector:selector];
+}
+
+
// 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:))
+ if (selector != @selector(keyDown:) && selector != @selector(keyUp:))
{
- wxOSX_NoResponderHandlerPtr superimpl = (wxOSX_NoResponderHandlerPtr) [[self superclass] instanceMethodForSelector:@selector(noResponderFor:)];
- superimpl(self, @selector(noResponderFor:), selector);
+ [super noResponderFor:selector];
+// wxOSX_NoResponderHandlerPtr superimpl = (wxOSX_NoResponderHandlerPtr) [[self superclass] instanceMethodForSelector:@selector(noResponderFor:)];
+// superimpl(self, @selector(noResponderFor:), selector);
}
}
return impl;
}
-// NB: if we don't do this, all key downs that get handled lead to a NSBeep
+- (void)doCommandBySelector:(SEL)selector
+{
+ if (shouldHandleSelector(selector))
+ [super doCommandBySelector:selector];
+}
+
+// NB: if we don't do this, it seems that all events that end here lead to a NSBeep
- (void)noResponderFor: (SEL) selector
{
- if (selector != @selector(keyDown:))
+ if (selector != @selector(keyDown:) && selector != @selector(keyUp:))
{
- wxOSX_NoResponderHandlerPtr superimpl = (wxOSX_NoResponderHandlerPtr) [[self superclass] instanceMethodForSelector:@selector(noResponderFor:)];
- superimpl(self, @selector(noResponderFor:), selector);
+ [super noResponderFor:selector];
+// wxOSX_NoResponderHandlerPtr superimpl = (wxOSX_NoResponderHandlerPtr) [[self superclass] instanceMethodForSelector:@selector(noResponderFor:)];
+// superimpl(self, @selector(noResponderFor:), selector);
}
}
wxPendingDelete.Append( new wxDeferredObjectDeleter( this ) );
}
-void wxNonOwnedWindowCocoaImpl::Create( wxWindow* parent, const wxPoint& pos, const wxSize& size,
-long style, long extraStyle, const wxString& name )
+void wxNonOwnedWindowCocoaImpl::Create( wxWindow* WXUNUSED(parent), const wxPoint& pos, const wxSize& size,
+long style, long extraStyle, const wxString& WXUNUSED(name) )
{
static wxNonOwnedWindowController* controller = NULL;
[m_macWindow setDelegate:controller];
[m_macWindow setAcceptsMouseMovedEvents: YES];
-
- if ( ( style & wxPOPUP_WINDOW ) )
- [m_macWindow makeKeyAndOrderFront:nil];
}
{
if ( show )
{
- [m_macWindow orderFront:nil];
+ [m_macWindow makeKeyAndOrderFront:nil];
[[m_macWindow contentView] setNeedsDisplay:YES];
}
else
return true;
}
-bool wxNonOwnedWindowCocoaImpl::ShowWithEffect(bool show, wxShowEffect effect, unsigned timeout)
+bool wxNonOwnedWindowCocoaImpl::ShowWithEffect(bool show, wxShowEffect WXUNUSED(effect), unsigned WXUNUSED(timeout))
{
return Show(show);
}
return true;
}
-bool wxNonOwnedWindowCocoaImpl::SetBackgroundColour(const wxColour& col )
+bool wxNonOwnedWindowCocoaImpl::SetBackgroundColour(const wxColour& WXUNUSED(col) )
{
return true;
}
}
}
-bool wxNonOwnedWindowCocoaImpl::SetBackgroundStyle(wxBackgroundStyle style)
+bool wxNonOwnedWindowCocoaImpl::SetBackgroundStyle(wxBackgroundStyle WXUNUSED(style))
{
return true;
}
height = rect.size.height;
}
-bool wxNonOwnedWindowCocoaImpl::SetShape(const wxRegion& region)
+bool wxNonOwnedWindowCocoaImpl::SetShape(const wxRegion& WXUNUSED(region))
{
return false;
}
[m_macWindow deminiaturize:nil];
}
-void wxNonOwnedWindowCocoaImpl::Maximize(bool maximize)
+void wxNonOwnedWindowCocoaImpl::Maximize(bool WXUNUSED(maximize))
{
[m_macWindow zoom:nil];
}
return m_macFullScreenData != NULL ;
}
-bool wxNonOwnedWindowCocoaImpl::ShowFullScreen(bool show, long style)
+bool wxNonOwnedWindowCocoaImpl::ShowFullScreen(bool show, long WXUNUSED(style))
{
if ( show )
{