X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/899544330f37440c140b72a014c518a911b5b7a4..eeb6bb3493dc28680b3801959dc719bd62be147a:/src/mac/carbon/mdi.cpp diff --git a/src/mac/carbon/mdi.cpp b/src/mac/carbon/mdi.cpp index 324c8b22bb..ca02c69c0d 100644 --- a/src/mac/carbon/mdi.cpp +++ b/src/mac/carbon/mdi.cpp @@ -25,8 +25,6 @@ #include "wx/mac/private.h" #include "wx/mac/uma.h" -extern wxWindowList wxModelessWindows; - IMPLEMENT_DYNAMIC_CLASS(wxMDIParentFrame, wxFrame) IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame, wxFrame) IMPLEMENT_DYNAMIC_CLASS(wxMDIClientWindow, wxWindow) @@ -40,7 +38,7 @@ BEGIN_EVENT_TABLE(wxMDIClientWindow, wxWindow) EVT_SCROLL(wxMDIClientWindow::OnScroll) END_EVENT_TABLE() -static const wxChar *TRACE_MDI = _T("mdi"); +#define TRACE_MDI "mdi" static const int IDM_WINDOWTILEHOR = 4001; static const int IDM_WINDOWCASCADE = 4002; @@ -48,6 +46,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 +117,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() @@ -244,9 +275,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. @@ -360,12 +389,11 @@ bool wxMDIChildFrame::Create(wxMDIParentFrame *parent, if (parent) parent->AddChild(this); - MacCreateRealWindow( title, pos , size , MacRemoveBordersFromStyle(style) , name ) ; + MacCreateRealWindow( pos , size , MacRemoveBordersFromStyle(style) , name ) ; + SetTitle( title ); SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE)); - wxModelessWindows.Append(this); - return true; } @@ -448,6 +476,7 @@ void wxMDIChildFrame::Restore() void wxMDIChildFrame::Activate() { + Raise (); } //----------------------------------------------------------------------------- @@ -468,8 +497,6 @@ bool wxMDIClientWindow::CreateClient(wxMDIParentFrame *parent, long style) if ( !wxWindow::Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, style) ) return false; - wxModelessWindows.Append(this); - return true; }