X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/26c36d7505555ffb4b103780cba263693e0f2af9..b39fc8d7b1b853cb15f39d51617214b7b90a8872:/src/common/framecmn.cpp diff --git a/src/common/framecmn.cpp b/src/common/framecmn.cpp index ae37a7fbd8..218239b815 100644 --- a/src/common/framecmn.cpp +++ b/src/common/framecmn.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: common/framecmn.cpp +// Name: src/common/framecmn.cpp // Purpose: common (for all platforms) wxFrame functions // Author: Julian Smart, Vadim Zeitlin // Created: 01/02/97 @@ -16,10 +16,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "framebase.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -27,19 +23,15 @@ #pragma hdrstop #endif +#include "wx/frame.h" + #ifndef WX_PRECOMP - #include "wx/frame.h" #include "wx/menu.h" #include "wx/menuitem.h" #include "wx/dcclient.h" -#endif // WX_PRECOMP - -#if wxUSE_TOOLBAR #include "wx/toolbar.h" -#endif -#if wxUSE_STATUSBAR #include "wx/statusbr.h" -#endif +#endif // WX_PRECOMP // ---------------------------------------------------------------------------- // event table @@ -373,9 +365,7 @@ bool wxFrameBase::ShowMenuHelp(wxStatusBar *WXUNUSED(statbar), int menuId) #if wxUSE_MENUS // if no help string found, we will clear the status bar text wxString helpString; - bool show = menuId != wxID_SEPARATOR && menuId != -2 /* wxID_TITLE */; - - if ( show ) + if ( menuId != wxID_SEPARATOR && menuId != -3 /* wxID_TITLE */ ) { wxMenuBar *menuBar = GetMenuBar(); if ( menuBar ) @@ -388,7 +378,7 @@ bool wxFrameBase::ShowMenuHelp(wxStatusBar *WXUNUSED(statbar), int menuId) } } - DoGiveHelp(helpString, show); + DoGiveHelp(helpString); return !helpString.empty(); #else // !wxUSE_MENUS @@ -411,7 +401,8 @@ void wxFrameBase::SetStatusBar(wxStatusBar *statBar) #endif // wxUSE_STATUSBAR -void wxFrameBase::DoGiveHelp(const wxString& text, bool show) +#if wxUSE_MENUS || wxUSE_TOOLBAR +void wxFrameBase::DoGiveHelp(const wxString& help) { #if wxUSE_STATUSBAR if ( m_statusBarPane < 0 ) @@ -424,20 +415,17 @@ void wxFrameBase::DoGiveHelp(const wxString& text, bool show) if ( !statbar ) return; - wxString help; - if ( show ) - help = text; - - // remember the old status bar text if this is the first time we're called - // since the menu has been opened as we're going to overwrite it in our - // DoGiveHelp() and we want to restore it when the menu is closed + // remember the old status bar text if this is the first time we're + // called since the menu has been opened as we're going to overwrite it + // in our DoGiveHelp() and we want to restore it when the menu is + // closed // - // note that it would be logical to do this in OnMenuOpen() but under MSW - // we get an EVT_MENU_HIGHLIGHT before EVT_MENU_OPEN, strangely enough, and - // so this doesn't work and instead we use the ugly trick with using - // special m_oldStatusText value as "menu opened" (but it is arguably - // better than adding yet another member variable to wxFrame on all - // platforms) + // note that it would be logical to do this in OnMenuOpen() but under + // MSW we get an EVT_MENU_HIGHLIGHT before EVT_MENU_OPEN, strangely + // enough, and so this doesn't work and instead we use the ugly trick + // with using special m_oldStatusText value as "menu opened" (but it is + // arguably better than adding yet another member variable to wxFrame + // on all platforms) if ( m_oldStatusText.empty() ) { m_oldStatusText = statbar->GetStatusText(m_statusBarPane); @@ -454,6 +442,7 @@ void wxFrameBase::DoGiveHelp(const wxString& text, bool show) wxUnusedVar(show); #endif // wxUSE_STATUSBAR } +#endif // wxUSE_MENUS || wxUSE_TOOLBAR // ---------------------------------------------------------------------------- @@ -466,7 +455,7 @@ wxToolBar* wxFrameBase::CreateToolBar(long style, wxWindowID id, const wxString& name) { - // the main toolbar can't be recreated (unless it was explicitly deeleted + // the main toolbar can't be recreated (unless it was explicitly deleted // before) wxCHECK_MSG( !m_frameToolBar, (wxToolBar *)NULL, wxT("recreating toolbar in wxFrame") ); @@ -527,16 +516,16 @@ void wxFrameBase::SetToolBar(wxToolBar *toolbar) // update all menus void wxFrameBase::DoMenuUpdates(wxMenu* menu) { - wxEvtHandler* source = GetEventHandler(); - wxMenuBar* bar = GetMenuBar(); - if (menu) + { + wxEvtHandler* source = GetEventHandler(); menu->UpdateUI(source); - else if ( bar != NULL ) + } + else { - int nCount = bar->GetMenuCount(); - for (int n = 0; n < nCount; n++) - bar->GetMenu(n)->UpdateUI(source); + wxMenuBar* bar = GetMenuBar(); + if (bar != NULL) + bar->UpdateMenus(); } } @@ -572,12 +561,3 @@ void wxFrameBase::SetMenuBar(wxMenuBar *menubar) } #endif // wxUSE_MENUS - -#if WXWIN_COMPATIBILITY_2_2 - -bool wxFrameBase::Command(int winid) -{ - return ProcessCommand(winid); -} - -#endif // WXWIN_COMPATIBILITY_2_2