Show events from wxSearchCtrl menu in the widgets sample

Verify that we get the expected events from the menu items.
This commit is contained in:
Vadim Zeitlin
2021-04-04 13:48:37 +02:00
parent 9f1dc5ffff
commit 7112582f18

View File

@@ -53,7 +53,8 @@ enum
ID_CANCEL_CB, ID_CANCEL_CB,
ID_MENU_CB, ID_MENU_CB,
ID_SEARCHMENU ID_SEARCHMENU,
ID_SEARCHMENU_LAST = ID_SEARCHMENU + 5
}; };
@@ -82,6 +83,8 @@ protected:
void OnText(wxCommandEvent& event); void OnText(wxCommandEvent& event);
void OnTextEnter(wxCommandEvent& event); void OnTextEnter(wxCommandEvent& event);
void OnSearchMenu(wxCommandEvent& event);
void OnSearch(wxCommandEvent& event); void OnSearch(wxCommandEvent& event);
void OnSearchCancel(wxCommandEvent& event); void OnSearchCancel(wxCommandEvent& event);
@@ -113,6 +116,9 @@ wxBEGIN_EVENT_TABLE(SearchCtrlWidgetsPage, WidgetsPage)
EVT_TEXT(wxID_ANY, SearchCtrlWidgetsPage::OnText) EVT_TEXT(wxID_ANY, SearchCtrlWidgetsPage::OnText)
EVT_TEXT_ENTER(wxID_ANY, SearchCtrlWidgetsPage::OnTextEnter) EVT_TEXT_ENTER(wxID_ANY, SearchCtrlWidgetsPage::OnTextEnter)
EVT_MENU_RANGE(ID_SEARCHMENU, ID_SEARCHMENU_LAST,
SearchCtrlWidgetsPage::OnSearchMenu)
EVT_SEARCH(wxID_ANY, SearchCtrlWidgetsPage::OnSearch) EVT_SEARCH(wxID_ANY, SearchCtrlWidgetsPage::OnSearch)
EVT_SEARCH_CANCEL(wxID_ANY, SearchCtrlWidgetsPage::OnSearchCancel) EVT_SEARCH_CANCEL(wxID_ANY, SearchCtrlWidgetsPage::OnSearchCancel)
wxEND_EVENT_TABLE() wxEND_EVENT_TABLE()
@@ -187,10 +193,9 @@ void SearchCtrlWidgetsPage::RecreateWidget()
wxMenu* SearchCtrlWidgetsPage::CreateTestMenu() wxMenu* SearchCtrlWidgetsPage::CreateTestMenu()
{ {
wxMenu* menu = new wxMenu; wxMenu* menu = new wxMenu;
const int SEARCH_MENU_SIZE = 5;
wxMenuItem* menuItem = menu->Append(wxID_ANY, "Recent Searches", "", wxITEM_NORMAL); wxMenuItem* menuItem = menu->Append(wxID_ANY, "Recent Searches", "", wxITEM_NORMAL);
menuItem->Enable(false); menuItem->Enable(false);
for ( int i = 0; i < SEARCH_MENU_SIZE; i++ ) for ( int i = 0; i < ID_SEARCHMENU_LAST - ID_SEARCHMENU; i++ )
{ {
wxString itemText = wxString::Format("item %i",i); wxString itemText = wxString::Format("item %i",i);
wxString tipText = wxString::Format("tip %i",i); wxString tipText = wxString::Format("tip %i",i);
@@ -235,6 +240,12 @@ void SearchCtrlWidgetsPage::OnTextEnter(wxCommandEvent& event)
event.GetString()); event.GetString());
} }
void SearchCtrlWidgetsPage::OnSearchMenu(wxCommandEvent& event)
{
int id = event.GetId() - ID_SEARCHMENU;
wxLogMessage("Search menu: \"item %i\" selected (%s).", id);
}
void SearchCtrlWidgetsPage::OnSearch(wxCommandEvent& event) void SearchCtrlWidgetsPage::OnSearch(wxCommandEvent& event)
{ {
wxLogMessage("Search button: search for \"%s\".", event.GetString()); wxLogMessage("Search button: search for \"%s\".", event.GetString());