X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9f486b326a82a56be29cf70ebc6c22201f1afcaf..fe98a088f70409697289fcff5067677fc6242793:/samples/menu/menu.cpp diff --git a/samples/menu/menu.cpp b/samples/menu/menu.cpp index 2c617aaba9..96f99913d0 100644 --- a/samples/menu/menu.cpp +++ b/samples/menu/menu.cpp @@ -41,7 +41,7 @@ // not all ports have support for EVT_CONTEXT_MENU yet, don't define // USE_CONTEXT_MENU for those which don't -#if defined(__WXMOTIF__) || defined(__WXPM__) +#if defined(__WXMOTIF__) || defined(__WXPM__) || defined(__WXX11__) || defined(__WXMGL__) #define USE_CONTEXT_MENU 0 #else #define USE_CONTEXT_MENU 1 @@ -125,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()); } @@ -439,6 +438,8 @@ MyFrame::MyFrame() menuMenu->AppendSeparator(); menuMenu->Append(Menu_Menu_GetInfo, _T("Get menu item in&fo\tAlt-F"), _T("Show the state of the last menu item")); + menuMenu->Append(Menu_Menu_SetLabel, _T("Set menu item label\tAlt-L"), + _T("Set the label of a menu item")); #if wxUSE_TEXTDLG menuMenu->AppendSeparator(); menuMenu->Append(Menu_Menu_FindItem, _T("Find menu item from label"), @@ -800,6 +801,7 @@ void MyFrame::OnSetLabelMenuItem(wxCommandEvent& WXUNUSED(event)) item->GetLabel(), this ); + label.Replace( _T("\\t"), _T("\t") ); if ( !label.empty() ) { @@ -1000,6 +1002,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