m_radioButtonLabels = (wxString*) NULL;
m_backgroundColour = parent->GetBackgroundColour();
m_foregroundColour = parent->GetForegroundColour();
+ m_windowFont = parent->GetFont();
SetName(name);
SetValidator(val);
m_formWidget = (WXWidget) formWidget;
+ XmFontList fontList = (XmFontList) m_windowFont.GetFontList(1.0, XtDisplay(parentWidget));
if (label1 != "")
{
text = XmStringCreateSimple ((char*) (const char*) label1);
#else
xmLabelWidgetClass, formWidget,
#endif
+ XmNfontList, fontList,
XmNlabelString, text,
NULL);
-/* TODO: change label font
- if (labelFont)
- XtVaSetValues (labelWidget,
- XmNfontList, labelFont->GetInternalFont (XtDisplay(formWidget)),
- NULL);
-*/
-
XmStringFree (text);
}
#else
xmToggleButtonWidgetClass, radioBoxWidget,
#endif
+ XmNfontList, fontList,
NULL);
XtAddCallback ((Widget) m_radioButtons[i], XmNvalueChangedCallback, (XtCallbackProc) wxRadioBoxCallback,
(XtCallbackProc) this);
-/* TODO: set font
- if (buttonFont)
- XtVaSetValues ((Widget) m_radioButtons[i],
- XmNfontList, buttonFont->GetInternalFont (XtDisplay(formWidget)),
- NULL);
-*/
}
SetSelection (0);
+ m_windowFont = parent->GetFont();
+ ChangeFont(FALSE);
+
XtManageChild (radioBoxWidget);
SetCanAddEventHandler(TRUE);
AttachWidget (parent, m_mainWidget, m_formWidget, pos.x, pos.y, size.x, size.y);
- SetFont(* parent->GetFont());
ChangeBackgroundColour();
return TRUE;
{
delete[] m_radioButtonLabels;
delete[] m_radioButtons;
+ DetachWidget(m_formWidget);
}
wxString wxRadioBox::GetLabel(int item) const
ProcessCommand (event);
}
-void wxRadioBox::ChangeFont()
+void wxRadioBox::ChangeFont(bool keepOriginalSize)
{
- // TODO
+ wxWindow::ChangeFont(keepOriginalSize);
+
+ XmFontList fontList = (XmFontList) m_windowFont.GetFontList(1.0, XtDisplay((Widget) GetTopWidget()));
+
+ int i;
+ for (i = 0; i < m_noItems; i++)
+ {
+ WXWidget radioButton = m_radioButtons[i];
+
+ XtVaSetValues ((Widget) radioButton,
+ XmNfontList, fontList,
+ XmNtopAttachment, XmATTACH_FORM,
+ NULL);
+ }
}
void wxRadioBox::ChangeBackgroundColour()
{
- // TODO
+ wxWindow::ChangeBackgroundColour();
+
+ int i;
+ for (i = 0; i < m_noItems; i++)
+ {
+ WXWidget radioButton = m_radioButtons[i];
+
+ DoChangeBackgroundColour(radioButton, m_backgroundColour, TRUE);
+ }
}
void wxRadioBox::ChangeForegroundColour()
{
- // TODO
+ wxWindow::ChangeForegroundColour();
+
+ int i;
+ for (i = 0; i < m_noItems; i++)
+ {
+ WXWidget radioButton = m_radioButtons[i];
+
+ DoChangeForegroundColour(radioButton, m_foregroundColour);
+ }
}
void wxRadioBoxCallback (Widget w, XtPointer clientData,