// send wxUpdateUIEvents for all menu items in the menubar,
// or just for menu if non-NULL
- void DoMenuUpdates(wxMenu* menu = NULL);
+ virtual void DoMenuUpdates(wxMenu* menu = NULL);
#endif // wxUSE_MENUS
// do the UI update processing for this window
// MDI windows menu
wxMenu* GetWindowMenu() const { return m_windowMenu; };
void SetWindowMenu(wxMenu* menu) ;
-
+ virtual void DoMenuUpdates(wxMenu* menu = NULL);
+
// MDI operations
// --------------
virtual void Cascade();
}
}
+void wxMDIParentFrame::DoMenuUpdates(wxMenu* menu)
+{
+ wxMDIChildFrame *child = GetActiveChild();
+ if ( child )
+ {
+ wxEvtHandler* source = child->GetEventHandler();
+ wxMenuBar* bar = child->GetMenuBar();
+
+ if (menu)
+ {
+ menu->UpdateUI(source);
+ }
+ else
+ {
+ if ( bar != NULL )
+ {
+ int nCount = bar->GetMenuCount();
+ for (int n = 0; n < nCount; n++)
+ bar->GetMenu(n)->UpdateUI(source);
+ }
+ }
+ }
+ else
+ {
+ wxFrameBase::DoMenuUpdates(menu);
+ }
+}
+
void wxMDIParentFrame::OnSize(wxSizeEvent&)
{
if ( GetClientWindow() )