X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bd2e08d06528b2014a4acf878e91fee4696d0666..55410bb4f67febe1ca20654f078ea4fb9a6223ae:/src/gtk/radiobox.cpp?ds=sidebyside diff --git a/src/gtk/radiobox.cpp b/src/gtk/radiobox.cpp index 15dd404b7d..18f02bf683 100644 --- a/src/gtk/radiobox.cpp +++ b/src/gtk/radiobox.cpp @@ -224,6 +224,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title, } m_widget = GTKCreateFrame(title); + g_object_ref(m_widget); wxControl::SetLabel(title); if ( HasFlag(wxNO_BORDER) ) { @@ -240,7 +241,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title, unsigned int num_of_cols = GetColumnCount(); unsigned int num_of_rows = GetRowCount(); - GtkRadioButton *rbtn = (GtkRadioButton*) NULL; + GtkRadioButton *rbtn = NULL; GtkWidget *table = gtk_table_new( num_of_rows, num_of_cols, FALSE ); gtk_table_set_col_spacings( GTK_TABLE(table), 1 ); @@ -249,7 +250,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title, gtk_container_add( GTK_CONTAINER(m_widget), table ); wxString label; - GSList *radio_button_group = (GSList *) NULL; + GSList *radio_button_group = NULL; for (unsigned int i = 0; i < (unsigned int)n; i++) { if ( i != 0 ) @@ -427,6 +428,8 @@ void wxRadioBox::SetString(unsigned int item, const wxString& label) bool wxRadioBox::Enable( bool enable ) { + bool isEnabled = IsEnabled(); + if ( !wxControl::Enable( enable ) ) return false; @@ -441,6 +444,11 @@ bool wxRadioBox::Enable( bool enable ) node = node->GetNext(); } + if (!isEnabled && enable) + { + GTKFixSensitivity(); + } + return true; } @@ -563,7 +571,7 @@ void wxRadioBox::GTKWidgetDoSetMnemonic(GtkWidget* w) } #if wxUSE_TOOLTIPS -void wxRadioBox::ApplyToolTip(GtkTooltips * WXUNUSED(tips), const gchar *tip) +void wxRadioBox::GTKApplyToolTip(GtkTooltips * WXUNUSED(tips), const gchar *tip) { // set this tooltip for all radiobuttons which don't have their own tips unsigned n = 0; @@ -573,7 +581,7 @@ void wxRadioBox::ApplyToolTip(GtkTooltips * WXUNUSED(tips), const gchar *tip) { if ( !GetItemToolTip(n) ) { - wxToolTip::Apply(GTK_WIDGET(node->GetData()->button), tip); + wxToolTip::GTKApply(GTK_WIDGET(node->GetData()->button), tip); } } } @@ -586,7 +594,7 @@ void wxRadioBox::DoSetItemToolTip(unsigned int n, wxToolTip *tooltip) if ( tooltip ) buf = wxGTK_CONV(tooltip->GetTip()); - wxToolTip::Apply(GTK_WIDGET(m_buttonsInfo[n]->button), buf); + wxToolTip::GTKApply(GTK_WIDGET(m_buttonsInfo[n]->button), buf); } #endif // wxUSE_TOOLTIPS