// data
//-----------------------------------------------------------------------------
-extern wxList wxTopLevelWindows;
extern wxList wxPendingDelete;
//-----------------------------------------------------------------------------
static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
{
menu->SetInvokingWindow( win );
- wxNode *node = menu->m_items.First();
+ wxNode *node = menu->GetItems().First();
while (node)
{
wxMenuItem *menuitem = (wxMenuItem*)node->Data();
if (m_frameMenuBar)
{
- wxNode *node = m_frameMenuBar->m_menus.First();
+ wxNode *node = m_frameMenuBar->GetMenus().First();
while (node)
{
wxMenu *menu = (wxMenu*)node->Data();
m_frameMenuBar->m_widget, m_frameMenuBar->m_x, m_frameMenuBar->m_y );
/* an mdi child menu bar might be underneath */
- if (m_mdiMenuBar) m_frameMenuBar->Show( FALSE );
+ if (m_mdiMenuBar)
+ m_frameMenuBar->Show( FALSE );
}
}
return statusBar;
}
+void wxFrame::Command( int id )
+{
+ wxCommandEvent commandEvent(wxEVT_COMMAND_MENU_SELECTED, id);
+ commandEvent.SetInt( id );
+ commandEvent.SetEventObject( this );
+
+ wxMenuBar *bar = GetMenuBar();
+ if (!bar) return;
+
+ wxMenuItem *item = bar->FindItemForId(id) ;
+ if (item && item->IsCheckable())
+ {
+ bar->Check(id,!bar->Checked(id)) ;
+ }
+
+ wxEvtHandler* evtHandler = GetEventHandler();
+
+ evtHandler->ProcessEvent(commandEvent);
+}
+
void wxFrame::SetStatusText(const wxString& text, int number)
{
wxASSERT_MSG( (m_widget != NULL), "invalid frame" );