Using the base class wxHAS_NATIVE_ENABLED_MANAGEMENT in Cocoa

disabling/enabling child windows

Fixes #16232, fixes #15495.

(this is a backport of 91f25e0 from master)
This commit is contained in:
Stefan Csomor
2014-05-17 19:14:21 +00:00
committed by Dimitri Schoolwerth
parent 97eb03c9a7
commit 8d2956100f
2 changed files with 11 additions and 1 deletions

View File

@@ -260,6 +260,7 @@ public :
void RestoreWindowLevel();
static WX_NSResponder GetNextFirstResponder() ;
static WX_NSResponder GetFormerFirstResponder() ;
protected :
CGWindowLevel m_macWindowLevel;
WXWindow m_macWindow;

View File

@@ -145,6 +145,7 @@ bool shouldHandleSelector(SEL selector)
//
static NSResponder* s_nextFirstResponder = NULL;
static NSResponder* s_formerFirstResponder = NULL;
@interface wxNSWindow : NSWindow
{
@@ -210,9 +211,13 @@ static NSResponder* s_nextFirstResponder = NULL;
- (BOOL)makeFirstResponder:(NSResponder *)aResponder
{
NSResponder* tempFormer = s_formerFirstResponder;
NSResponder* tempNext = s_nextFirstResponder;
s_nextFirstResponder = aResponder;
s_formerFirstResponder = [[NSApp keyWindow] firstResponder];
BOOL retval = [super makeFirstResponder:aResponder];
s_nextFirstResponder = nil;
s_nextFirstResponder = tempNext;
s_formerFirstResponder = tempFormer;
return retval;
}
@@ -1066,6 +1071,10 @@ WX_NSResponder wxNonOwnedWindowCocoaImpl::GetNextFirstResponder()
return s_nextFirstResponder;
}
WX_NSResponder wxNonOwnedWindowCocoaImpl::GetFormerFirstResponder()
{
return s_formerFirstResponder;
}
//
//