X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bdf90a1a1c4b7ce58980b47c7af926dc905652e8..8a31648287be0ef976f133de2786b137f1e98340:/src/gtk/radiobut.cpp?ds=sidebyside diff --git a/src/gtk/radiobut.cpp b/src/gtk/radiobut.cpp index 49590debfb..a8c0a8b8a6 100644 --- a/src/gtk/radiobut.cpp +++ b/src/gtk/radiobut.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: radiobut.cpp +// Name: src/gtk/radiobut.cpp // Purpose: // Author: Robert Roebling // Id: $Id$ @@ -34,7 +34,7 @@ void gtk_radiobutton_clicked_callback( GtkToggleButton *button, wxRadioButton *r if (g_blockEventsOnDrag) return; - if (!button->active) return; + if (!gtk_toggle_button_get_active(button)) return; wxCommandEvent event( wxEVT_COMMAND_RADIOBUTTON_SELECTED, rb->GetId()); event.SetInt( rb->GetValue() ); @@ -47,8 +47,6 @@ void gtk_radiobutton_clicked_callback( GtkToggleButton *button, wxRadioButton *r // wxRadioButton //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxRadioButton,wxControl) - bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& label, @@ -101,7 +99,10 @@ void wxRadioButton::SetLabel( const wxString& label ) { wxCHECK_RET( m_widget != NULL, wxT("invalid radiobutton") ); - GTKSetLabelForLabel(GTK_LABEL(GTK_BIN(m_widget)->child), label); + // save the original label + wxControlBase::SetLabel(label); + + GTKSetLabelForLabel(GTK_LABEL(gtk_bin_get_child(GTK_BIN(m_widget))), label); } void wxRadioButton::SetValue( bool val ) @@ -123,8 +124,6 @@ void wxRadioButton::SetValue( bool val ) // should give an assert // RL - No it shouldn't. A wxGenericValidator might try to set it // as FALSE. Failing silently is probably TRTTD here. - // RR - MSW actually unchecks the radio button so do this here, too - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(m_widget), FALSE ); } g_signal_handlers_unblock_by_func( @@ -135,7 +134,7 @@ bool wxRadioButton::GetValue() const { wxCHECK_MSG( m_widget != NULL, false, wxT("invalid radiobutton") ); - return GTK_TOGGLE_BUTTON(m_widget)->active; + return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_widget)) != 0; } bool wxRadioButton::Enable( bool enable ) @@ -143,7 +142,7 @@ bool wxRadioButton::Enable( bool enable ) if (!base_type::Enable(enable)) return false; - gtk_widget_set_sensitive(GTK_BIN(m_widget)->child, enable); + gtk_widget_set_sensitive(gtk_bin_get_child(GTK_BIN(m_widget)), enable); if (enable) GTKFixSensitivity(); @@ -154,7 +153,7 @@ bool wxRadioButton::Enable( bool enable ) void wxRadioButton::DoApplyWidgetStyle(GtkRcStyle *style) { gtk_widget_modify_style(m_widget, style); - gtk_widget_modify_style(GTK_BIN(m_widget)->child, style); + gtk_widget_modify_style(gtk_bin_get_child(GTK_BIN(m_widget)), style); } GdkWindow *