Added support for delayed deactivation of windows (for MDI)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Elliott
2003-06-13 20:24:32 +00:00
parent 0063c16999
commit 245f35816d
3 changed files with 30 additions and 0 deletions

View File

@@ -439,6 +439,7 @@ void wxRemoveMacWindowAssociation(wxTopLevelWindowMac *win)
// ----------------------------------------------------------------------------
WXHWND wxTopLevelWindowMac::s_macWindowInUpdate = NULL;
wxTopLevelWindowMac *wxTopLevelWindowMac::s_macDeactivateWindow = NULL;
void wxTopLevelWindowMac::Init()
{
@@ -916,8 +917,21 @@ void wxTopLevelWindowMac::MacMouseMoved( WXEVENTREF ev , short part)
#endif
void wxTopLevelWindowMac::MacDelayedDeactivation(long timestamp)
{
if(s_macDeactivateWindow)
{
wxLogDebug("Doing delayed deactivation of %p",s_macDeactivateWindow);
s_macDeactivateWindow->MacActivate(timestamp, false);
}
}
void wxTopLevelWindowMac::MacActivate( long timestamp , bool inIsActivating )
{
wxLogDebug("TopLevel=%p::MacActivate",this);
if(s_macDeactivateWindow==this)
s_macDeactivateWindow=NULL;
MacDelayedDeactivation(timestamp);
wxActivateEvent event(wxEVT_ACTIVATE, inIsActivating , m_windowId);
event.m_timeStamp = timestamp ;
event.SetEventObject(this);