From 1b2584a8acc380dc6723b5d76fc36ff279596a30 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 15 Mar 2005 16:33:43 +0000 Subject: [PATCH] Add an example for manually setting up a group of actions. 2005-03-15 Matthias Clasen * gtk/gtkradioaction.c (gtk_radio_action_get_group): Add an example for manually setting up a group of actions. --- ChangeLog | 3 +++ ChangeLog.pre-2-10 | 3 +++ ChangeLog.pre-2-8 | 3 +++ gtk/gtkradioaction.c | 20 +++++++++++++++++++- 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e6b0b27386..7119276b35 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2005-03-15 Matthias Clasen + * gtk/gtkradioaction.c (gtk_radio_action_get_group): Add an + example for manually setting up a group of actions. + * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): Document that inline completion requires text-column to be set. (gtk_entry_completion_compute_prefix): Return NULL if text-column diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index e6b0b27386..7119276b35 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,8 @@ 2005-03-15 Matthias Clasen + * gtk/gtkradioaction.c (gtk_radio_action_get_group): Add an + example for manually setting up a group of actions. + * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): Document that inline completion requires text-column to be set. (gtk_entry_completion_compute_prefix): Return NULL if text-column diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index e6b0b27386..7119276b35 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,8 @@ 2005-03-15 Matthias Clasen + * gtk/gtkradioaction.c (gtk_radio_action_get_group): Add an + example for manually setting up a group of actions. + * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): Document that inline completion requires text-column to be set. (gtk_entry_completion_compute_prefix): Return NULL if text-column diff --git a/gtk/gtkradioaction.c b/gtk/gtkradioaction.c index ec761e176a..bdf6d302e5 100644 --- a/gtk/gtkradioaction.c +++ b/gtk/gtkradioaction.c @@ -233,6 +233,8 @@ gtk_radio_action_finalize (GObject *object) action = GTK_RADIO_ACTION (object); + g_print ("finalize %p\n", action); + action->private_data->group = g_slist_remove (action->private_data->group, action); tmp_list = action->private_data->group; @@ -373,7 +375,23 @@ create_menu_item (GtkAction *action) * gtk_radio_action_get_group: * @action: the action object * - * Returns the list representing the radio group for this object + * Returns the list representing the radio group for this object. + * Note that the returned list is only valid until the next change + * to the group. + * + * A common way to set up a group of radio group is the following: + * + * GSList *group = NULL; + * GtkRadioAction *action; + * + * while (/* more actions to add */) + * { + * action = gtk_radio_action_new (...); + * + * gtk_radio_action_set_group (action, group); + * group = gtk_radio_action_get_group (action); + * } + * * * Returns: the list representing the radio group for this object *