Commit e0423105 authored by Alexander Larsson's avatar Alexander Larsson Committed by Alexander Larsson
Browse files

Add support for stock and normal imagemenuitems.

2001-03-21  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkitemfactory.[ch]:
	Add support for stock and normal imagemenuitems.

	* gtk/testgtk.c:
	Add some tests for mnemonics, stock toolbars, stock
	and image menuitems in itemfactory and gdk_window_scroll.
parent de5eafed
2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkitemfactory.[ch]:
Add support for stock and normal imagemenuitems.
* gtk/testgtk.c:
Add some tests for mnemonics, stock toolbars, stock
and image menuitems in itemfactory and gdk_window_scroll.
2001-03-21 Alexander Larsson <alexl@redhat.com> 2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkbutton.[ch]: * gtk/gtkbutton.[ch]:
......
2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkitemfactory.[ch]:
Add support for stock and normal imagemenuitems.
* gtk/testgtk.c:
Add some tests for mnemonics, stock toolbars, stock
and image menuitems in itemfactory and gdk_window_scroll.
2001-03-21 Alexander Larsson <alexl@redhat.com> 2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkbutton.[ch]: * gtk/gtkbutton.[ch]:
......
2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkitemfactory.[ch]:
Add support for stock and normal imagemenuitems.
* gtk/testgtk.c:
Add some tests for mnemonics, stock toolbars, stock
and image menuitems in itemfactory and gdk_window_scroll.
2001-03-21 Alexander Larsson <alexl@redhat.com> 2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkbutton.[ch]: * gtk/gtkbutton.[ch]:
......
2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkitemfactory.[ch]:
Add support for stock and normal imagemenuitems.
* gtk/testgtk.c:
Add some tests for mnemonics, stock toolbars, stock
and image menuitems in itemfactory and gdk_window_scroll.
2001-03-21 Alexander Larsson <alexl@redhat.com> 2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkbutton.[ch]: * gtk/gtkbutton.[ch]:
......
2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkitemfactory.[ch]:
Add support for stock and normal imagemenuitems.
* gtk/testgtk.c:
Add some tests for mnemonics, stock toolbars, stock
and image menuitems in itemfactory and gdk_window_scroll.
2001-03-21 Alexander Larsson <alexl@redhat.com> 2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkbutton.[ch]: * gtk/gtkbutton.[ch]:
......
2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkitemfactory.[ch]:
Add support for stock and normal imagemenuitems.
* gtk/testgtk.c:
Add some tests for mnemonics, stock toolbars, stock
and image menuitems in itemfactory and gdk_window_scroll.
2001-03-21 Alexander Larsson <alexl@redhat.com> 2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkbutton.[ch]: * gtk/gtkbutton.[ch]:
......
2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkitemfactory.[ch]:
Add support for stock and normal imagemenuitems.
* gtk/testgtk.c:
Add some tests for mnemonics, stock toolbars, stock
and image menuitems in itemfactory and gdk_window_scroll.
2001-03-21 Alexander Larsson <alexl@redhat.com> 2001-03-21 Alexander Larsson <alexl@redhat.com>
* gtk/gtkbutton.[ch]: * gtk/gtkbutton.[ch]:
......
...@@ -37,9 +37,13 @@ ...@@ -37,9 +37,13 @@
#include "gtk/gtkmenuitem.h" #include "gtk/gtkmenuitem.h"
#include "gtk/gtkradiomenuitem.h" #include "gtk/gtkradiomenuitem.h"
#include "gtk/gtkcheckmenuitem.h" #include "gtk/gtkcheckmenuitem.h"
#include "gtk/gtkimagemenuitem.h"
#include "gtk/gtktearoffmenuitem.h" #include "gtk/gtktearoffmenuitem.h"
#include "gtk/gtkaccellabel.h" #include "gtk/gtkaccellabel.h"
#include "gdk/gdkkeysyms.h" #include "gdk/gdkkeysyms.h"
#include "gtk/gtkimage.h"
#include "gtk/gtkstock.h"
#include "gtk/gtkiconfactory.h"
#include <string.h> #include <string.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <fcntl.h> #include <fcntl.h>
...@@ -105,6 +109,8 @@ static GQuark quark_type_title = 0; ...@@ -105,6 +109,8 @@ static GQuark quark_type_title = 0;
static GQuark quark_type_radio_item = 0; static GQuark quark_type_radio_item = 0;
static GQuark quark_type_check_item = 0; static GQuark quark_type_check_item = 0;
static GQuark quark_type_toggle_item = 0; static GQuark quark_type_toggle_item = 0;
static GQuark quark_type_image_item = 0;
static GQuark quark_type_stock_item = 0;
static GQuark quark_type_tearoff_item = 0; static GQuark quark_type_tearoff_item = 0;
static GQuark quark_type_separator_item = 0; static GQuark quark_type_separator_item = 0;
static GQuark quark_type_branch = 0; static GQuark quark_type_branch = 0;
...@@ -220,6 +226,8 @@ gtk_item_factory_class_init (GtkItemFactoryClass *class) ...@@ -220,6 +226,8 @@ gtk_item_factory_class_init (GtkItemFactoryClass *class)
quark_type_radio_item = g_quark_from_static_string ("<RadioItem>"); quark_type_radio_item = g_quark_from_static_string ("<RadioItem>");
quark_type_check_item = g_quark_from_static_string ("<CheckItem>"); quark_type_check_item = g_quark_from_static_string ("<CheckItem>");
quark_type_toggle_item = g_quark_from_static_string ("<ToggleItem>"); quark_type_toggle_item = g_quark_from_static_string ("<ToggleItem>");
quark_type_image_item = g_quark_from_static_string ("<ImageItem>");
quark_type_stock_item = g_quark_from_static_string ("<StockItem>");
quark_type_tearoff_item = g_quark_from_static_string ("<Tearoff>"); quark_type_tearoff_item = g_quark_from_static_string ("<Tearoff>");
quark_type_separator_item = g_quark_from_static_string ("<Separator>"); quark_type_separator_item = g_quark_from_static_string ("<Separator>");
quark_type_branch = g_quark_from_static_string ("<Branch>"); quark_type_branch = g_quark_from_static_string ("<Branch>");
...@@ -1095,15 +1103,17 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory, ...@@ -1095,15 +1103,17 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
GtkOptionMenu *option_menu = NULL; GtkOptionMenu *option_menu = NULL;
GtkWidget *parent; GtkWidget *parent;
GtkWidget *widget; GtkWidget *widget;
GtkWidget *image;
GSList *radio_group; GSList *radio_group;
gchar *name; gchar *name;
gchar *parent_path; gchar *parent_path;
gchar *path; gchar *path;
guint accel_key; gchar *accelerator;
guint type_id; guint type_id;
GtkType type; GtkType type;
gchar *item_type_path; gchar *item_type_path;
GtkStockItem stock_item;
g_return_if_fail (ifactory != NULL); g_return_if_fail (ifactory != NULL);
g_return_if_fail (GTK_IS_ITEM_FACTORY (ifactory)); g_return_if_fail (GTK_IS_ITEM_FACTORY (ifactory));
g_return_if_fail (entry != NULL); g_return_if_fail (entry != NULL);
...@@ -1132,6 +1142,10 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory, ...@@ -1132,6 +1142,10 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
type = GTK_TYPE_RADIO_MENU_ITEM; type = GTK_TYPE_RADIO_MENU_ITEM;
else if (type_id == quark_type_check_item) else if (type_id == quark_type_check_item)
type = GTK_TYPE_CHECK_MENU_ITEM; type = GTK_TYPE_CHECK_MENU_ITEM;
else if (type_id == quark_type_image_item)
type = GTK_TYPE_IMAGE_MENU_ITEM;
else if (type_id == quark_type_stock_item)
type = GTK_TYPE_IMAGE_MENU_ITEM;
else if (type_id == quark_type_tearoff_item) else if (type_id == quark_type_tearoff_item)
type = GTK_TYPE_TEAROFF_MENU_ITEM; type = GTK_TYPE_TEAROFF_MENU_ITEM;
else if (type_id == quark_type_toggle_item) else if (type_id == quark_type_toggle_item)
...@@ -1199,6 +1213,8 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory, ...@@ -1199,6 +1213,8 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
g_return_if_fail (GTK_IS_CONTAINER (parent)); g_return_if_fail (GTK_IS_CONTAINER (parent));
accelerator = entry->accelerator;
widget = gtk_widget_new (type, widget = gtk_widget_new (type,
"GtkWidget::visible", TRUE, "GtkWidget::visible", TRUE,
"GtkWidget::sensitive", (type_id != quark_type_separator_item && "GtkWidget::sensitive", (type_id != quark_type_separator_item &&
...@@ -1212,6 +1228,39 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory, ...@@ -1212,6 +1228,39 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
gtk_radio_menu_item_set_group (GTK_RADIO_MENU_ITEM (widget), radio_group); gtk_radio_menu_item_set_group (GTK_RADIO_MENU_ITEM (widget), radio_group);
if (GTK_IS_CHECK_MENU_ITEM (widget)) if (GTK_IS_CHECK_MENU_ITEM (widget))
gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (widget), TRUE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (widget), TRUE);
if (GTK_IS_IMAGE_MENU_ITEM (widget))
{
GdkPixbuf *pixbuf = NULL;
image = NULL;
pixbuf = gdk_pixbuf_new_from_inline (entry->extra_data,
FALSE,
entry->extra_data2,
NULL);
if (pixbuf)
image = gtk_image_new_from_pixbuf (pixbuf);
if (image)
gtk_image_menu_item_add_image (GTK_IMAGE_MENU_ITEM (widget), image);
if (pixbuf)
g_object_unref (G_OBJECT (pixbuf));
}
if (type_id == quark_type_stock_item)
{
image = gtk_image_new_from_stock (entry->extra_data, GTK_ICON_SIZE_MENU);
if (image)
gtk_image_menu_item_add_image (GTK_IMAGE_MENU_ITEM (widget), image);
if (gtk_stock_lookup (entry->extra_data, &stock_item))
{
if (!accelerator)
accelerator = gtk_accelerator_name (stock_item.keyval, stock_item.modifier);
}
}
/* install underline accelerators for this item /* install underline accelerators for this item
*/ */
...@@ -1251,7 +1300,7 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory, ...@@ -1251,7 +1300,7 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
} }
gtk_item_factory_add_item (ifactory, gtk_item_factory_add_item (ifactory,
path, entry->accelerator, path, accelerator,
(type_id == quark_type_branch || (type_id == quark_type_branch ||
type_id == quark_type_last_branch) ? type_id == quark_type_last_branch) ?
(GtkItemFactoryCallback) NULL : entry->callback, (GtkItemFactoryCallback) NULL : entry->callback,
...@@ -1260,6 +1309,9 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory, ...@@ -1260,6 +1309,9 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
item_type_path, item_type_path,
widget); widget);
if (accelerator != entry->accelerator)
g_free (accelerator);
g_free (path); g_free (path);
} }
......
...@@ -110,6 +110,13 @@ struct _GtkItemFactoryEntry ...@@ -110,6 +110,13 @@ struct _GtkItemFactoryEntry
* "<LastBranch>" -> create a right justified item to hold sub items * "<LastBranch>" -> create a right justified item to hold sub items
*/ */
gchar *item_type; gchar *item_type;
/* Extra data for some item types:
* ImageItem -> pointer to inline pixbuf + inline pixbuf length
* StockItem -> name of stock item
*/
gpointer extra_data;
guint extra_data2;
}; };
struct _GtkItemFactoryItem struct _GtkItemFactoryItem
......
...@@ -190,7 +190,7 @@ create_buttons (void) ...@@ -190,7 +190,7 @@ create_buttons (void)
button[0] = gtk_button_new_with_label ("button1"); button[0] = gtk_button_new_with_label ("button1");
button[1] = gtk_button_new_with_mnemonic ("_button2"); button[1] = gtk_button_new_with_mnemonic ("_button2");
button[2] = gtk_button_new_with_label ("button3"); button[2] = gtk_button_new_with_mnemonic ("_button3");
button[3] = gtk_button_new_from_stock (GTK_STOCK_BUTTON_OK); button[3] = gtk_button_new_from_stock (GTK_STOCK_BUTTON_OK);
button[4] = gtk_button_new_with_label ("button5"); button[4] = gtk_button_new_with_label ("button5");
button[5] = gtk_button_new_with_label ("button6"); button[5] = gtk_button_new_with_label ("button6");
...@@ -373,7 +373,7 @@ create_check_buttons (void) ...@@ -373,7 +373,7 @@ create_check_buttons (void)
gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
button = gtk_check_button_new_with_label ("button1"); button = gtk_check_button_new_with_mnemonic ("_button1");
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
button = gtk_check_button_new_with_label ("button2"); button = gtk_check_button_new_with_label ("button2");
...@@ -630,6 +630,21 @@ new_pixmap (char *filename, ...@@ -630,6 +630,21 @@ new_pixmap (char *filename,
return wpixmap; return wpixmap;
} }
static void
set_toolbar_small_stock (GtkWidget *widget,
gpointer data)
{
gtk_toolbar_set_icon_size (GTK_TOOLBAR (data), GTK_ICON_SIZE_SMALL_TOOLBAR);
}
static void
set_toolbar_large_stock (GtkWidget *widget,
gpointer data)
{
gtk_toolbar_set_icon_size (GTK_TOOLBAR (data), GTK_ICON_SIZE_LARGE_TOOLBAR);
}
static void static void
set_toolbar_horizontal (GtkWidget *widget, set_toolbar_horizontal (GtkWidget *widget,
gpointer data) gpointer data)
...@@ -751,6 +766,16 @@ create_toolbar (void) ...@@ -751,6 +766,16 @@ create_toolbar (void)
toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH); toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE); gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
gtk_toolbar_insert_stock (GTK_TOOLBAR (toolbar),
GTK_STOCK_NEW,
"Stock icon: New", "Toolbar/New",
(GtkSignalFunc) set_toolbar_small_stock, toolbar, -1);
gtk_toolbar_insert_stock (GTK_TOOLBAR (toolbar),
GTK_STOCK_OPEN,
"Stock icon: Open", "Toolbar/Open",
(GtkSignalFunc) set_toolbar_large_stock, toolbar, -1);
gtk_toolbar_append_item (GTK_TOOLBAR (toolbar), gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
"Horizontal", "Horizontal toolbar layout", "Toolbar/Horizontal", "Horizontal", "Horizontal toolbar layout", "Toolbar/Horizontal",
new_pixmap ("test.xpm", window->window, &window->style->bg[GTK_STATE_NORMAL]), new_pixmap ("test.xpm", window->window, &window->style->bg[GTK_STATE_NORMAL]),
...@@ -2892,6 +2917,10 @@ create_menus (void) ...@@ -2892,6 +2917,10 @@ create_menus (void)
menu = create_menu (1, 5, FALSE); menu = create_menu (1, 5, FALSE);
gtk_menu_set_accel_group (GTK_MENU (menu), accel_group); gtk_menu_set_accel_group (GTK_MENU (menu), accel_group);
menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_NEW, accel_group);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
menuitem = gtk_check_menu_item_new_with_label ("Accelerate Me"); menuitem = gtk_check_menu_item_new_with_label ("Accelerate Me");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
...@@ -2966,6 +2995,119 @@ gtk_ifactory_cb (gpointer callback_data, ...@@ -2966,6 +2995,119 @@ gtk_ifactory_cb (gpointer callback_data,
g_message ("ItemFactory: activated \"%s\"", gtk_item_factory_path_from_widget (widget)); g_message ("ItemFactory: activated \"%s\"", gtk_item_factory_path_from_widget (widget));
} }
/* This file was automatically generated by the make-inline-pixbuf program.
* It contains inline RGB image data.
*/
static const guchar apple[] =
{
/* File magic (1197763408) */
0x47, 0x64, 0x6b, 0x50,
/* Format of following stuff (0) */
0x00, 0x00, 0x00, 0x00,
/* Rowstride (64) */
0x00, 0x00, 0x00, 0x40,
/* Width (16) */
0x00, 0x00, 0x00, 0x10,
/* Height (16) */
0x00, 0x00, 0x00, 0x10,
/* Has an alpha channel (TRUE) */
0x01,
/* Colorspace (0 == RGB, no other options implemented) (0) */
0x00, 0x00, 0x00, 0x00,
/* Number of channels (4) */
0x00, 0x00, 0x00, 0x04,
/* Bits per sample (8) */
0x00, 0x00, 0x00, 0x08,
/* Image data */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x14, 0x0f, 0x04,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x61, 0x6d, 0x5b, 0x2b, 0x6e, 0x7c, 0x61, 0xd9,
0x71, 0x80, 0x63, 0xd7, 0x5f, 0x6b, 0x5b, 0x35, 0x00, 0x00, 0x00, 0x00,
0x3a, 0x35, 0x28, 0x8f, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x60, 0x6c, 0x5c, 0x07, 0x6d, 0x7b, 0x61, 0xd8,
0x75, 0x84, 0x65, 0xf6, 0x76, 0x86, 0x66, 0xf7, 0x6a, 0x77, 0x60, 0xec,
0x5e, 0x6a, 0x58, 0x47, 0x1c, 0x1a, 0x13, 0xa2, 0x4b, 0x47, 0x30, 0x07,
0x55, 0x4e, 0x33, 0x21, 0x48, 0x3e, 0x2a, 0x08, 0xd0, 0xb8, 0x84, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x76, 0x5f, 0x74,
0x75, 0x84, 0x65, 0xf3, 0x67, 0x75, 0x5e, 0xc4, 0x69, 0x62, 0x55, 0x75,
0x94, 0x50, 0x50, 0x69, 0x75, 0x5c, 0x52, 0xb2, 0x69, 0x38, 0x34, 0xa2,
0xa7, 0x5b, 0x53, 0xea, 0xa3, 0x52, 0x4f, 0xff, 0x90, 0x47, 0x42, 0xfa,
0x76, 0x44, 0x36, 0xb9, 0x59, 0x38, 0x29, 0x3c, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x6b, 0x5a, 0x09,
0x69, 0x76, 0x5e, 0xb0, 0x5f, 0x6b, 0x59, 0x57, 0x9a, 0x4b, 0x4d, 0x5b,
0xb8, 0x5f, 0x63, 0xfa, 0xcc, 0x7d, 0x7e, 0xff, 0xc5, 0x69, 0x68, 0xff,
0xc7, 0x6b, 0x67, 0xff, 0xc5, 0x6f, 0x67, 0xff, 0xba, 0x5e, 0x5a, 0xff,
0xb1, 0x4d, 0x4d, 0xff, 0x92, 0x4b, 0x42, 0xff, 0x6a, 0x3e, 0x30, 0xfc,
0x5c, 0x3b, 0x27, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x5d, 0x69, 0x57, 0x09, 0x5d, 0x69, 0x57, 0x09, 0x92, 0x47, 0x46, 0x1e,
0xba, 0x65, 0x64, 0xf4, 0xe7, 0xbf, 0xc0, 0xff, 0xdf, 0xa5, 0xa3, 0xff,
0xd4, 0x84, 0x81, 0xff, 0xd1, 0x7c, 0x76, 0xff, 0xc9, 0x78, 0x6d, 0xff,
0xbb, 0x6a, 0x5d, 0xff, 0xb3, 0x5a, 0x52, 0xff, 0x9f, 0x4b, 0x47, 0xff,
0x78, 0x45, 0x35, 0xff, 0x5f, 0x3c, 0x28, 0xfa, 0x53, 0x5a, 0x38, 0x24,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xa1, 0x54, 0x4d, 0x8c, 0xcf, 0x8e, 0x89, 0xff, 0xe3, 0xb1, 0xae, 0xff,
0xd8, 0x94, 0x8e, 0xff, 0xd3, 0x8a, 0x82, 0xff, 0xcf, 0x80, 0x76, 0xff,
0xc4, 0x75, 0x67, 0xff, 0xb7, 0x6c, 0x5c, 0xff, 0xab, 0x5e, 0x51, 0xff,
0x9c, 0x4c, 0x46, 0xff, 0x7e, 0x4a, 0x3a, 0xff, 0x5c, 0x3c, 0x26, 0xff,
0x58, 0x3d, 0x28, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xa2, 0x59, 0x4f, 0xc3, 0xcd, 0x8e, 0x88, 0xff,
0xd3, 0x93, 0x8c, 0xff, 0xd0, 0x8c, 0x83, 0xff, 0xcc, 0x84, 0x79, 0xff,
0xc7, 0x7c, 0x6e, 0xff, 0xbc, 0x73, 0x61, 0xff, 0xb1, 0x6b, 0x59, 0xff,
0xa3, 0x5f, 0x4f, 0xff, 0x93, 0x50, 0x44, 0xff, 0x78, 0x48, 0x35, 0xff,
0x59, 0x3b, 0x25, 0xff, 0x4f, 0x3d, 0x28, 0x4f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x5b, 0x4d, 0xbc,
0xbd, 0x7e, 0x72, 0xff, 0xc6, 0x86, 0x7a, 0xff, 0xc5, 0x7f, 0x72, 0xff,
0xc2, 0x7b, 0x6c, 0xff, 0xbf, 0x77, 0x63, 0xff, 0xb7, 0x72, 0x5b, 0xff,
0xa9, 0x6b, 0x53, 0xff, 0x9a, 0x60, 0x4b, 0xff, 0x8b, 0x56, 0x41, 0xff,
0x6a, 0x44, 0x2e, 0xff, 0x53, 0x38, 0x21, 0xfd, 0x42, 0x4b, 0x2e, 0x1a,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x8e, 0x57, 0x48, 0x6e, 0xa6, 0x6b, 0x5a, 0xff, 0xb3, 0x74, 0x62, 0xff,
0xb8, 0x75, 0x61, 0xff, 0xba, 0x76, 0x61, 0xff, 0xb7, 0x74, 0x5c, 0xff,
0xae, 0x6e, 0x54, 0xff, 0x9f, 0x67, 0x4c, 0xff, 0x90, 0x5d, 0x43, 0xff,
0x79, 0x4d, 0x38, 0xff, 0x5c, 0x3d, 0x25, 0xff, 0x50, 0x39, 0x23, 0xb8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x78, 0x52, 0x43, 0x07, 0x92, 0x5c, 0x47, 0xdc,
0x9e, 0x64, 0x4e, 0xff, 0xa8, 0x6b, 0x52, 0xff, 0xaa, 0x6d, 0x53, 0xff,
0xa7, 0x6d, 0x50, 0xff, 0x9c, 0x67, 0x4a, 0xff, 0x8e, 0x5d, 0x41, 0xff,
0x7d, 0x54, 0x3a, 0xff, 0x6a, 0x4b, 0x32, 0xff, 0x51, 0x39, 0x23, 0xff,
0x28, 0x20, 0x12, 0x77, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x6f, 0x4a, 0x37, 0x2a, 0x81, 0x54, 0x3d, 0xec, 0x8b, 0x5a, 0x41, 0xff,
0x8b, 0x5a, 0x3f, 0xff, 0x85, 0x56, 0x3c, 0xff, 0x7d, 0x52, 0x38, 0xff,
0x77, 0x51, 0x33, 0xff, 0x6f, 0x4e, 0x34, 0xff, 0x5f, 0x45, 0x2c, 0xff,
0x2e, 0x21, 0x14, 0xff, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x92,
0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x11, 0x0b, 0x08, 0xb4,
0x50, 0x37, 0x25, 0xfe, 0x6d, 0x49, 0x2f, 0xff, 0x52, 0x37, 0x22, 0xff,
0x50, 0x37, 0x21, 0xff, 0x66, 0x45, 0x2b, 0xff, 0x60, 0x46, 0x2c, 0xff,
0x2d, 0x22, 0x16, 0xff, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xd2,
0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x64, 0x09, 0x0a, 0x07, 0xa4,
0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, 0xc4,
0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x6c,
0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0d,
0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
static void static void
dump_accels (gpointer callback_data, dump_accels (gpointer callback_data,
guint callback_action, guint callback_action,
...@@ -2976,17 +3118,17 @@ dump_accels (gpointer callback_data, ...@@ -2976,17 +3118,17 @@ dump_accels (gpointer callback_data,
static GtkItemFactoryEntry menu_items[] = static GtkItemFactoryEntry menu_items[] =
{ {
{ "/_File", NULL, 0, 0, "<Branch>" }, { "/_File", NULL, 0, 0, "<Branch>" },
{ "/File/tearoff1", NULL, gtk_ifactory_cb, 0, "<Tearoff>" }, { "/File/tearoff1", NULL, gtk_ifactory_cb, 0, "<Tearoff>" },
{ "/File/_New", "<control>N", gtk_ifactory_cb, 0 }, { "/File/_New", NULL, gtk_ifactory_cb, 0, "<StockItem>", GTK_STOCK_NEW },
{ "/File/_Open", "<control>O", gtk_ifactory_cb, 0 }, { "/File/_Open", NULL, gtk_ifactory_cb, 0, "<StockItem>", GTK_STOCK_OPEN },
{ "/File/_Save", "<control>S", gtk_ifactory_cb, 0 }, { "/File/_Save", NULL, gtk_ifactory_cb, 0, "<StockItem>", GTK_STOCK_SAVE },
{ "/File/Save _As...", NULL, gtk_ifactory_cb, 0 }, { "/File/Save _As...", "<control>A", gtk_ifactory_cb, 0, "<StockItem>", GTK_STOCK_SAVE },
{ "/File/_Dump \"_Accels\"", NULL, dump_accels, 0 }, { "/File/_Dump \"_Accels\"", NULL, dump_accels, 0 },
{ "/File/\\/Test__Escaping/And\\/\n\tWei\\\\rdly", { "/File/\\/Test__Escaping/And\\/\n\tWei\\\\rdly",
NULL, gtk_ifactory_cb, 0 }, NULL, gtk_ifactory_cb, 0 },
{ "/File/sep1", NULL, gtk_ifactory_cb, 0, "<Separator>" }, { "/File/sep1", NULL, gtk_ifactory_cb, 0, "<Separator>" },
{ "/File/_Quit", "<control>Q", gtk_ifactory_cb, 0 }, { "/File/_Quit", NULL, gtk_ifactory_cb, 0, "<StockItem>", GTK_STOCK_QUIT },
{ "/_Preferences", NULL, 0, 0, "<Branch>" }, { "/_Preferences", NULL, 0, 0, "<Branch>" },
{ "/_Preferences/_Color", NULL, 0, 0, "<Branch>" }, { "/_Preferences/_Color", NULL, 0, 0, "<Branch>" },
...@@ -2999,6 +3141,7 @@ static GtkItemFactoryEntry menu_items[] = ...@@ -2999,6 +3141,7 @@ static GtkItemFactoryEntry menu_items[] =
{ "/_Preferences/Shape/_Oval", NULL, gtk_ifactory_cb, 0, "/Preferences/Shape/Rectangle" }, { "/_Preferences/Shape/_Oval", NULL, gtk_ifactory_cb, 0, "/Preferences/Shape/Rectangle" },
{ "/_Preferences/Shape/_Rectangle", NULL, gtk_ifactory_cb, 0, "/Preferences/Shape/Square" }, { "/_Preferences/Shape/_Rectangle", NULL, gtk_ifactory_cb, 0, "/Preferences/Shape/Square" },
{ "/_Preferences/Shape/_Oval", NULL, gtk_ifactory_cb, 0, "/Preferences/Shape/Rectangle" }, { "/_Preferences/Shape/_Oval", NULL, gtk_ifactory_cb, 0, "/Preferences/Shape/Rectangle" },
{ "/_Preferences/Shape/_Image", NULL, gtk_ifactory_cb, 0, "<ImageItem>", apple, sizeof(apple) },
/* For testing deletion of menus */ /* For testing deletion of menus */
{ "/_Preferences/Should_NotAppear", NULL, 0, 0, "<Branch>" }, { "/_Preferences/Should_NotAppear", NULL, 0, 0, "<Branch>" },
...@@ -3006,6 +3149,7 @@ static GtkItemFactoryEntry menu_items[] = ...@@ -3006,6 +3149,7 @@ static GtkItemFactoryEntry menu_items[] =
{ "/Preferences/ShouldNotAppear/SubItem2", NULL, gtk_ifactory_cb, 0 }, { "/Preferences/ShouldNotAppear/SubItem2", NULL, gtk_ifactory_cb, 0 },
{ "/_Help", NULL, 0, 0, "<LastBranch>" }, { "/_Help", NULL, 0, 0, "<LastBranch>" },
{ "/Help/_Help", NULL, gtk_ifactory_cb, 0, "<StockItem>", GTK_STOCK_HELP},
{ "/Help/_About", NULL, gtk_ifactory_cb, 0 }, { "/Help/_About", NULL, gtk_ifactory_cb, 0 },
}; };
...@@ -6783,10 +6927,12 @@ create_pages (GtkNotebook *notebook, gint start, gint end) ...@@ -6783,10 +6927,12 @@ create_pages (GtkNotebook *notebook, gint start, gint end)
GtkWidget *pixwid; GtkWidget *pixwid;
gint i; gint i;
char buffer[32]; char buffer[32];
char accel_buffer[32];
for (i = start; i <= end; i++) for (i = start; i <= end; i++)
{ {
sprintf (buffer, "Page %d", i); sprintf (buffer, "Page %d", i);
sprintf (accel_buffer, "Page _%d", i);