// 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>
#include <Xm/ToggleB.h>
#include <Xm/ToggleBG.h>
#include <Xm/RowColumn.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
#include "wx/motif/private.h"
// dynamic classes implementation
// ----------------------------------------------------------------------------
-#if !USE_SHARED_LIBRARY
- IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxObject)
-#endif //USE_SHARED_LIBRARY
+IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxObject)
// ----------------------------------------------------------------------------
// wxMenuItem
// 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;
void wxMenuItem::Enable(bool bDoEnable)
{
- if ( m_isChecked != bDoEnable )
+ if ( m_isEnabled != bDoEnable )
{
if ( !IsSubMenu() )
{
}
}
-//// 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)
{
{
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);