X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f428e6c50f749df492da3d4667c0d457c7863e75..93c2f401e9955dc37df1f8dbfea7881c676b8ddb:/src/common/framecmn.cpp?ds=sidebyside diff --git a/src/common/framecmn.cpp b/src/common/framecmn.cpp index eadab8e700..bdd5dc26d1 100644 --- a/src/common/framecmn.cpp +++ b/src/common/framecmn.cpp @@ -218,7 +218,7 @@ bool wxFrameBase::ProcessCommand(int id) void wxFrameBase::UpdateWindowUI(long flags) { wxWindowBase::UpdateWindowUI(flags); - + #if wxUSE_TOOLBAR if (GetToolBar()) GetToolBar()->UpdateWindowUI(flags); @@ -286,7 +286,7 @@ void wxFrameBase::OnMenuClose(wxMenuEvent& WXUNUSED(event)) void wxFrameBase::OnInternalIdle() { wxTopLevelWindow::OnInternalIdle(); - + #if wxUSE_MENUS && wxUSE_IDLEMENUUPDATES if (wxUpdateUIEvent::CanUpdate(this)) DoMenuUpdates(); @@ -309,9 +309,7 @@ wxStatusBar* wxFrameBase::CreateStatusBar(int number, wxCHECK_MSG( !m_frameStatusBar, (wxStatusBar *)NULL, wxT("recreating status bar in wxFrame") ); - m_frameStatusBar = OnCreateStatusBar( number, style, id, name ); - if ( m_frameStatusBar ) - PositionStatusBar(); + SetStatusBar(OnCreateStatusBar(number, style, id, name)); return m_frameStatusBar; } @@ -386,6 +384,19 @@ bool wxFrameBase::ShowMenuHelp(wxStatusBar *WXUNUSED(statbar), int menuId) #endif // wxUSE_MENUS/!wxUSE_MENUS } +void wxFrameBase::SetStatusBar(wxStatusBar *statBar) +{ + bool hadBar = m_frameStatusBar != NULL; + m_frameStatusBar = statBar; + + if ( (m_frameStatusBar != NULL) != hadBar ) + { + PositionStatusBar(); + + DoLayout(); + } +} + #endif // wxUSE_STATUSBAR void wxFrameBase::DoGiveHelp(const wxString& text, bool show) @@ -460,7 +471,7 @@ wxToolBar* wxFrameBase::CreateToolBar(long style, style = wxBORDER_NONE | wxTB_HORIZONTAL | wxTB_FLAT; } - m_frameToolBar = OnCreateToolBar(style, id, name); + SetToolBar(OnCreateToolBar(style, id, name)); return m_frameToolBar; } @@ -474,6 +485,19 @@ wxToolBar* wxFrameBase::OnCreateToolBar(long style, style, name); } +void wxFrameBase::SetToolBar(wxToolBar *toolbar) +{ + bool hadBar = m_frameToolBar != NULL; + m_frameToolBar = toolbar; + + if ( (m_frameToolBar != NULL) != hadBar ) + { + PositionToolBar(); + + DoLayout(); + } +} + #endif // wxUSE_TOOLBAR // ----------------------------------------------------------------------------