diff options
Diffstat (limited to 'gtk/gtkimagemenuitem.c')
-rw-r--r-- | gtk/gtkimagemenuitem.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gtk/gtkimagemenuitem.c b/gtk/gtkimagemenuitem.c index e56f26b05f..68c020407f 100644 --- a/gtk/gtkimagemenuitem.c +++ b/gtk/gtkimagemenuitem.c @@ -353,6 +353,38 @@ gtk_image_menu_item_new_with_label (const gchar *label) return GTK_WIDGET(image_menu_item); } + +/** + * gtk_image_menu_item_new_with_mnemonic: + * @label: The text of the button, with an underscore in front of the + * mnemonic character + * @returns: a new #GtkImageMenuItem + * + * Creates a new #GtkImageMenuItem 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. + **/ +GtkWidget* +gtk_image_menu_item_new_with_mnemonic (const gchar *label) +{ + GtkImageMenuItem *image_menu_item; + GtkWidget *accel_label; + + image_menu_item = GTK_IMAGE_MENU_ITEM (g_object_new (GTK_TYPE_IMAGE_MENU_ITEM, + NULL)); + + accel_label = gtk_type_new (GTK_TYPE_ACCEL_LABEL); + gtk_label_set_text_with_mnemonic (GTK_LABEL (accel_label), label); + gtk_misc_set_alignment (GTK_MISC (accel_label), 0.0, 0.5); + + gtk_container_add (GTK_CONTAINER (image_menu_item), accel_label); + gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (accel_label), + GTK_WIDGET (image_menu_item)); + gtk_widget_show (accel_label); + + return GTK_WIDGET(image_menu_item); +} + GtkWidget* gtk_image_menu_item_new_from_stock (const gchar *stock_id, GtkAccelGroup *accel_group) |