diff options
Diffstat (limited to 'gtk/gtkradiobutton.c')
-rw-r--r-- | gtk/gtkradiobutton.c | 42 |
1 files changed, 17 insertions, 25 deletions
diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c index dc749469bc..837e3e55f8 100644 --- a/gtk/gtkradiobutton.c +++ b/gtk/gtkradiobutton.c @@ -163,9 +163,9 @@ gtk_radio_button_class_init (GtkRadioButtonClass *class) PROP_GROUP, g_param_spec_object ("group", P_("Group"), - P_("The radio button whose group this widget belongs to."), - GTK_TYPE_RADIO_BUTTON, - GTK_PARAM_WRITABLE)); + P_("The radio group this button belongs to."), + GTK_TYPE_RADIO_GROUP, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); widget_class->destroy = gtk_radio_button_destroy; widget_class->focus = gtk_radio_button_focus; @@ -235,15 +235,9 @@ gtk_radio_button_set_property (GObject *object, switch (prop_id) { GtkRadioGroup *group; - GtkRadioButton *button; case PROP_GROUP: - button = g_value_get_object (value); - - if (button) - group = gtk_radio_button_get_group (button); - else - group = NULL; + group = g_value_get_object (value); gtk_radio_button_set_group (radio_button, group); break; default: @@ -258,8 +252,15 @@ gtk_radio_button_get_property (GObject *object, GValue *value, GParamSpec *pspec) { + GtkRadioButton *radio_button; + + radio_button = GTK_RADIO_BUTTON (object); + switch (prop_id) { + case PROP_GROUP: + g_value_set_object (value, gtk_radio_button_get_group (radio_button)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -365,10 +366,7 @@ gtk_radio_button_new (GtkRadioGroup *group) { GtkRadioButton *radio_button; - radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, NULL); - - if (group) - gtk_radio_button_set_group (radio_button, group); + radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, "group", group, NULL); return GTK_WIDGET (radio_button); } @@ -389,11 +387,7 @@ gtk_radio_button_new_with_label (GtkRadioGroup *group, { GtkWidget *radio_button; - radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, "label", label, NULL) ; - - if (group) - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_button), group); - + radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, "group", group, "label", label, NULL) ; return radio_button; } @@ -417,14 +411,12 @@ gtk_radio_button_new_with_mnemonic (GtkRadioGroup *group, { GtkWidget *radio_button; - radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, - "label", label, - "use-underline", TRUE, + radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, + "group", group, + "label", label, + "use-underline", TRUE, NULL); - if (group) - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_button), group); - return radio_button; } |