X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d059fe4a3c45594273788a502b715567850ac7d4..8d5ff32d33ad07acb9c1824368fbbe954b601bbb:/src/mac/carbon/frame.cpp?ds=sidebyside diff --git a/src/mac/carbon/frame.cpp b/src/mac/carbon/frame.cpp index dbc406c768..399749a1b3 100644 --- a/src/mac/carbon/frame.cpp +++ b/src/mac/carbon/frame.cpp @@ -107,7 +107,7 @@ wxPoint wxFrame::GetClientAreaOrigin() const } } #endif - + return pt; } @@ -232,24 +232,23 @@ void wxFrame::DetachMenuBar() void wxFrame::AttachMenuBar( wxMenuBar *menuBar ) { - wxToplLevelWindowMac* tlw = wxFindWinFromMacWindow(FrontNonFloatingWindow()) ; + wxFrame* tlf = wxDynamicCast( wxFindWinFromMacWindow( FrontNonFloatingWindow() ) , wxFrame ); + bool makeCurrent = false; - bool makeCurrent = false ; - // if this is already the current menubar or we are the frontmost window - if ( m_frameMenuBar == wxMenuBar::MacGetInstalledMenuBar() || tlw == this ) - makeCurrent = true ; - // or we have a situation where this is a App Level Menubar like MDI - else if ( tlw != NULL && tlw->GetMenuBar() == NULL && ((wxFrame*)wxTheApp->GetTopWindow()) == this ) - makeCurrent = true ; - - wxFrameBase::AttachMenuBar(menuBar); + if ( (tlf == this) || (m_frameMenuBar == wxMenuBar::MacGetInstalledMenuBar()) ) + makeCurrent = true; + // or there is an app-level menubar like MDI + else if ( tlf && (tlf->GetMenuBar() == NULL) && (((wxFrame*)wxTheApp->GetTopWindow()) == this) ) + makeCurrent = true; + + wxFrameBase::AttachMenuBar( menuBar ); if (m_frameMenuBar) { m_frameMenuBar->SetInvokingWindow( this ); if (makeCurrent) - m_frameMenuBar->MacInstallMenuBar() ; + m_frameMenuBar->MacInstallMenuBar(); } } @@ -325,7 +324,7 @@ void wxFrame::SetToolBar(wxToolBar *toolbar) { if ( m_frameToolBar == toolbar ) return ; - + #if wxMAC_USE_NATIVE_TOOLBAR if ( m_frameToolBar ) m_frameToolBar->MacInstallNativeToolbar( false ) ; @@ -383,5 +382,16 @@ void wxFrame::PositionToolBar() } } } + +void wxFrame::PositionBars() +{ +#if wxUSE_STATUSBAR + PositionStatusBar(); +#endif +#if wxUSE_TOOLBAR + PositionToolBar(); +#endif +} + #endif