moving tlw list up, cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -62,15 +62,11 @@ void wxDialog::SetModal( bool flag )
|
|||||||
{
|
{
|
||||||
m_isModalStyle = true;
|
m_isModalStyle = true;
|
||||||
|
|
||||||
wxModelessWindows.DeleteObject( this );
|
|
||||||
|
|
||||||
SetWindowModality( (WindowRef)MacGetWindowRef(), kWindowModalityAppModal, NULL ) ;
|
SetWindowModality( (WindowRef)MacGetWindowRef(), kWindowModalityAppModal, NULL ) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_isModalStyle = false;
|
m_isModalStyle = false;
|
||||||
|
|
||||||
wxModelessWindows.Append( this );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -26,8 +26,6 @@
|
|||||||
|
|
||||||
#include "wx/mac/uma.h"
|
#include "wx/mac/uma.h"
|
||||||
|
|
||||||
extern wxWindowList wxModelessWindows;
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(wxFrame, wxFrameBase)
|
BEGIN_EVENT_TABLE(wxFrame, wxFrameBase)
|
||||||
EVT_ACTIVATE(wxFrame::OnActivate)
|
EVT_ACTIVATE(wxFrame::OnActivate)
|
||||||
// EVT_MENU_HIGHLIGHT_ALL(wxFrame::OnMenuHighlight)
|
// EVT_MENU_HIGHLIGHT_ALL(wxFrame::OnMenuHighlight)
|
||||||
@@ -61,8 +59,6 @@ bool wxFrame::Create(wxWindow *parent,
|
|||||||
if ( !wxTopLevelWindow::Create(parent, id, title, pos, size, style, name) )
|
if ( !wxTopLevelWindow::Create(parent, id, title, pos, size, style, name) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
wxModelessWindows.Append(this);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -25,8 +25,6 @@
|
|||||||
#include "wx/mac/private.h"
|
#include "wx/mac/private.h"
|
||||||
#include "wx/mac/uma.h"
|
#include "wx/mac/uma.h"
|
||||||
|
|
||||||
extern wxWindowList wxModelessWindows;
|
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxMDIParentFrame, wxFrame)
|
IMPLEMENT_DYNAMIC_CLASS(wxMDIParentFrame, wxFrame)
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame, wxFrame)
|
IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame, wxFrame)
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxMDIClientWindow, wxWindow)
|
IMPLEMENT_DYNAMIC_CLASS(wxMDIClientWindow, wxWindow)
|
||||||
@@ -396,8 +394,6 @@ bool wxMDIChildFrame::Create(wxMDIParentFrame *parent,
|
|||||||
|
|
||||||
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE));
|
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE));
|
||||||
|
|
||||||
wxModelessWindows.Append(this);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -500,8 +496,6 @@ bool wxMDIClientWindow::CreateClient(wxMDIParentFrame *parent, long style)
|
|||||||
if ( !wxWindow::Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, style) )
|
if ( !wxWindow::Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, style) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
wxModelessWindows.Append(this);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -42,9 +42,6 @@
|
|||||||
// globals
|
// globals
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
// list of all frames and modeless dialogs
|
|
||||||
wxWindowList wxModelessWindows;
|
|
||||||
|
|
||||||
static pascal long wxShapedMacWindowDef(short varCode, WindowRef window, SInt16 message, SInt32 param);
|
static pascal long wxShapedMacWindowDef(short varCode, WindowRef window, SInt16 message, SInt32 param);
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
@@ -852,8 +849,6 @@ bool wxNonOwnedWindow::Create(wxWindow *parent,
|
|||||||
if (GetExtraStyle() & wxFRAME_EX_METAL)
|
if (GetExtraStyle() & wxFRAME_EX_METAL)
|
||||||
MacSetMetalAppearance(true);
|
MacSetMetalAppearance(true);
|
||||||
|
|
||||||
wxTopLevelWindows.Append(this);
|
|
||||||
|
|
||||||
if ( parent )
|
if ( parent )
|
||||||
parent->AddChild(this);
|
parent->AddChild(this);
|
||||||
|
|
||||||
@@ -878,9 +873,6 @@ wxNonOwnedWindow::~wxNonOwnedWindow()
|
|||||||
|
|
||||||
wxRemoveMacWindowAssociation( this ) ;
|
wxRemoveMacWindowAssociation( this ) ;
|
||||||
|
|
||||||
if ( wxModelessWindows.Find(this) )
|
|
||||||
wxModelessWindows.DeleteObject(this);
|
|
||||||
|
|
||||||
// avoid dangling refs
|
// avoid dangling refs
|
||||||
if ( s_macDeactivateWindow == this )
|
if ( s_macDeactivateWindow == this )
|
||||||
s_macDeactivateWindow = NULL;
|
s_macDeactivateWindow = NULL;
|
||||||
@@ -903,7 +895,7 @@ bool wxNonOwnedWindow::SetBackgroundColour(const wxColour& c )
|
|||||||
else if ( col == wxSystemSettings::GetColour( wxSYS_COLOUR_3DFACE ) )
|
else if ( col == wxSystemSettings::GetColour( wxSYS_COLOUR_3DFACE ) )
|
||||||
col = wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDialogBackgroundActive));
|
col = wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDialogBackgroundActive));
|
||||||
|
|
||||||
if ( !wxWindowBase::SetBackgroundColour(col) && m_hasBgCol )
|
if ( !wxWindow::SetBackgroundColour(col) && m_hasBgCol )
|
||||||
return false ;
|
return false ;
|
||||||
|
|
||||||
if ( col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDocumentWindowBackground)) )
|
if ( col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDocumentWindowBackground)) )
|
||||||
@@ -916,6 +908,10 @@ bool wxNonOwnedWindow::SetBackgroundColour(const wxColour& c )
|
|||||||
SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDialogBackgroundActive, false ) ;
|
SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDialogBackgroundActive, false ) ;
|
||||||
SetBackgroundStyle(wxBG_STYLE_CUSTOM);
|
SetBackgroundStyle(wxBG_STYLE_CUSTOM);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetBackgroundStyle(wxBG_STYLE_COLOUR);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -91,6 +91,7 @@ bool wxTopLevelWindowMac::Create(wxWindow *parent,
|
|||||||
|
|
||||||
wxWindow::SetLabel( title ) ;
|
wxWindow::SetLabel( title ) ;
|
||||||
SetWindowTitleWithCFString( (WindowRef) m_macWindow , wxCFStringRef( title , GetFont().GetEncoding() ) );
|
SetWindowTitleWithCFString( (WindowRef) m_macWindow , wxCFStringRef( title , GetFont().GetEncoding() ) );
|
||||||
|
wxTopLevelWindows.Append(this);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@@ -415,28 +415,31 @@ static pascal OSStatus wxMacWindowControlEventHandler( EventHandlerCallRef handl
|
|||||||
{
|
{
|
||||||
// set back to 0 if problems arise
|
// set back to 0 if problems arise
|
||||||
#if 1
|
#if 1
|
||||||
ControlPartCode currentControlPart = cEvent.GetParameter<ControlPartCode>(kEventParamControlPart , typeControlPartCode );
|
if ( result == noErr )
|
||||||
// synthesize the event focus changed event
|
{
|
||||||
EventRef evRef = NULL ;
|
ControlPartCode currentControlPart = cEvent.GetParameter<ControlPartCode>(kEventParamControlPart , typeControlPartCode );
|
||||||
|
// synthesize the event focus changed event
|
||||||
|
EventRef evRef = NULL ;
|
||||||
|
|
||||||
OSStatus err = MacCreateEvent(
|
OSStatus err = MacCreateEvent(
|
||||||
NULL , kEventClassControl , kEventControlFocusPartChanged , TicksToEventTime( TickCount() ) ,
|
NULL , kEventClassControl , kEventControlFocusPartChanged , TicksToEventTime( TickCount() ) ,
|
||||||
kEventAttributeUserEvent , &evRef );
|
kEventAttributeUserEvent , &evRef );
|
||||||
verify_noerr( err );
|
verify_noerr( err );
|
||||||
|
|
||||||
wxMacCarbonEvent iEvent( evRef ) ;
|
|
||||||
iEvent.SetParameter<ControlRef>( kEventParamDirectObject , controlRef );
|
|
||||||
iEvent.SetParameter<EventTargetRef>( kEventParamPostTarget, typeEventTargetRef, GetControlEventTarget( controlRef ) );
|
|
||||||
iEvent.SetParameter<ControlPartCode>( kEventParamControlPreviousPart, typeControlPartCode, previousControlPart );
|
|
||||||
iEvent.SetParameter<ControlPartCode>( kEventParamControlCurrentPart, typeControlPartCode, currentControlPart );
|
|
||||||
|
|
||||||
|
wxMacCarbonEvent iEvent( evRef ) ;
|
||||||
|
iEvent.SetParameter<ControlRef>( kEventParamDirectObject , controlRef );
|
||||||
|
iEvent.SetParameter<EventTargetRef>( kEventParamPostTarget, typeEventTargetRef, GetControlEventTarget( controlRef ) );
|
||||||
|
iEvent.SetParameter<ControlPartCode>( kEventParamControlPreviousPart, typeControlPartCode, previousControlPart );
|
||||||
|
iEvent.SetParameter<ControlPartCode>( kEventParamControlCurrentPart, typeControlPartCode, currentControlPart );
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
// TODO test this first, avoid double posts etc...
|
// TODO test this first, avoid double posts etc...
|
||||||
PostEventToQueue( GetMainEventQueue(), evRef , kEventPriorityHigh );
|
PostEventToQueue( GetMainEventQueue(), evRef , kEventPriorityHigh );
|
||||||
#else
|
#else
|
||||||
wxMacWindowControlEventHandler( NULL , evRef , data ) ;
|
wxMacWindowControlEventHandler( NULL , evRef , data ) ;
|
||||||
#endif
|
#endif
|
||||||
ReleaseEvent( evRef ) ;
|
ReleaseEvent( evRef ) ;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
// old implementation, to be removed if the new one works
|
// old implementation, to be removed if the new one works
|
||||||
if ( controlPart == kControlFocusNoPart )
|
if ( controlPart == kControlFocusNoPart )
|
||||||
@@ -1203,10 +1206,13 @@ void wxWindowMac::SetFocus()
|
|||||||
|
|
||||||
// as we cannot rely on the control features to find out whether we are in full keyboard mode,
|
// as we cannot rely on the control features to find out whether we are in full keyboard mode,
|
||||||
// we can only leave in case of an error
|
// we can only leave in case of an error
|
||||||
wxLogTrace(_T("Focus"), _T("before wxWindow::SetFocus(%p)"), wx_static_cast(void*, this));
|
wxLogTrace(_T("Focus"), _T("before wxWindow::SetFocus(%p) %d"), wx_static_cast(void*, this), GetName().c_str());
|
||||||
OSStatus err = m_peer->SetFocus( kControlFocusNextPart ) ;
|
OSStatus err = m_peer->SetFocus( kControlFocusNextPart ) ;
|
||||||
if ( err == errCouldntSetFocus )
|
if ( err == errCouldntSetFocus )
|
||||||
|
{
|
||||||
|
wxLogTrace(_T("Focus"), _T("in wxWindow::SetFocus(%p) errCouldntSetFocus"), wx_static_cast(void*, this));
|
||||||
return ;
|
return ;
|
||||||
|
}
|
||||||
wxLogTrace(_T("Focus"), _T("after wxWindow::SetFocus(%p)"), wx_static_cast(void*, this));
|
wxLogTrace(_T("Focus"), _T("after wxWindow::SetFocus(%p)"), wx_static_cast(void*, this));
|
||||||
|
|
||||||
SetUserFocusWindow( (WindowRef)MacGetTopLevelWindowRef() );
|
SetUserFocusWindow( (WindowRef)MacGetTopLevelWindowRef() );
|
||||||
|
Reference in New Issue
Block a user