X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9874b4ee8308b8989c5df7db4f3559625299d0a4..f3ba93c1f025870aeda36082acecc87ab277ab7d:/src/motif/menuitem.cpp?ds=sidebyside diff --git a/src/motif/menuitem.cpp b/src/motif/menuitem.cpp index 577cf2f7ab..c0006a0433 100644 --- a/src/motif/menuitem.cpp +++ b/src/motif/menuitem.cpp @@ -21,11 +21,16 @@ // headers // ---------------------------------------------------------------------------- +#include "wx/defs.h" + #include "wx/menu.h" #include "wx/menuitem.h" #include "wx/utils.h" #include "wx/frame.h" +#ifdef __VMS__ +#pragma message disable nosimpint +#endif #include #include #include @@ -35,6 +40,9 @@ #include #include #include +#ifdef __VMS__ +#pragma message enable nosimpint +#endif #include "wx/motif/private.h" @@ -54,9 +62,7 @@ static void wxMenuItemDisarmCallback(Widget w, XtPointer clientData, XtPointer p // dynamic classes implementation // ---------------------------------------------------------------------------- -#if !USE_SHARED_LIBRARY - IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxObject) -#endif //USE_SHARED_LIBRARY +IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxObject) // ---------------------------------------------------------------------------- // wxMenuItem @@ -65,23 +71,14 @@ static void wxMenuItemDisarmCallback(Widget w, XtPointer clientData, XtPointer p // ctor & dtor // ----------- -wxMenuItem::wxMenuItem(wxMenu *pParentMenu, int id, - const wxString& strName, const wxString& strHelp, - bool bCheckable, +wxMenuItem::wxMenuItem(wxMenu *pParentMenu, + int id, + const wxString& strName, + const wxString& strHelp, + wxItemKind kind, wxMenu *pSubMenu) + : wxMenuItemBase(pParentMenu, id, strName, strHelp, kind, pSubMenu) { - wxASSERT_MSG( pParentMenu != NULL, wxT("menuitem should have a menu") ); - - // common init - m_parentMenu = pParentMenu; - m_subMenu = pSubMenu; - m_id = id; - m_isEnabled = TRUE; - m_isChecked = FALSE; - m_help = strHelp; - m_isCheckable = bCheckable; - m_text = strName; - // Motif-specific m_menuBar = NULL; m_buttonWidget = (WXWidget) NULL; @@ -109,7 +106,7 @@ void wxMenuItem::DeleteSubMenu() void wxMenuItem::Enable(bool bDoEnable) { - if ( m_isChecked != bDoEnable ) + if ( m_isEnabled != bDoEnable ) { if ( !IsSubMenu() ) { @@ -150,7 +147,29 @@ void wxMenuItem::Check(bool bDoCheck) } } -//// Motif-specific +/* static */ +wxString wxMenuItemBase::GetLabelFromText(const wxString& text) +{ + return wxStripMenuCodes(text); +} + +// ---------------------------------------------------------------------------- +// wxMenuItemBase +// ---------------------------------------------------------------------------- + +wxMenuItem *wxMenuItemBase::New(wxMenu *parentMenu, + int id, + const wxString& name, + const wxString& help, + wxItemKind kind, + wxMenu *subMenu) +{ + return new wxMenuItem(parentMenu, id, name, help, kind, subMenu); +} + +// ---------------------------------------------------------------------------- +// Motif-specific +// ---------------------------------------------------------------------------- void wxMenuItem::CreateItem (WXWidget menu, wxMenuBar * menuBar, wxMenu * topMenu) { @@ -292,7 +311,7 @@ void wxMenuItem::SetText(const wxString& label) { wxXmString label_str(label2); XtVaSetValues ((Widget) m_buttonWidget, - XmNlabelString, label_str, + XmNlabelString, label_str(), NULL); if (mnem != 0) XtVaSetValues ((Widget) m_buttonWidget, XmNmnemonic, mnem, NULL);