X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2da6105611475cb08135997c587df72be67840bd..70914290a18a1c95c16ff5148d53f3dea52d2940:/src/gtk1/radiobox.cpp diff --git a/src/gtk1/radiobox.cpp b/src/gtk1/radiobox.cpp index 0b6045cd3c..cd422ade2b 100644 --- a/src/gtk1/radiobox.cpp +++ b/src/gtk1/radiobox.cpp @@ -21,8 +21,7 @@ #include "wx/frame.h" #include "wx/log.h" -#include -#include +#include "wx/gtk/private.h" #include #include "wx/gtk/win_gtk.h" @@ -427,10 +426,10 @@ int wxRadioBox::FindString( const wxString &s ) const wxNode *node = m_boxes.First(); while (node) { - GtkButton *button = GTK_BUTTON( node->Data() ); + GtkLabel *label = GTK_LABEL( BUTTON_CHILD(node->Data()) ); + if (s == label->label) + return count; - GtkLabel *label = GTK_LABEL( button->child ); - if (s == label->label) return count; count++; node = node->Next(); @@ -504,19 +503,11 @@ wxString wxRadioBox::GetString( int n ) const wxCHECK_MSG( node, wxT(""), wxT("radiobox wrong index") ); - GtkButton *button = GTK_BUTTON( node->Data() ); - GtkLabel *label = GTK_LABEL( button->child ); + GtkLabel *label = GTK_LABEL( BUTTON_CHILD(node->Data()) ); return wxString( label->label ); } -wxString wxRadioBox::GetLabel( int item ) const -{ - wxCHECK_MSG( m_widget != NULL, wxT(""), wxT("invalid radiobox") ); - - return GetString( item ); -} - void wxRadioBox::SetLabel( const wxString& label ) { wxCHECK_RET( m_widget != NULL, wxT("invalid radiobox") ); @@ -534,8 +525,7 @@ void wxRadioBox::SetString( int item, const wxString& label ) wxCHECK_RET( node, wxT("radiobox wrong index") ); - GtkButton *button = GTK_BUTTON( node->Data() ); - GtkLabel *g_label = GTK_LABEL( button->child ); + GtkLabel *g_label = GTK_LABEL( BUTTON_CHILD(node->Data()) ); gtk_label_set( g_label, label.mbc_str() ); } @@ -549,9 +539,10 @@ bool wxRadioBox::Enable( bool enable ) while (node) { GtkButton *button = GTK_BUTTON( node->Data() ); - GtkWidget *label = button->child; + GtkLabel *label = GTK_LABEL( BUTTON_CHILD(button) ); + gtk_widget_set_sensitive( GTK_WIDGET(button), enable ); - gtk_widget_set_sensitive( label, enable ); + gtk_widget_set_sensitive( GTK_WIDGET(label), enable ); node = node->Next(); } @@ -567,9 +558,10 @@ void wxRadioBox::Enable( int item, bool enable ) wxCHECK_RET( node, wxT("radiobox wrong index") ); GtkButton *button = GTK_BUTTON( node->Data() ); - GtkWidget *label = button->child; + GtkLabel *label = GTK_LABEL( BUTTON_CHILD(button) ); + gtk_widget_set_sensitive( GTK_WIDGET(button), enable ); - gtk_widget_set_sensitive( label, enable ); + gtk_widget_set_sensitive( GTK_WIDGET(label), enable ); } void wxRadioBox::Show( int item, bool show ) @@ -598,7 +590,8 @@ wxString wxRadioBox::GetStringSelection() const GtkToggleButton *button = GTK_TOGGLE_BUTTON( node->Data() ); if (button->active) { - GtkLabel *label = GTK_LABEL( GTK_BUTTON(button)->child ); + GtkLabel *label = GTK_LABEL( BUTTON_CHILD(node->Data()) ); + return label->label; } node = node->Next(); @@ -670,8 +663,7 @@ void wxRadioBox::ApplyWidgetStyle() GtkWidget *widget = GTK_WIDGET( node->Data() ); gtk_widget_set_style( widget, m_widgetStyle ); - GtkButton *button = GTK_BUTTON( node->Data() ); - gtk_widget_set_style( button->child, m_widgetStyle ); + gtk_widget_set_style( BUTTON_CHILD(node->Data()), m_widgetStyle ); node = node->Next(); }