diff --git a/ChangeLog b/ChangeLog index 037d65c01a..ba65c03fdf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +Wed Jan 7 22:20:20 2004 Matthias Clasen + + * gtk/gtkaction.h: + * gtk/gtkaction.c (gtk_action_new): + * gtk/gtktoggleaction.h: + * gtk/gtktoggleaction.c (gtk_toggle_action_new): + * gtk/gtkradioaction.h: + * gtk/gtkradioaction.c (gtk_radio_action_new): Add creation + functions for actions. + + * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): + (gtk_action_group_add_toggle_actions_full): + (gtk_action_group_add_radio_actions_full): and use the + new functions here. (#125322, Patch by Jeff Frank) + Wed Jan 7 21:42:49 2004 Matthias Clasen * gtk/gtkaccelmap.c (gtk_accel_map_lock_path): Fix grammar of diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 037d65c01a..ba65c03fdf 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,18 @@ +Wed Jan 7 22:20:20 2004 Matthias Clasen + + * gtk/gtkaction.h: + * gtk/gtkaction.c (gtk_action_new): + * gtk/gtktoggleaction.h: + * gtk/gtktoggleaction.c (gtk_toggle_action_new): + * gtk/gtkradioaction.h: + * gtk/gtkradioaction.c (gtk_radio_action_new): Add creation + functions for actions. + + * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): + (gtk_action_group_add_toggle_actions_full): + (gtk_action_group_add_radio_actions_full): and use the + new functions here. (#125322, Patch by Jeff Frank) + Wed Jan 7 21:42:49 2004 Matthias Clasen * gtk/gtkaccelmap.c (gtk_accel_map_lock_path): Fix grammar of diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 037d65c01a..ba65c03fdf 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,18 @@ +Wed Jan 7 22:20:20 2004 Matthias Clasen + + * gtk/gtkaction.h: + * gtk/gtkaction.c (gtk_action_new): + * gtk/gtktoggleaction.h: + * gtk/gtktoggleaction.c (gtk_toggle_action_new): + * gtk/gtkradioaction.h: + * gtk/gtkradioaction.c (gtk_radio_action_new): Add creation + functions for actions. + + * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): + (gtk_action_group_add_toggle_actions_full): + (gtk_action_group_add_radio_actions_full): and use the + new functions here. (#125322, Patch by Jeff Frank) + Wed Jan 7 21:42:49 2004 Matthias Clasen * gtk/gtkaccelmap.c (gtk_accel_map_lock_path): Fix grammar of diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 037d65c01a..ba65c03fdf 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,18 @@ +Wed Jan 7 22:20:20 2004 Matthias Clasen + + * gtk/gtkaction.h: + * gtk/gtkaction.c (gtk_action_new): + * gtk/gtktoggleaction.h: + * gtk/gtktoggleaction.c (gtk_toggle_action_new): + * gtk/gtkradioaction.h: + * gtk/gtkradioaction.c (gtk_radio_action_new): Add creation + functions for actions. + + * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): + (gtk_action_group_add_toggle_actions_full): + (gtk_action_group_add_radio_actions_full): and use the + new functions here. (#125322, Patch by Jeff Frank) + Wed Jan 7 21:42:49 2004 Matthias Clasen * gtk/gtkaccelmap.c (gtk_accel_map_lock_path): Fix grammar of diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 037d65c01a..ba65c03fdf 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,18 @@ +Wed Jan 7 22:20:20 2004 Matthias Clasen + + * gtk/gtkaction.h: + * gtk/gtkaction.c (gtk_action_new): + * gtk/gtktoggleaction.h: + * gtk/gtktoggleaction.c (gtk_toggle_action_new): + * gtk/gtkradioaction.h: + * gtk/gtkradioaction.c (gtk_radio_action_new): Add creation + functions for actions. + + * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): + (gtk_action_group_add_toggle_actions_full): + (gtk_action_group_add_radio_actions_full): and use the + new functions here. (#125322, Patch by Jeff Frank) + Wed Jan 7 21:42:49 2004 Matthias Clasen * gtk/gtkaccelmap.c (gtk_accel_map_lock_path): Fix grammar of diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index 0834d38e83..10dc918aad 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,3 +1,8 @@ +Wed Jan 7 22:25:45 2004 Matthias Clasen + + * gtk/gtk-sections.txt: Add gtk_action_new, gtk_toggle_action_new, + gtk_radio_action_new, gtk_action_group_add_action_with_accel. + Wed Jan 7 01:56:33 2004 Matthias Clasen * gdk-pixbuf/tmpl/file-saving.sgml: Document GdkPixbufSaveFunc. diff --git a/docs/reference/gtk/gtk-sections.txt b/docs/reference/gtk/gtk-sections.txt index 66d918f051..a5531ebf2b 100644 --- a/docs/reference/gtk/gtk-sections.txt +++ b/docs/reference/gtk/gtk-sections.txt @@ -102,6 +102,7 @@ gtk_accessible_get_type gtkaction GtkAction GtkAction +gtk_action_new gtk_action_get_name gtk_action_activate gtk_action_create_icon @@ -138,6 +139,7 @@ gtk_action_group_get_name gtk_action_group_get_action gtk_action_group_list_actions gtk_action_group_add_action +gtk_action_group_add_action_with_accel gtk_action_group_remove_action GtkActionEntry gtk_action_group_add_actions @@ -2325,6 +2327,7 @@ gtk_progress_bar_get_type gtkradioaction GtkRadioAction GtkRadioAction +gtk_radio_action_new gtk_radio_action_get_group gtk_radio_action_set_group gtk_radio_action_get_current_value @@ -3107,6 +3110,7 @@ gtk_tips_query_get_type gtktoggleaction GtkToggleAction GtkToggleAction +gtk_toggle_action_new gtk_toggle_action_toggled gtk_toggle_action_set_active gtk_toggle_action_get_active diff --git a/gtk/gtkaction.c b/gtk/gtkaction.c index b0db28361a..20c2dbe1f7 100644 --- a/gtk/gtkaction.c +++ b/gtk/gtkaction.c @@ -359,6 +359,39 @@ gtk_action_init (GtkAction *action) action->private_data->proxies = NULL; } +/** + * gtk_action_new: + * @name: A unique name for the action + * @label: the label displayed in menu items and on buttons + * @tooltip: a tooltip for the action + * @stock_id: the stock icon to display in widgets representing the action + * + * Creates a new #GtkAction object. To add the action to a + * #GtkActionGroup and set the accelerator for the action, + * call gtk_action_group_add_action_with_accel(). + * + * Return value: a new #GtkAction + * + * Since: 2.4 + */ +GtkAction * +gtk_action_new (const gchar *name, + const gchar *label, + const gchar *tooltip, + const gchar *stock_id) +{ + GtkAction *action; + + action = g_object_new (GTK_TYPE_ACTION, + "name", name, + "label", label, + "tooltip", tooltip, + "stock_id", stock_id, + NULL); + + return action; +} + static void gtk_action_finalize (GObject *object) { diff --git a/gtk/gtkaction.h b/gtk/gtkaction.h index e855052d67..34cec2cda3 100644 --- a/gtk/gtkaction.h +++ b/gtk/gtkaction.h @@ -81,6 +81,10 @@ struct _GtkActionClass }; GType gtk_action_get_type (void); +GtkAction *gtk_action_new (const gchar *name, + const gchar *label, + const gchar *tooltip, + const gchar *stock_id); const gchar* gtk_action_get_name (GtkAction *action); void gtk_action_activate (GtkAction *action); GtkWidget* gtk_action_create_icon (GtkAction *action, diff --git a/gtk/gtkactiongroup.c b/gtk/gtkactiongroup.c index bac151efdc..6389db80f3 100644 --- a/gtk/gtkactiongroup.c +++ b/gtk/gtkactiongroup.c @@ -296,19 +296,20 @@ gtk_action_group_add_action (GtkActionGroup *action_group, /** * gtk_action_group_add_action_with_accel: * @action_group: the action group (#GtkActionGroup) - * @action : the action to add (#GtkAction) - * @name : - * @accelerator : - * @stock_id : + * @action: the action to add (#GtkAction) + * @name: the name of the action to add + * @accelerator: the accelerator for the action, in + * the format understood by gtk_accelerator_parse(). + * @stock_id: the stock icon to display * * Adds an action object to the action group and sets up the accelerator. * - * If @accelerator is NULL, attempt to use the accelerator associated with + * If @accelerator is %NULL, attempt to use the accelerator associated with * @stock_id. * - * accel paths are set to - * <Actions>/group-name/action-name. - * + * Accel paths are set to + * <Actions>/group-name/action-name. + * * Since: 2.4 */ void @@ -476,12 +477,10 @@ gtk_action_group_add_actions_full (GtkActionGroup *action_group, tooltip = entries[i].tooltip; } - action = g_object_new (GTK_TYPE_ACTION, - "name", entries[i].name, - "label", label, - "tooltip", tooltip, - "stock_id", entries[i].stock_id, - NULL); + action = gtk_action_new (entries[i].name, + label, + tooltip, + entries[i].stock_id); if (entries[i].callback) g_signal_connect_data (action, "activate", @@ -558,7 +557,7 @@ gtk_action_group_add_toggle_actions_full (GtkActionGroup *action_group, for (i = 0; i < n_entries; i++) { - GtkAction *action; + GtkToggleAction *action; const gchar *label; const gchar *tooltip; @@ -573,22 +572,20 @@ gtk_action_group_add_toggle_actions_full (GtkActionGroup *action_group, tooltip = entries[i].tooltip; } - action = g_object_new (GTK_TYPE_TOGGLE_ACTION, - "name", entries[i].name, - "label", label, - "tooltip", tooltip, - "stock_id", entries[i].stock_id, - NULL); + action = gtk_toggle_action_new (entries[i].name, + label, + tooltip, + entries[i].stock_id); - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), - entries[i].is_active); + gtk_toggle_action_set_active (action, entries[i].is_active); if (entries[i].callback) g_signal_connect_data (action, "activate", entries[i].callback, user_data, (GClosureNotify)destroy, 0); - gtk_action_group_add_action_with_accel (action_group, action, + gtk_action_group_add_action_with_accel (action_group, + action, entries[i].name, entries[i].accelerator, entries[i].stock_id); @@ -670,7 +667,7 @@ gtk_action_group_add_radio_actions_full (GtkActionGroup *action_group, for (i = 0; i < n_entries; i++) { - GtkAction *action; + GtkRadioAction *action; const gchar *label; const gchar *tooltip; @@ -685,24 +682,23 @@ gtk_action_group_add_radio_actions_full (GtkActionGroup *action_group, tooltip = entries[i].tooltip; } - action = g_object_new (GTK_TYPE_RADIO_ACTION, - "name", entries[i].name, - "label", label, - "tooltip", tooltip, - "stock_id", entries[i].stock_id, - "value", entries[i].value, - NULL); + action = gtk_radio_action_new (entries[i].name, + label, + tooltip, + entries[i].stock_id, + value); if (i == 0) first_action = action; - gtk_radio_action_set_group (GTK_RADIO_ACTION (action), group); - group = gtk_radio_action_get_group (GTK_RADIO_ACTION (action)); + gtk_radio_action_set_group (action, group); + group = gtk_radio_action_get_group (action); if (value == entries[i].value) - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE); + gtk_toggle_action_set_active (action, TRUE); - gtk_action_group_add_action_with_accel (action_group, action, + gtk_action_group_add_action_with_accel (action_group, + action, entries[i].name, entries[i].accelerator, entries[i].stock_id); diff --git a/gtk/gtkradioaction.c b/gtk/gtkradioaction.c index e6ae027425..35460a33b8 100644 --- a/gtk/gtkradioaction.c +++ b/gtk/gtkradioaction.c @@ -171,6 +171,43 @@ gtk_radio_action_init (GtkRadioAction *action) action->private_data->value = 0; } +/** + * gtk_radio_action_new: + * @name: A unique name for the action + * @label: The label displayed in menu items and on buttons + * @tooltip: A tooltip for this action + * @stock_id: The stock icon to display in widgets representing this action + * @value: The value which gtk_radio_action_get_current_value() should return + * if this action is selected. + * + * Creates a new #GtkRadioAction object. To add the action to + * a #GtkActionGroup and set the accelerator for the action, + * call gtk_action_group_add_action_with_accel(). + * + * Return value: a new #GtkRadioAction + * + * Since: 2.4 + */ +GtkRadioAction * +gtk_radio_action_new (const gchar *name, + const gchar *label, + const gchar *tooltip, + const gchar *stock_id, + gint value) +{ + GtkRadioAction *action; + + action = g_object_new (GTK_TYPE_RADIO_ACTION, + "name", name, + "label", label, + "tooltip", tooltip, + "stock_id", stock_id, + "value", value, + NULL); + + return action; +} + static void gtk_radio_action_finalize (GObject *object) { diff --git a/gtk/gtkradioaction.h b/gtk/gtkradioaction.h index 3617a239b2..b1de074c5d 100644 --- a/gtk/gtkradioaction.h +++ b/gtk/gtkradioaction.h @@ -67,12 +67,17 @@ struct _GtkRadioActionClass void (*_gtk_reserved4) (void); }; -GType gtk_radio_action_get_type (void); +GType gtk_radio_action_get_type (void); +GtkRadioAction *gtk_radio_action_new (const gchar *name, + const gchar *label, + const gchar *tooltip, + const gchar *stock_id, + gint value); +GSList *gtk_radio_action_get_group (GtkRadioAction *action); +void gtk_radio_action_set_group (GtkRadioAction *action, + GSList *group); +gint gtk_radio_action_get_current_value (GtkRadioAction *action); -GSList *gtk_radio_action_get_group (GtkRadioAction *action); -void gtk_radio_action_set_group (GtkRadioAction *action, - GSList *group); -gint gtk_radio_action_get_current_value (GtkRadioAction *action); G_END_DECLS diff --git a/gtk/gtktoggleaction.c b/gtk/gtktoggleaction.c index c3ac2d71f6..1f4a8d7a03 100644 --- a/gtk/gtktoggleaction.c +++ b/gtk/gtktoggleaction.c @@ -151,6 +151,39 @@ gtk_toggle_action_init (GtkToggleAction *action) action->private_data->draw_as_radio = FALSE; } +/** + * gtk_toggle_action_new: + * @name: A unique name for the action + * @label: The label displayed in menu items and on buttons + * @tooltip: A tooltip for the action + * @stock_id: The stock icon to display in widgets representing the action + * + * Creates a new #GtkToggleAction object. To add the action to + * a #GtkActionGroup and set the accelerator for the action, + * call gtk_action_group_add_action_with_accel(). + * + * Return value: a new #GtkToggleAction + * + * Since: 2.4 + */ +GtkToggleAction * +gtk_toggle_action_new (const gchar *name, + const gchar *label, + const gchar *tooltip, + const gchar *stock_id) +{ + GtkToggleAction *action; + + action = g_object_new (GTK_TYPE_TOGGLE_ACTION, + "name", name, + "label", label, + "tooltip", tooltip, + "stock_id", stock_id, + NULL); + + return action; +} + static void get_property (GObject *object, guint prop_id, @@ -170,7 +203,6 @@ get_property (GObject *object, } } - static void set_property (GObject *object, guint prop_id, diff --git a/gtk/gtktoggleaction.h b/gtk/gtktoggleaction.h index 0b7b4180c7..03183bf531 100644 --- a/gtk/gtktoggleaction.h +++ b/gtk/gtktoggleaction.h @@ -67,14 +67,19 @@ struct _GtkToggleActionClass void (*_gtk_reserved4) (void); }; -GType gtk_toggle_action_get_type (void); -void gtk_toggle_action_toggled (GtkToggleAction *action); -void gtk_toggle_action_set_active (GtkToggleAction *action, - gboolean is_active); -gboolean gtk_toggle_action_get_active (GtkToggleAction *action); -void gtk_toggle_action_set_draw_as_radio (GtkToggleAction *action, - gboolean draw_as_radio); -gboolean gtk_toggle_action_get_draw_as_radio (GtkToggleAction *action); +GType gtk_toggle_action_get_type (void); +GtkToggleAction *gtk_toggle_action_new (const gchar *name, + const gchar *label, + const gchar *tooltip, + const gchar *stock_id); +void gtk_toggle_action_toggled (GtkToggleAction *action); +void gtk_toggle_action_set_active (GtkToggleAction *action, + gboolean is_active); +gboolean gtk_toggle_action_get_active (GtkToggleAction *action); +void gtk_toggle_action_set_draw_as_radio (GtkToggleAction *action, + gboolean draw_as_radio); +gboolean gtk_toggle_action_get_draw_as_radio (GtkToggleAction *action); + G_END_DECLS