]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/menuitem.cpp
fix for focus handling when deleting the items
[wxWidgets.git] / src / motif / menuitem.cpp
index 577cf2f7ab00f464dd945206d75c0d470c4be1f6..bb464edeaecfe88deecfcbd700c704511f56fb52 100644 (file)
 // 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 <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/CascadeBG.h>
@@ -35,6 +40,9 @@
 #include <Xm/ToggleB.h>
 #include <Xm/ToggleBG.h>
 #include <Xm/RowColumn.h>
+#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
 
 // ----------------------------------------------------------------------------
 // wxMenuItem
@@ -109,7 +115,7 @@ void wxMenuItem::DeleteSubMenu()
 
 void wxMenuItem::Enable(bool bDoEnable)
 {
-    if ( m_isChecked != bDoEnable )
+    if ( m_isEnabled != bDoEnable )
     {
         if ( !IsSubMenu() )
         {
@@ -150,7 +156,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,
+                                bool isCheckable,
+                                wxMenu *subMenu)
+{
+    return new wxMenuItem(parentMenu, id, name, help, isCheckable, subMenu);
+}
+
+// ----------------------------------------------------------------------------
+// Motif-specific
+// ----------------------------------------------------------------------------
 
 void wxMenuItem::CreateItem (WXWidget menu, wxMenuBar * menuBar, wxMenu * topMenu)
 {
@@ -292,7 +320,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);