X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/86adc75813eedc3eabf746e30c8a571d528439a3..d4a724d4075418ccaea166925c33242a338249c7:/src/cocoa/NSWindow.mm?ds=sidebyside diff --git a/src/cocoa/NSWindow.mm b/src/cocoa/NSWindow.mm index bde3aa64ce..ebb81b92b0 100644 --- a/src/cocoa/NSWindow.mm +++ b/src/cocoa/NSWindow.mm @@ -6,7 +6,7 @@ // Created: 2003/03/16 // RCS-ID: $Id: // Copyright: (c) 2003 David Elliott -// Licence: wxWindows license +// Licence: wxWidgets licence ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -51,8 +51,8 @@ - (void)windowWillClose: (NSNotification *)notification; // Menu item handlers -- (void)wxMenuItemAction: (id)sender; -- (BOOL)validateMenuItem: (id)menuItem; +- (void)wxMenuItemAction: (NSMenuItem *)menuItem; +- (BOOL)validateMenuItem: (NSMenuItem *)menuItem; @end //interface wxNSWindowDelegate @implementation wxNSWindowDelegate : NSObject @@ -129,13 +129,13 @@ } // Menu item handlers -- (void)wxMenuItemAction: (id)sender +- (void)wxMenuItemAction: (NSMenuItem *)sender { wxASSERT(m_wxCocoaInterface); m_wxCocoaInterface->CocoaDelegate_wxMenuItemAction(sender); } -- (BOOL)validateMenuItem: (id)sender +- (BOOL)validateMenuItem: (NSMenuItem *)sender { wxASSERT(m_wxCocoaInterface); return m_wxCocoaInterface->CocoaDelegate_validateMenuItem(sender); @@ -149,7 +149,8 @@ WX_IMPLEMENT_OBJC_INTERFACE_HASHMAP(NSWindow) -wxCocoaNSWindow::wxCocoaNSWindow() +wxCocoaNSWindow::wxCocoaNSWindow(wxTopLevelWindowCocoa *tlw) +: m_wxTopLevelWindowCocoa(tlw) { m_cocoaDelegate = [[wxNSWindowDelegate alloc] init]; [m_cocoaDelegate setWxCocoaInterface: this]; @@ -192,12 +193,22 @@ wxMenuBar* wxCocoaNSWindow::GetAppMenuBar(wxCocoaNSWindow *win) { } +- (BOOL)canBecomeKeyWindow; - (BOOL)canBecomeMainWindow; @end // wxPoserNSwindow WX_IMPLEMENT_POSER(wxPoserNSWindow); @implementation wxPoserNSWindow : NSWindow +- (BOOL)canBecomeKeyWindow +{ + bool canBecome = false; + wxCocoaNSWindow *tlw = wxCocoaNSWindow::GetFromCocoa(self); + if(!tlw || !tlw->Cocoa_canBecomeKeyWindow(canBecome)) + canBecome = [super canBecomeKeyWindow]; + return canBecome; +} + - (BOOL)canBecomeMainWindow { bool canBecome = false;