diff --git a/ChangeLog b/ChangeLog index ba8da9872e..ca8ec6f6d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Thu Feb 19 00:09:35 2004 Matthias Clasen + + * gtk/gtkradiomenuitem.h: + * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_from_widget): + (gtk_radio_menu_item_new_with_label_from_widget): + (gtk_radio_menu_item_new_with_mnemonic_from_widget): New + convenience functions analogous to similar API on GtkRadioButton. + (#51700, Vitaly Tishkov, patch by Soeren Sandmann) + Wed Feb 18 17:53:27 2004 Soeren Sandmann * gdk/gdkwindow.c (gdk_window_get_bg_gc): Use a scratch GC in the diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index ba8da9872e..ca8ec6f6d1 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +Thu Feb 19 00:09:35 2004 Matthias Clasen + + * gtk/gtkradiomenuitem.h: + * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_from_widget): + (gtk_radio_menu_item_new_with_label_from_widget): + (gtk_radio_menu_item_new_with_mnemonic_from_widget): New + convenience functions analogous to similar API on GtkRadioButton. + (#51700, Vitaly Tishkov, patch by Soeren Sandmann) + Wed Feb 18 17:53:27 2004 Soeren Sandmann * gdk/gdkwindow.c (gdk_window_get_bg_gc): Use a scratch GC in the diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index ba8da9872e..ca8ec6f6d1 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,12 @@ +Thu Feb 19 00:09:35 2004 Matthias Clasen + + * gtk/gtkradiomenuitem.h: + * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_from_widget): + (gtk_radio_menu_item_new_with_label_from_widget): + (gtk_radio_menu_item_new_with_mnemonic_from_widget): New + convenience functions analogous to similar API on GtkRadioButton. + (#51700, Vitaly Tishkov, patch by Soeren Sandmann) + Wed Feb 18 17:53:27 2004 Soeren Sandmann * gdk/gdkwindow.c (gdk_window_get_bg_gc): Use a scratch GC in the diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index ba8da9872e..ca8ec6f6d1 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +Thu Feb 19 00:09:35 2004 Matthias Clasen + + * gtk/gtkradiomenuitem.h: + * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_from_widget): + (gtk_radio_menu_item_new_with_label_from_widget): + (gtk_radio_menu_item_new_with_mnemonic_from_widget): New + convenience functions analogous to similar API on GtkRadioButton. + (#51700, Vitaly Tishkov, patch by Soeren Sandmann) + Wed Feb 18 17:53:27 2004 Soeren Sandmann * gdk/gdkwindow.c (gdk_window_get_bg_gc): Use a scratch GC in the diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index ba8da9872e..ca8ec6f6d1 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +Thu Feb 19 00:09:35 2004 Matthias Clasen + + * gtk/gtkradiomenuitem.h: + * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_from_widget): + (gtk_radio_menu_item_new_with_label_from_widget): + (gtk_radio_menu_item_new_with_mnemonic_from_widget): New + convenience functions analogous to similar API on GtkRadioButton. + (#51700, Vitaly Tishkov, patch by Soeren Sandmann) + Wed Feb 18 17:53:27 2004 Soeren Sandmann * gdk/gdkwindow.c (gdk_window_get_bg_gc): Use a scratch GC in the diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index 7dd09d36ba..b196d9036d 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -1,3 +1,9 @@ +Thu Feb 19 00:11:23 2004 Matthias Clasen + + * gtk/gtk-sections.txt: Add gtk_radio_menu_item_new_from_widget + gtk_radio_menu_item_new_with_label_from_widget, + gtk_radio_menu_item_new_with_mnemonic_from_widget. + 2004-02-17 Federico Mena Quintero * gtk/migrating-checklist.sgml: Add a missing semicolon to an diff --git a/docs/reference/gtk/gtk-sections.txt b/docs/reference/gtk/gtk-sections.txt index feaef7b383..f2b92fec1c 100644 --- a/docs/reference/gtk/gtk-sections.txt +++ b/docs/reference/gtk/gtk-sections.txt @@ -2402,6 +2402,9 @@ GtkRadioMenuItem gtk_radio_menu_item_new gtk_radio_menu_item_new_with_label gtk_radio_menu_item_new_with_mnemonic +gtk_radio_menu_item_new_from_widget +gtk_radio_menu_item_new_with_label_from_widget +gtk_radio_menu_item_new_with_mnemonic_from_widget gtk_radio_menu_item_group gtk_radio_menu_item_set_group gtk_radio_menu_item_get_group diff --git a/gtk/gtkradiomenuitem.c b/gtk/gtkradiomenuitem.c index 2662923353..b0bcd2d0ed 100644 --- a/gtk/gtkradiomenuitem.c +++ b/gtk/gtkradiomenuitem.c @@ -169,6 +169,85 @@ gtk_radio_menu_item_new_with_mnemonic (GSList *group, return radio_menu_item; } +/** + * gtk_radio_menu_item_new_from_widget: + * @group: An existing #GtkRadioMenuItem + * + * Creates a new #GtkRadioMenuItem adding it to the same group as @group. + * + * Return value: The new #GtkRadioMenuItem + * + * Since: 2.4 + **/ +GtkWidget * +gtk_radio_menu_item_new_from_widget (GtkRadioMenuItem *group) +{ + GSList *list = NULL; + + g_return_val_if_fail (GTK_IS_RADIO_MENU_ITEM (group), NULL); + + if (group) + list = gtk_radio_menu_item_get_group (group); + + return gtk_radio_menu_item_new (list); +} + +/** + * gtk_radio_menu_item_new_with_mnemonic_from_widget: + * @group: An existing #GtkRadioMenuItem + * @label: the text of the button, with an underscore in front of the + * mnemonic character + * + * Creates a new GtkRadioMenuItem containing a label. The label will be + * created using gtk_label_new_with_mnemonic(), so underscores in label + * indicate the mnemonic for the menu item. + * + * The new #GtkRadioMenuItem is added to the same group as @group. + * + * Return value: The new #GtkRadioMenuItem + * + * Since: 2.4 + **/ +GtkWidget * +gtk_radio_menu_item_new_with_mnemonic_from_widget (GtkRadioMenuItem *group, + const gchar *label) +{ + GSList *list = NULL; + + g_return_val_if_fail (GTK_IS_RADIO_MENU_ITEM (group), NULL); + + if (group) + list = gtk_radio_menu_item_get_group (group); + + return gtk_radio_menu_item_new_with_mnemonic (list, label); +} + +/** + * gtk_radio_menu_item_new_with_label_from_widget: + * @group: an existing #GtkRadioMenuItem + * @label: the text for the label + * + * Creates a new GtkRadioMenuItem whose child is a simple GtkLabel. + * The new #GtkRadioMenuItem is added to the same group as @group. + * + * Return value: The new #GtkRadioMenuItem + * + * Since: 2.4 + **/ +GtkWidget * +gtk_radio_menu_item_new_with_label_from_widget (GtkRadioMenuItem *group, + const gchar *label) +{ + GSList *list = NULL; + + g_return_val_if_fail (GTK_IS_RADIO_MENU_ITEM (group), NULL); + + if (group) + list = gtk_radio_menu_item_get_group (group); + + return gtk_radio_menu_item_new_with_label (list, label); +} + GSList* gtk_radio_menu_item_get_group (GtkRadioMenuItem *radio_menu_item) { diff --git a/gtk/gtkradiomenuitem.h b/gtk/gtkradiomenuitem.h index d33d6a8dd0..5dff292d84 100644 --- a/gtk/gtkradiomenuitem.h +++ b/gtk/gtkradiomenuitem.h @@ -31,11 +31,7 @@ #include #include - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - +G_BEGIN_DECLS #define GTK_TYPE_RADIO_MENU_ITEM (gtk_radio_menu_item_get_type ()) #define GTK_RADIO_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RADIO_MENU_ITEM, GtkRadioMenuItem)) @@ -58,7 +54,7 @@ struct _GtkRadioMenuItem struct _GtkRadioMenuItemClass { GtkCheckMenuItemClass parent_class; - + /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); @@ -68,22 +64,25 @@ struct _GtkRadioMenuItemClass GType gtk_radio_menu_item_get_type (void) G_GNUC_CONST; -GtkWidget* gtk_radio_menu_item_new (GSList *group); -GtkWidget* gtk_radio_menu_item_new_with_label (GSList *group, - const gchar *label); -GtkWidget* gtk_radio_menu_item_new_with_mnemonic (GSList *group, - const gchar *label); -GSList* gtk_radio_menu_item_get_group (GtkRadioMenuItem *radio_menu_item); -void gtk_radio_menu_item_set_group (GtkRadioMenuItem *radio_menu_item, - GSList *group); + +GtkWidget* gtk_radio_menu_item_new (GSList *group); +GtkWidget* gtk_radio_menu_item_new_with_label (GSList *group, + const gchar *label); +GtkWidget* gtk_radio_menu_item_new_with_mnemonic (GSList *group, + const gchar *label); +GtkWidget* gtk_radio_menu_item_new_from_widget (GtkRadioMenuItem *group); +GtkWidget *gtk_radio_menu_item_new_with_mnemonic_from_widget (GtkRadioMenuItem *group, + const gchar *label); +GtkWidget *gtk_radio_menu_item_new_with_label_from_widget (GtkRadioMenuItem *group, + const gchar *label); +GSList* gtk_radio_menu_item_get_group (GtkRadioMenuItem *radio_menu_item); +void gtk_radio_menu_item_set_group (GtkRadioMenuItem *radio_menu_item, + GSList *group); #ifndef GTK_DISABLE_DEPRECATED #define gtk_radio_menu_item_group gtk_radio_menu_item_get_group #endif -#ifdef __cplusplus -} -#endif /* __cplusplus */ - +G_END_DECLS #endif /* __GTK_RADIO_MENU_ITEM_H__ */