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:
committed by
Dimitri Schoolwerth
parent
97eb03c9a7
commit
8d2956100f
@@ -260,6 +260,7 @@ public :
|
|||||||
void RestoreWindowLevel();
|
void RestoreWindowLevel();
|
||||||
|
|
||||||
static WX_NSResponder GetNextFirstResponder() ;
|
static WX_NSResponder GetNextFirstResponder() ;
|
||||||
|
static WX_NSResponder GetFormerFirstResponder() ;
|
||||||
protected :
|
protected :
|
||||||
CGWindowLevel m_macWindowLevel;
|
CGWindowLevel m_macWindowLevel;
|
||||||
WXWindow m_macWindow;
|
WXWindow m_macWindow;
|
||||||
|
@@ -145,6 +145,7 @@ bool shouldHandleSelector(SEL selector)
|
|||||||
//
|
//
|
||||||
|
|
||||||
static NSResponder* s_nextFirstResponder = NULL;
|
static NSResponder* s_nextFirstResponder = NULL;
|
||||||
|
static NSResponder* s_formerFirstResponder = NULL;
|
||||||
|
|
||||||
@interface wxNSWindow : NSWindow
|
@interface wxNSWindow : NSWindow
|
||||||
{
|
{
|
||||||
@@ -210,9 +211,13 @@ static NSResponder* s_nextFirstResponder = NULL;
|
|||||||
|
|
||||||
- (BOOL)makeFirstResponder:(NSResponder *)aResponder
|
- (BOOL)makeFirstResponder:(NSResponder *)aResponder
|
||||||
{
|
{
|
||||||
|
NSResponder* tempFormer = s_formerFirstResponder;
|
||||||
|
NSResponder* tempNext = s_nextFirstResponder;
|
||||||
s_nextFirstResponder = aResponder;
|
s_nextFirstResponder = aResponder;
|
||||||
|
s_formerFirstResponder = [[NSApp keyWindow] firstResponder];
|
||||||
BOOL retval = [super makeFirstResponder:aResponder];
|
BOOL retval = [super makeFirstResponder:aResponder];
|
||||||
s_nextFirstResponder = nil;
|
s_nextFirstResponder = tempNext;
|
||||||
|
s_formerFirstResponder = tempFormer;
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1066,6 +1071,10 @@ WX_NSResponder wxNonOwnedWindowCocoaImpl::GetNextFirstResponder()
|
|||||||
return s_nextFirstResponder;
|
return s_nextFirstResponder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WX_NSResponder wxNonOwnedWindowCocoaImpl::GetFormerFirstResponder()
|
||||||
|
{
|
||||||
|
return s_formerFirstResponder;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
Reference in New Issue
Block a user