X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3477409312ed5201078bfa2f2be4318e5914aa0b..68d4172048cfc0f3e658ef90ff5af926eedfdd57:/src/motif/radiobox.cpp diff --git a/src/motif/radiobox.cpp b/src/motif/radiobox.cpp index 91d53491d7..9bf78c04a4 100644 --- a/src/motif/radiobox.cpp +++ b/src/motif/radiobox.cpp @@ -30,7 +30,6 @@ #include #include #include -#include #include #ifdef __VMS__ #pragma message enable nosimpint @@ -92,35 +91,40 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title, m_mainWidget = XtVaCreateWidget ("radioboxframe", xmFrameWidgetClass, parentWidget, - XmNshadowType, XmSHADOW_IN, XmNresizeHeight, True, XmNresizeWidth, True, NULL); wxString label1(wxStripMenuCodes(title)); - XmFontList fontList = (XmFontList) m_font.GetFontList(1.0, XtDisplay(parentWidget)); + WXFontType fontType = m_font.GetFontType(XtDisplay(parentWidget)); if (label1 != "") { wxXmString text(label1); - (void)XtVaCreateManagedWidget(label1.c_str(), + m_labelWidget = (WXWidget) + XtVaCreateManagedWidget( label1.c_str(), #if wxUSE_GADGETS - style & wxCOLOURED ? xmLabelWidgetClass - : xmLabelGadgetClass, - (Widget)m_mainWidget, + style & wxCOLOURED ? xmLabelWidgetClass + : xmLabelGadgetClass, + (Widget)m_mainWidget, #else - xmLabelWidgetClass, (Widget)m_mainWidget, + xmLabelWidgetClass, + (Widget)m_mainWidget, #endif - XmNfontList, fontList, - XmNlabelString, text(), -// XmNframeChildType is not in Motif 1.2. + wxFont::GetFontTag(), fontType, + XmNlabelString, text(), +// XmNframeChildType is not in Motif 1.2, nor in Lesstif, +// if it was compiled with 1.2 compatibility // TODO: check this still looks OK for Motif 1.2. -#if (XmVersion > 1200) || defined(LESSTIF_VERSION) - XmNframeChildType, XmFRAME_TITLE_CHILD, +#if (XmVersion > 1200) + XmNframeChildType, XmFRAME_TITLE_CHILD, +#else + XmNchildType, XmFRAME_TITLE_CHILD, #endif - XmNchildVerticalAlignment, XmALIGNMENT_CENTER, - NULL); + XmNchildVerticalAlignment, + XmALIGNMENT_CENTER, + NULL); } Arg args[3]; @@ -143,13 +147,13 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title, { wxString str(wxStripMenuCodes(choices[i])); m_radioButtonLabels[i] = str; - m_radioButtons[i] = (WXWidget) XtVaCreateManagedWidget ((char*) (const char*) str, + m_radioButtons[i] = (WXWidget) XtVaCreateManagedWidget (wxConstCast(str.c_str(), char), #if wxUSE_GADGETS xmToggleButtonGadgetClass, radioBoxWidget, #else - xmToggleButtonWidgetClass, radioBoxWidget, + xmToggleButtonWidgetClass, radioBoxWidget, #endif - XmNfontList, fontList, + wxFont::GetFontTag(), fontType, NULL); XtAddCallback ((Widget) m_radioButtons[i], XmNvalueChangedCallback, (XtCallbackProc) wxRadioBoxCallback, (XtPointer) this); @@ -164,7 +168,6 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title, XtManageChild (radioBoxWidget); XtManageChild ((Widget)m_mainWidget); - SetCanAddEventHandler(TRUE); AttachWidget (parent, m_mainWidget, NULL, pos.x, pos.y, size.x, size.y); ChangeBackgroundColour(); @@ -193,12 +196,11 @@ void wxRadioBox::SetString(int item, const wxString& label) if (label != "") { wxString label1(wxStripMenuCodes(label)); - XmString text = XmStringCreateSimple ((char*) (const char*) label1); + wxXmString text( label1 ); XtVaSetValues (widget, - XmNlabelString, text, + XmNlabelString, text(), XmNlabelType, XmSTRING, NULL); - XmStringFree (text); } } @@ -357,7 +359,8 @@ void wxRadioBox::ChangeFont(bool keepOriginalSize) { wxWindow::ChangeFont(keepOriginalSize); - XmFontList fontList = (XmFontList) m_font.GetFontList(1.0, XtDisplay((Widget) GetTopWidget())); + WXFontType fontType = + m_font.GetFontType(XtDisplay((Widget) GetTopWidget())); int i; for (i = 0; i < m_noItems; i++) @@ -365,7 +368,7 @@ void wxRadioBox::ChangeFont(bool keepOriginalSize) WXWidget radioButton = m_radioButtons[i]; XtVaSetValues ((Widget) radioButton, - XmNfontList, fontList, + wxFont::GetFontTag(), fontType, NULL); } } @@ -374,14 +377,14 @@ void wxRadioBox::ChangeBackgroundColour() { wxWindow::ChangeBackgroundColour(); - int selectPixel = wxBLACK->AllocColour(wxGetDisplay()); + int selectPixel = wxBLACK->AllocColour(XtDisplay((Widget)m_mainWidget)); int i; for (i = 0; i < m_noItems; i++) { WXWidget radioButton = m_radioButtons[i]; - DoChangeBackgroundColour(radioButton, m_backgroundColour, TRUE); + wxDoChangeBackgroundColour(radioButton, m_backgroundColour, TRUE); XtVaSetValues ((Widget) radioButton, XmNselectColor, selectPixel, @@ -398,7 +401,7 @@ void wxRadioBox::ChangeForegroundColour() { WXWidget radioButton = m_radioButtons[i]; - DoChangeForegroundColour(radioButton, m_foregroundColour); + wxDoChangeForegroundColour(radioButton, m_foregroundColour); } }