X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/092276a865b66caa5e1b5336dd96145701199e68..dcae64c221450a7ca9b530ecf44757543c33a754:/src/motif/menuitem.cpp diff --git a/src/motif/menuitem.cpp b/src/motif/menuitem.cpp index 6283b0bb93..c680eaeaad 100644 --- a/src/motif/menuitem.cpp +++ b/src/motif/menuitem.cpp @@ -13,14 +13,13 @@ // declarations // ============================================================================ -#ifdef __GNUG__ - #pragma implementation "menuitem.h" -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + #include "wx/defs.h" #include "wx/menu.h" @@ -89,18 +88,6 @@ wxMenuItem::~wxMenuItem() { } -// misc -// ---- - -// delete the sub menu -void wxMenuItem::DeleteSubMenu() -{ - wxASSERT( m_subMenu != NULL ); - - delete m_subMenu; - m_subMenu = NULL; -} - // change item state // ----------------- @@ -171,14 +158,15 @@ wxMenuItem *wxMenuItemBase::New(wxMenu *parentMenu, // Motif-specific // ---------------------------------------------------------------------------- -void wxMenuItem::CreateItem (WXWidget menu, wxMenuBar * menuBar, wxMenu * topMenu) +void wxMenuItem::CreateItem (WXWidget menu, wxMenuBar * menuBar, + wxMenu * topMenu, size_t index) { m_menuBar = menuBar; m_topMenu = topMenu; - if (GetId() == -2) + if (GetId() == -3) { - // Id=-2 identifies a Title item. + // Id=-3 identifies a Title item. m_buttonWidget = (WXWidget) XtVaCreateManagedWidget (wxStripMenuCodes(m_text), xmLabelGadgetClass, (Widget) menu, NULL); @@ -190,12 +178,18 @@ void wxMenuItem::CreateItem (WXWidget menu, wxMenuBar * menuBar, wxMenu * topMen { m_buttonWidget = (WXWidget) XtVaCreateManagedWidget (strName, xmToggleButtonGadgetClass, (Widget) menu, +#ifdef XmNpositionIndex + XmNpositionIndex, index, +#endif NULL); XtVaSetValues ((Widget) m_buttonWidget, XmNset, (Boolean) IsChecked(), NULL); } else m_buttonWidget = (WXWidget) XtVaCreateManagedWidget (strName, xmPushButtonGadgetClass, (Widget) menu, +#ifdef XmNpositionIndex + XmNpositionIndex, index, +#endif NULL); char mnem = wxFindMnemonic (m_text); if (mnem != 0) @@ -235,14 +229,18 @@ void wxMenuItem::CreateItem (WXWidget menu, wxMenuBar * menuBar, wxMenu * topMen (XtCallbackProc) wxMenuItemDisarmCallback, (XtPointer) this); } - else if (GetId() == -1) + else if (GetId() == wxID_SEPARATOR) { m_buttonWidget = (WXWidget) XtVaCreateManagedWidget ("separator", - xmSeparatorGadgetClass, (Widget) menu, NULL); + xmSeparatorGadgetClass, (Widget) menu, +#ifndef XmNpositionIndex + XmNpositionIndex, index, +#endif + NULL); } else if (m_subMenu) { - m_buttonWidget = m_subMenu->CreateMenu (menuBar, menu, topMenu, m_text, TRUE); + m_buttonWidget = m_subMenu->CreateMenu (menuBar, menu, topMenu, index, m_text, true); m_subMenu->SetButtonWidget(m_buttonWidget); XtAddCallback ((Widget) m_buttonWidget, XmNcascadingCallback, @@ -255,7 +253,7 @@ void wxMenuItem::CreateItem (WXWidget menu, wxMenuBar * menuBar, wxMenu * topMen void wxMenuItem::DestroyItem(bool full) { - if (GetId() == -2) + if (GetId() == -3) { ; // Nothing @@ -276,7 +274,7 @@ void wxMenuItem::DestroyItem(bool full) wxMenuItemDisarmCallback, (XtPointer) this); } } - else if (GetId() == -1) + else if (GetId() == wxID_SEPARATOR) { ; // Nothing @@ -343,7 +341,7 @@ void wxMenuItemCallback (Widget WXUNUSED(w), XtPointer clientData, if (item->IsCheckable()) { - Boolean isChecked = FALSE; + Boolean isChecked = false; XtVaGetValues ((Widget) item->GetButtonWidget(), XmNset, & isChecked, NULL);