Some tests in the "Menu" menu of the menu sample worked with the "Test" menu
while others used the last one ("Help" initially but possibly something else
if the test commands from "Menubar" menu were used).
Harmonize all menu commands to use the "Test" menu now.
See #12668.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66138
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
wxMenu *menuMenu = new wxMenu;
menuMenu->Append(Menu_Menu_Append, wxT("&Append menu item\tAlt-A"),
wxMenu *menuMenu = new wxMenu;
menuMenu->Append(Menu_Menu_Append, wxT("&Append menu item\tAlt-A"),
- wxT("Append a menu item to the last menu"));
+ wxT("Append a menu item to the 'Test' menu"));
menuMenu->Append(Menu_Menu_AppendSub, wxT("&Append sub menu\tAlt-S"),
menuMenu->Append(Menu_Menu_AppendSub, wxT("&Append sub menu\tAlt-S"),
- wxT("Append a sub menu to the last menu"));
+ wxT("Append a sub menu to the 'Test' menu"));
menuMenu->Append(Menu_Menu_Insert, wxT("&Insert menu item\tAlt-I"),
menuMenu->Append(Menu_Menu_Insert, wxT("&Insert menu item\tAlt-I"),
- wxT("Insert a menu item in head of the last menu"));
+ wxT("Insert a menu item in head of the 'Test' menu"));
menuMenu->Append(Menu_Menu_Delete, wxT("&Delete menu item\tAlt-D"),
menuMenu->Append(Menu_Menu_Delete, wxT("&Delete menu item\tAlt-D"),
- wxT("Delete the last menu item from the last menu"));
+ wxT("Delete the last menu item from the 'Test' menu"));
menuMenu->Append(Menu_Menu_DeleteSub, wxT("Delete last &submenu\tAlt-K"),
menuMenu->Append(Menu_Menu_DeleteSub, wxT("Delete last &submenu\tAlt-K"),
- wxT("Delete the last submenu from the last menu"));
+ wxT("Delete the last submenu from the 'Test' menu"));
menuMenu->AppendSeparator();
menuMenu->Append(Menu_Menu_Enable, wxT("&Enable menu item\tAlt-E"),
wxT("Enable or disable the last menu item"), true);
menuMenu->AppendSeparator();
menuMenu->Append(Menu_Menu_Enable, wxT("&Enable menu item\tAlt-E"),
wxT("Enable or disable the last menu item"), true);
m_logOld = wxLog::SetActiveTarget(new wxLogTextCtrl(m_textctrl));
wxLogMessage(wxT("Brief explanations: the commands in the \"Menu\" menu ")
m_logOld = wxLog::SetActiveTarget(new wxLogTextCtrl(m_textctrl));
wxLogMessage(wxT("Brief explanations: the commands in the \"Menu\" menu ")
- wxT("append/insert/delete items to/from the last menu.\n")
+ wxT("append/insert/delete items to/from the \"Test\" menu.\n")
wxT("The commands in the \"Menubar\" menu work with the ")
wxT("menubar itself.\n\n")
wxT("Right click the band below to test popup menus.\n"));
wxT("The commands in the \"Menubar\" menu work with the ")
wxT("menubar itself.\n\n")
wxT("Right click the band below to test popup menus.\n"));
wxMenuItem *MyFrame::GetLastMenuItem() const
{
wxMenuBar *menubar = GetMenuBar();
wxMenuItem *MyFrame::GetLastMenuItem() const
{
wxMenuBar *menubar = GetMenuBar();
- wxMenu *menu = menubar->GetMenu(menubar->GetMenuCount() - 1);
+ wxMenu *menu = menubar->GetMenu(menubar->FindMenu("Test"));
+ wxCHECK_MSG( menu, NULL, wxT("no 'Test' menu?") );
wxMenuItemList::compatibility_iterator node = menu->GetMenuItems().GetLast();
if ( !node )
{
wxMenuItemList::compatibility_iterator node = menu->GetMenuItems().GetLast();
if ( !node )
{
- wxLogWarning(wxT("No last item in the last menu!"));
+ wxLogWarning(wxT("No last item in the 'Test' menu!"));
wxMenuBar *mbar = GetMenuBar();
size_t count = mbar->GetMenuCount();
wxMenuBar *mbar = GetMenuBar();
size_t count = mbar->GetMenuCount();
- // don't let delete the first 2 menus
+ // don't let delete the first 4 menus
wxLogError(wxT("Can't delete any more menus"));
}
else
wxLogError(wxT("Can't delete any more menus"));
}
else
{
wxString title;
wxMenu *menu = CreateDummyMenu(&title);
{
wxString title;
wxMenu *menu = CreateDummyMenu(&title);
- GetMenuBar()->Insert(0, menu, title);
+ // Insert before the 'Help' menu
+ // Othewise repeated Deletes will remove the 'Test' menu
+ GetMenuBar()->Insert(4, menu, title);
}
void MyFrame::OnAppendMenu(wxCommandEvent& WXUNUSED(event))
}
void MyFrame::OnAppendMenu(wxCommandEvent& WXUNUSED(event))
void MyFrame::OnAppendMenuItem(wxCommandEvent& WXUNUSED(event))
{
wxMenuBar *menubar = GetMenuBar();
void MyFrame::OnAppendMenuItem(wxCommandEvent& WXUNUSED(event))
{
wxMenuBar *menubar = GetMenuBar();
- wxMenu *menu = menubar->GetMenu(menubar->GetMenuCount() - 1);
+ wxMenu *menu = menubar->GetMenu(menubar->FindMenu("Test"));
+ wxCHECK_RET( menu, wxT("no 'Test' menu?") );
menu->AppendSeparator();
menu->Append(Menu_Dummy_Third, wxT("&Third dummy item\tCtrl-F3"),
menu->AppendSeparator();
menu->Append(Menu_Dummy_Third, wxT("&Third dummy item\tCtrl-F3"),
void MyFrame::OnAppendSubMenu(wxCommandEvent& WXUNUSED(event))
{
wxMenuBar *menubar = GetMenuBar();
void MyFrame::OnAppendSubMenu(wxCommandEvent& WXUNUSED(event))
{
wxMenuBar *menubar = GetMenuBar();
-
- wxMenu *menu = menubar->GetMenu(menubar->GetMenuCount() - 2);
+ wxMenu *menu = menubar->GetMenu(menubar->FindMenu("Test"));
+ wxCHECK_RET( menu, wxT("no 'Test' menu?") );
menu->Append(Menu_Dummy_Last, wxT("&Dummy sub menu"),
CreateDummyMenu(NULL), wxT("Dummy sub menu help"));
menu->Append(Menu_Dummy_Last, wxT("&Dummy sub menu"),
CreateDummyMenu(NULL), wxT("Dummy sub menu help"));
void MyFrame::OnDeleteMenuItem(wxCommandEvent& WXUNUSED(event))
{
wxMenuBar *menubar = GetMenuBar();
void MyFrame::OnDeleteMenuItem(wxCommandEvent& WXUNUSED(event))
{
wxMenuBar *menubar = GetMenuBar();
- wxMenu *menu = menubar->GetMenu(menubar->GetMenuCount() - 1);
+ wxMenu *menu = menubar->GetMenu(menubar->FindMenu("Test"));
+ wxCHECK_RET( menu, wxT("no 'Test' menu?") );
size_t count = menu->GetMenuItemCount();
if ( !count )
size_t count = menu->GetMenuItemCount();
if ( !count )
void MyFrame::OnDeleteSubMenu(wxCommandEvent& WXUNUSED(event))
{
wxMenuBar *menubar = GetMenuBar();
void MyFrame::OnDeleteSubMenu(wxCommandEvent& WXUNUSED(event))
{
wxMenuBar *menubar = GetMenuBar();
- wxMenu *menu = menubar->GetMenu(menubar->GetMenuCount() - 2);
+ wxMenu *menu = menubar->GetMenu(menubar->FindMenu("Test"));
+ wxCHECK_RET( menu, wxT("no 'Test' menu?") );
for ( int n = menu->GetMenuItemCount() - 1; n >=0 ; --n )
{
for ( int n = menu->GetMenuItemCount() - 1; n >=0 ; --n )
{
void MyFrame::OnInsertMenuItem(wxCommandEvent& WXUNUSED(event))
{
wxMenuBar *menubar = GetMenuBar();
void MyFrame::OnInsertMenuItem(wxCommandEvent& WXUNUSED(event))
{
wxMenuBar *menubar = GetMenuBar();
- wxMenu *menu = menubar->GetMenu(menubar->GetMenuCount() - 1);
+ wxMenu *menu = menubar->GetMenu(menubar->FindMenu("Test"));
+ wxCHECK_RET( menu, wxT("no 'Test' menu?") );
menu->Insert(0, wxMenuItem::New(menu, Menu_Dummy_Fourth,
wxT("Fourth dummy item\tCtrl-F4")));
menu->Insert(0, wxMenuItem::New(menu, Menu_Dummy_Fourth,
wxT("Fourth dummy item\tCtrl-F4")));
{
wxMenuItem *item = GetLastMenuItem();
{
wxMenuItem *item = GetLastMenuItem();
+ if (item && item->IsCheckable())
+ {
void MyFrame::OnUpdateCheckMenuItemUI(wxUpdateUIEvent& event)
{
void MyFrame::OnUpdateCheckMenuItemUI(wxUpdateUIEvent& event)
{