X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af0bb3b161bc687d4a53a83c930c807bfa300a2d..418d4918a23299c13c9d8236dbeaccedf663a68d:/src/motif/radiobox.cpp diff --git a/src/motif/radiobox.cpp b/src/motif/radiobox.cpp index ea9ef07f6b..82baee26db 100644 --- a/src/motif/radiobox.cpp +++ b/src/motif/radiobox.cpp @@ -13,9 +13,18 @@ #pragma implementation "radiobox.h" #endif +#ifdef __VMS +#define XtDisplay XTDISPLAY +#endif + +#include "wx/defs.h" + #include "wx/radiobox.h" #include "wx/utils.h" +#ifdef __VMS__ +#pragma message disable nosimpint +#endif #include #include #include @@ -23,15 +32,16 @@ #include #include #include +#ifdef __VMS__ +#pragma message enable nosimpint +#endif -#include +#include "wx/motif/private.h" void wxRadioBoxCallback (Widget w, XtPointer clientData, XmToggleButtonCallbackStruct * cbs); -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl) -#endif // Radio box item wxRadioBox::wxRadioBox() @@ -63,7 +73,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title, m_radioButtonLabels = (wxString*) NULL; m_backgroundColour = parent->GetBackgroundColour(); m_foregroundColour = parent->GetForegroundColour(); - m_windowFont = parent->GetFont(); + m_font = parent->GetFont(); SetName(name); SetValidator(val); @@ -88,9 +98,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title, wxString label1(wxStripMenuCodes(title)); - XmString text = XmStringCreateSimple ((char*) (const char*) label1); - - Widget formWidget = XtVaCreateManagedWidget ((char*) (const char*) name, + Widget formWidget = XtVaCreateManagedWidget (name.c_str(), xmFormWidgetClass, parentWidget, XmNmarginHeight, 0, XmNmarginWidth, 0, @@ -98,23 +106,21 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title, m_formWidget = (WXWidget) formWidget; - XmFontList fontList = (XmFontList) m_windowFont.GetFontList(1.0, XtDisplay(parentWidget)); + XmFontList fontList = (XmFontList) m_font.GetFontList(1.0, XtDisplay(parentWidget)); if (label1 != "") { - text = XmStringCreateSimple ((char*) (const char*) label1); - Widget labelWidget = XtVaCreateManagedWidget ((char*) (const char*) label1, + wxXmString text(label1); + (void)XtVaCreateManagedWidget(label1.c_str(), #if wxUSE_GADGETS - style & wxCOLOURED ? - xmLabelWidgetClass : xmLabelGadgetClass, + style & wxCOLOURED ? xmLabelWidgetClass + : xmLabelGadgetClass, formWidget, #else xmLabelWidgetClass, formWidget, #endif XmNfontList, fontList, - XmNlabelString, text, + XmNlabelString, text(), NULL); - - XmStringFree (text); } Widget frameWidget = XtVaCreateManagedWidget ("frame", @@ -128,11 +134,11 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title, Arg args[3]; - majorDim = (n + majorDim - 1) / majorDim; + m_majorDim = (n + m_majorDim - 1) / m_majorDim; XtSetArg (args[0], XmNorientation, ((style & wxHORIZONTAL) == wxHORIZONTAL ? XmHORIZONTAL : XmVERTICAL)); - XtSetArg (args[1], XmNnumColumns, majorDim); + XtSetArg (args[1], XmNnumColumns, m_majorDim); Widget radioBoxWidget = XmCreateRadioBox (frameWidget, "radioBoxWidget", args, 2); m_mainWidget = (WXWidget) radioBoxWidget; @@ -172,12 +178,11 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title, XmNfontList, fontList, NULL); XtAddCallback ((Widget) m_radioButtons[i], XmNvalueChangedCallback, (XtCallbackProc) wxRadioBoxCallback, - (XtCallbackProc) this); - + (XtPointer) this); } SetSelection (0); - m_windowFont = parent->GetFont(); + m_font = parent->GetFont(); ChangeFont(FALSE); // XtManageChild((Widget) m_formWidget); @@ -424,7 +429,7 @@ void wxRadioBox::ChangeFont(bool keepOriginalSize) { wxWindow::ChangeFont(keepOriginalSize); - XmFontList fontList = (XmFontList) m_windowFont.GetFontList(1.0, XtDisplay((Widget) GetTopWidget())); + XmFontList fontList = (XmFontList) m_font.GetFontList(1.0, XtDisplay((Widget) GetTopWidget())); int i; for (i = 0; i < m_noItems; i++) @@ -481,7 +486,7 @@ void wxRadioBoxCallback (Widget w, XtPointer clientData, wxRadioBox *item = (wxRadioBox *) clientData; int sel = -1; int i; - for (i = 0; i < item->Number(); i++) + for (i = 0; i < item->GetCount(); i++) if (item->GetRadioButtons() && ((Widget) (item->GetRadioButtons()[i]) == w)) sel = i; item->SetSel(sel);