X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1242c2d976eae340f4eb9a099e6eed38c9cf6a31..4301e38a459edc366aba62fbbaf8f7b4ed8effb6:/samples/menu/menu.cpp diff --git a/samples/menu/menu.cpp b/samples/menu/menu.cpp index 16a3b1913d..e8e5bd4eb1 100644 --- a/samples/menu/menu.cpp +++ b/samples/menu/menu.cpp @@ -55,7 +55,9 @@ #define USE_LOG_WINDOW 0 #endif +#if wxUSE_OWNER_DRAWN #include "copy.xpm" +#endif // ---------------------------------------------------------------------------- // classes @@ -123,8 +125,7 @@ protected: void OnUpdateSubMenuRadio(wxUpdateUIEvent& event); #if USE_CONTEXT_MENU - void OnContextMenu(wxContextMenuEvent& event) - { ShowContextMenu(ScreenToClient(event.GetPosition())); } + void OnContextMenu(wxContextMenuEvent& event); #else void OnRightUp(wxMouseEvent& event) { ShowContextMenu(event.GetPosition()); } @@ -347,7 +348,7 @@ bool MyApp::OnInit() frame->Show(true); #if wxUSE_STATUSBAR - frame->SetStatusText(_T("Welcome to wxWindows menu sample")); + frame->SetStatusText(_T("Welcome to wxWidgets menu sample")); #endif // wxUSE_STATUSBAR SetTopWindow(frame); @@ -361,7 +362,7 @@ bool MyApp::OnInit() // Define my frame constructor MyFrame::MyFrame() - : wxFrame((wxFrame *)NULL, wxID_ANY, _T("wxWindows menu sample")) + : wxFrame((wxFrame *)NULL, wxID_ANY, _T("wxWidgets menu sample")) { #if USE_LOG_WINDOW m_textctrl = NULL; @@ -414,9 +415,9 @@ MyFrame::MyFrame() wxMenu* subMenu = new wxMenu; subMenu->Append(Menu_SubMenu_Normal, _T("&Normal submenu item"), _T("Disabled submenu item")); subMenu->AppendCheckItem(Menu_SubMenu_Check, _T("&Unchecked submenu item"), _T("Unchecked submenu item")); - subMenu->AppendRadioItem(Menu_SubMenu_Radio1, _T("&Radio item 1"), _T("Radio item")); - subMenu->AppendRadioItem(Menu_SubMenu_Radio2, _T("&Radio item 2"), _T("Radio item")); - subMenu->AppendRadioItem(Menu_SubMenu_Radio3, _T("&Radio item 3"), _T("Radio item")); + subMenu->AppendRadioItem(Menu_SubMenu_Radio1, _T("Radio item &1"), _T("Radio item")); + subMenu->AppendRadioItem(Menu_SubMenu_Radio2, _T("Radio item &2"), _T("Radio item")); + subMenu->AppendRadioItem(Menu_SubMenu_Radio3, _T("Radio item &3"), _T("Radio item")); menubarMenu->Append(Menu_SubMenu, _T("Submenu"), subMenu); @@ -511,7 +512,7 @@ wxMenu *MyFrame::CreateDummyMenu(wxString *title) wxMenu *menu = new wxMenu; menu->Append(Menu_Dummy_First, _T("&First item\tCtrl-F1")); menu->AppendSeparator(); - menu->Append(Menu_Dummy_Second, _T("&Second item\tCtrl-F2"), _T(""), true); + menu->AppendCheckItem(Menu_Dummy_Second, _T("&Second item\tCtrl-F2")); if ( title ) { @@ -573,8 +574,8 @@ void MyFrame::OnClearLog(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { - (void)wxMessageBox(_T("wxWindows menu sample\n© 1999-2001 Vadim Zeitlin"), - _T("About wxWindows menu sample"), + (void)wxMessageBox(_T("wxWidgets menu sample\n(c) 1999-2001 Vadim Zeitlin"), + _T("About wxWidgets menu sample"), wxICON_INFORMATION); } @@ -927,7 +928,7 @@ void MyFrame::ShowContextMenu(const wxPoint& pos) menu.Append(Menu_Help_About, _T("&About")); menu.Append(Menu_Popup_Submenu, _T("&Submenu"), CreateDummyMenu(NULL)); menu.Append(Menu_Popup_ToBeDeleted, _T("To be &deleted")); - menu.Append(Menu_Popup_ToBeChecked, _T("To be &checked"), _T(""), true); + menu.AppendCheckItem(Menu_Popup_ToBeChecked, _T("To be &checked")); menu.Append(Menu_Popup_ToBeGreyed, _T("To be &greyed"), _T("This menu item should be initially greyed out")); menu.AppendSeparator(); @@ -998,6 +999,22 @@ void MyFrame::OnUpdateSubMenuRadio(wxUpdateUIEvent& event) event.Check(false); } +#if USE_CONTEXT_MENU +void MyFrame::OnContextMenu(wxContextMenuEvent& event) +{ + wxPoint point = event.GetPosition(); + // If from keyboard + if (point.x == -1 && point.y == -1) { + wxSize size = GetSize(); + point.x = size.x / 2; + point.y = size.y / 2; + } else { + point = ScreenToClient(point); + } + ShowContextMenu(point); +} +#endif + void MyFrame::OnSize(wxSizeEvent& WXUNUSED(event)) { #if USE_LOG_WINDOW