From 3d012d1bf1a87700ea337b2ef2137d7a9d1a4cba Mon Sep 17 00:00:00 2001 From: David Elliott Date: Fri, 23 Sep 2005 15:24:29 +0000 Subject: [PATCH] Added Cocoa_canBecomeKeyWindow. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/cocoa/NSWindow.h | 2 ++ src/cocoa/NSWindow.mm | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/include/wx/cocoa/NSWindow.h b/include/wx/cocoa/NSWindow.h index c25113a98e..cc62cb2ad1 100644 --- a/include/wx/cocoa/NSWindow.h +++ b/include/wx/cocoa/NSWindow.h @@ -30,6 +30,8 @@ class wxCocoaNSWindow public: void AssociateNSWindow(WX_NSWindow cocoaNSWindow); void DisassociateNSWindow(WX_NSWindow cocoaNSWindow); + virtual bool Cocoa_canBecomeKeyWindow(bool &canBecome) + { return false; } virtual bool Cocoa_canBecomeMainWindow(bool &canBecome) { return false; } virtual bool CocoaDelegate_windowShouldClose(void) = 0; diff --git a/src/cocoa/NSWindow.mm b/src/cocoa/NSWindow.mm index c2df1cd5e6..ebb81b92b0 100644 --- a/src/cocoa/NSWindow.mm +++ b/src/cocoa/NSWindow.mm @@ -193,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; -- 2.45.2