X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/105fbe1ffa8968cb85fd2cac7192957e522d17ba..4f61df823f1c16f7678be5a67f1fa4e29d90c5ff:/src/motif/menu.cpp diff --git a/src/motif/menu.cpp b/src/motif/menu.cpp index 00637cc3b8..6eae7b96dd 100644 --- a/src/motif/menu.cpp +++ b/src/motif/menu.cpp @@ -33,8 +33,6 @@ #ifdef __VMS__ #pragma message disable nosimpint -#define XtDisplay XTDISPLAY -#define XtWindow XTWINDOW #endif #include #include @@ -162,17 +160,14 @@ void wxMenu::SetTitle(const wxString& label) bool wxMenu::ProcessCommand(wxCommandEvent & event) { - bool processed = false; + // Try the menu's event handler first + wxEvtHandler * const handler = GetEventHandler(); + bool processed = handler ? handler->SafelyProcessEvent(event) : false; - // Try the menu's event handler - if ( !processed && GetEventHandler()) - { - processed = GetEventHandler()->ProcessEvent(event); - } // Try the window the menu was popped up from (and up // through the hierarchy) if ( !processed && GetInvokingWindow()) - processed = GetInvokingWindow()->ProcessEvent(event); + processed = GetInvokingWindow()->HandleWindowEvent(event); return processed; } @@ -221,7 +216,7 @@ void wxMenuBar::EnableTop(size_t WXUNUSED(pos), bool WXUNUSED(flag)) // wxLogWarning("wxMenuBar::EnableTop not yet implemented."); } -void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) +void wxMenuBar::SetMenuLabel(size_t pos, const wxString& label) { wxMenu *menu = GetMenu(pos); if ( !menu ) @@ -236,26 +231,14 @@ void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) XmNlabelString, label_str(), NULL); } + m_titles[pos] = label; } -wxString wxMenuBar::GetLabelTop(size_t pos) const +wxString wxMenuBar::GetMenuLabel(size_t pos) const { - wxMenu *menu = GetMenu(pos); - if ( menu ) - { - Widget w = (Widget)menu->GetButtonWidget(); - if (w) - { - XmString text; - XtVaGetValues(w, - XmNlabelString, &text, - NULL); - - return wxXmStringToString( text ); - } - } - - return wxEmptyString; + wxCHECK_MSG( pos < GetMenuCount(), wxEmptyString, + wxT("invalid menu index in wxMenuBar::GetMenuLabel") ); + return m_titles[pos]; } bool wxMenuBar::Append(wxMenu * menu, const wxString& title)