X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/716d0327363e81485eb6dd13b62d6f83c9dd4bab..6cef0db28018fd2644ee4e38af715872e5242459:/src/mac/carbon/mdi.cpp diff --git a/src/mac/carbon/mdi.cpp b/src/mac/carbon/mdi.cpp index 108e0371d8..428a0dc410 100644 --- a/src/mac/carbon/mdi.cpp +++ b/src/mac/carbon/mdi.cpp @@ -48,6 +48,37 @@ static const int IDM_WINDOWICONS = 4003; static const int IDM_WINDOWNEXT = 4004; static const int IDM_WINDOWTILEVERT = 4005; +// others + +void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) +{ +#if 1 // TODO REMOVE + if ( inWindowRef ) + { +// bool isHighlighted = IsWindowHighlited( inWindowRef ) ; +// if ( inActivate != isHighlighted ) +#ifndef __LP64__ + GrafPtr port ; + GetPort( &port ) ; + SetPortWindowPort( inWindowRef ) ; +#endif + HiliteWindow( inWindowRef , inActivate ) ; + ControlRef control = NULL ; + ::GetRootControl( inWindowRef , &control ) ; + if ( control ) + { + if ( inActivate ) + ::ActivateControl( control ) ; + else + ::DeactivateControl( control ) ; + } +#ifndef __LP64__ + SetPort( port ) ; +#endif + } +#endif +} + // ---------------------------------------------------------------------------- // Parent frame // ---------------------------------------------------------------------------- @@ -88,12 +119,14 @@ bool wxMDIParentFrame::Create(wxWindow *parent, m_windowMenu->Append(IDM_WINDOWNEXT, wxT("&Next")); } - wxFrame::Create( parent , id , title , pos , size , style , name ) ; + if ( !wxFrame::Create( parent , id , title , pos , size , style , name ) ) + return false; + m_parentFrameActive = true; - OnCreateClient(); + m_clientWindow = OnCreateClient(); - return true; + return m_clientWindow != NULL; } wxMDIParentFrame::~wxMDIParentFrame() @@ -123,6 +156,9 @@ void wxMDIParentFrame::GetRectForTopLevelChildren(int *x, int *y, int *w, int *h void wxMDIParentFrame::AddChild(wxWindowBase *child) { + // moved this to front, so that we don't run into unset m_parent problems later + wxFrame::AddChild(child); + if ( !m_currentChild ) { m_currentChild = wxDynamicCast(child, wxMDIChildFrame); @@ -134,8 +170,6 @@ void wxMDIParentFrame::AddChild(wxWindowBase *child) m_shouldBeShown = true; } } - - wxFrame::AddChild(child); } void wxMDIParentFrame::RemoveChild(wxWindowBase *child) @@ -243,9 +277,7 @@ wxMDIChildFrame *wxMDIParentFrame::GetActiveChild() const // just return a new class) wxMDIClientWindow *wxMDIParentFrame::OnCreateClient() { - m_clientWindow = new wxMDIClientWindow( this ); - - return m_clientWindow; + return new wxMDIClientWindow( this ); } // Responds to colour changes, and passes event on to children. @@ -479,7 +511,7 @@ void wxMDIClientWindow::DoGetClientSize(int *x, int *y) const } // Explicitly call default scroll behaviour -void wxMDIClientWindow::OnScroll(wxScrollEvent& event) +void wxMDIClientWindow::OnScroll(wxScrollEvent& WXUNUSED(event)) { }