X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/63fec618dcf7313de03a6912b9e0d3f5c5c6535a..8a729bb860cec596f4ce5a59fabeb4404a266e97:/src/common/framecmn.cpp?ds=inline diff --git a/src/common/framecmn.cpp b/src/common/framecmn.cpp index 59e2c3c868..af39670bd7 100644 --- a/src/common/framecmn.cpp +++ b/src/common/framecmn.cpp @@ -3,41 +3,55 @@ // Purpose: common (for all platforms) wxFrame functions // Author: Julian Smart, Vadim Zeitlin // Created: 01/02/97 -// Id: +// Id: $Id$ // Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -void wxFrame::OnIdle(wxIdleEvent& event) +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#include "wx/frame.h" +#include "wx/menu.h" +#include "wx/menuitem.h" + +void wxFrame::OnIdle(wxIdleEvent& WXUNUSED(event) ) { - DoMenuUpdates(); + DoMenuUpdates(); } // update all menus void wxFrame::DoMenuUpdates() { - wxMenuBar* bar = GetMenuBar(); - if ( bar != NULL ) { - int nCount = bar->GetMenuCount(); - for (int n = 0; n < nCount; n++) - DoMenuUpdates(bar->GetMenu(n)); - } + wxMenuBar* bar = GetMenuBar(); + + if ( bar != NULL ) + { + int nCount = bar->GetMenuCount(); + for (int n = 0; n < nCount; n++) + DoMenuUpdates(bar->GetMenu(n), (wxWindow*) NULL); + } } // update a menu and all submenus recursively -void wxFrame::DoMenuUpdates(wxMenu* menu) +void wxFrame::DoMenuUpdates(wxMenu* menu, wxWindow* WXUNUSED(focusWin)) { - wxNode* node = menu->GetItems().First(); + wxEvtHandler* evtHandler = GetEventHandler(); + wxMenuItemList::Node* node = menu->GetMenuItems().GetFirst(); while (node) { - wxMenuItem* item = (wxMenuItem*) node->Data(); + wxMenuItem* item = node->GetData(); if ( !item->IsSeparator() ) { wxWindowID id = item->GetId(); wxUpdateUIEvent event(id); event.SetEventObject( this ); - if (GetEventHandler()->ProcessEvent(event)) + if (evtHandler->ProcessEvent(event)) { if (event.GetSetText()) menu->SetLabel(id, event.GetText()); @@ -48,8 +62,8 @@ void wxFrame::DoMenuUpdates(wxMenu* menu) } if (item->GetSubMenu()) - DoMenuUpdates(item->GetSubMenu()); + DoMenuUpdates(item->GetSubMenu(), (wxWindow*) NULL); } - node = node->Next(); + node = node->GetNext(); } }