X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/953704c1c76cfb9cfb7b91f0e81f98c30d27eb56..d6538e2c55535a747aec939d0f6659f91bc623d4:/src/gtk1/radiobut.cpp diff --git a/src/gtk1/radiobut.cpp b/src/gtk1/radiobut.cpp index 294820894f..909c1ebf6d 100644 --- a/src/gtk1/radiobut.cpp +++ b/src/gtk1/radiobut.cpp @@ -63,17 +63,14 @@ bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& lab { m_acceptsFocus = TRUE; m_needParent = TRUE; - - wxSize newSize = size; - - PreCreation( parent, id, pos, newSize, style, name ); - m_isRadioButton = TRUE; - -#if wxUSE_VALIDATORS - SetValidator( validator ); -#endif + if (!PreCreation( parent, pos, size ) || + !CreateBase( parent, id, pos, size, style, validator, name )) + { + wxFAIL_MSG( wxT("wxRadioButton creation failed") ); + return FALSE; + } if (HasFlag(wxRB_GROUP)) { @@ -93,24 +90,25 @@ bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& lab chief = (wxRadioButton*) child; if (child->HasFlag(wxRB_GROUP)) break; } - if (chief) - { - /* we are part of the group started by chief */ - m_radioButtonGroup = gtk_radio_button_group( GTK_RADIO_BUTTON(chief->m_widget) ); - } - else - { - /* start a new group */ - m_radioButtonGroup = (GSList*) NULL; - } node = node->GetPrevious(); } + if (chief) + { + /* we are part of the group started by chief */ + m_radioButtonGroup = gtk_radio_button_group( GTK_RADIO_BUTTON(chief->m_widget) ); + } + else + { + /* start a new group */ + m_radioButtonGroup = (GSList*) NULL; + } } m_widget = gtk_radio_button_new_with_label( m_radioButtonGroup, label.mbc_str() ); SetLabel(label); + wxSize newSize = size; if (newSize.x == -1) newSize.x = 22+gdk_string_measure( m_widget->style->font, label.mbc_str() ); if (newSize.y == -1) newSize.y = 26; SetSize( newSize.x, newSize.y ); @@ -133,7 +131,7 @@ bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& lab void wxRadioButton::SetLabel( const wxString& label ) { - wxCHECK_RET( m_widget != NULL, _T("invalid radiobutton") ); + wxCHECK_RET( m_widget != NULL, wxT("invalid radiobutton") ); wxControl::SetLabel( label ); GtkButton *bin = GTK_BUTTON( m_widget ); @@ -143,7 +141,7 @@ void wxRadioButton::SetLabel( const wxString& label ) void wxRadioButton::SetValue( bool val ) { - wxCHECK_RET( m_widget != NULL, _T("invalid radiobutton") ); + wxCHECK_RET( m_widget != NULL, wxT("invalid radiobutton") ); if (val == GetValue()) return; @@ -166,7 +164,7 @@ void wxRadioButton::SetValue( bool val ) bool wxRadioButton::GetValue() const { - wxCHECK_MSG( m_widget != NULL, FALSE, _T("invalid radiobutton") ); + wxCHECK_MSG( m_widget != NULL, FALSE, wxT("invalid radiobutton") ); return GTK_TOGGLE_BUTTON(m_widget)->active; }