GTK 3 prep: use the glib names for base object types.

This commit is contained in:
Simon Tatham
2015-10-03 12:27:56 +01:00
parent 0dc2fd1ea3
commit 71c7bcd981

216
gtk.c
View File

@ -1283,8 +1283,8 @@ static void msgbox_button_clicked(GtkButton *button, gpointer data)
GtkWidget *window = GTK_WIDGET(data); GtkWidget *window = GTK_WIDGET(data);
int v, *ip; int v, *ip;
ip = (int *)gtk_object_get_data(GTK_OBJECT(window), "user-data"); ip = (int *)g_object_get_data(G_OBJECT(window), "user-data");
v = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(button), "user-data")); v = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(button), "user-data"));
*ip = v; *ip = v;
gtk_widget_destroy(GTK_WIDGET(data)); gtk_widget_destroy(GTK_WIDGET(data));
@ -1292,13 +1292,13 @@ static void msgbox_button_clicked(GtkButton *button, gpointer data)
static int win_key_press(GtkWidget *widget, GdkEventKey *event, gpointer data) static int win_key_press(GtkWidget *widget, GdkEventKey *event, gpointer data)
{ {
GtkObject *cancelbutton = GTK_OBJECT(data); GObject *cancelbutton = G_OBJECT(data);
/* /*
* `Escape' effectively clicks the cancel button * `Escape' effectively clicks the cancel button
*/ */
if (event->keyval == GDK_KEY_Escape) { if (event->keyval == GDK_KEY_Escape) {
gtk_signal_emit_by_name(GTK_OBJECT(cancelbutton), "clicked"); g_signal_emit_by_name(cancelbutton, "clicked");
return TRUE; return TRUE;
} }
@ -1349,19 +1349,19 @@ int message_box(GtkWidget *parent, char *title, char *msg, int centre,
gtk_window_set_default(GTK_WINDOW(window), button); gtk_window_set_default(GTK_WINDOW(window), button);
} }
if (i == cancel) { if (i == cancel) {
gtk_signal_connect(GTK_OBJECT(window), "key_press_event", g_signal_connect(G_OBJECT(window), "key_press_event",
GTK_SIGNAL_FUNC(win_key_press), button); G_CALLBACK(win_key_press), button);
} }
gtk_signal_connect(GTK_OBJECT(button), "clicked", g_signal_connect(G_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(msgbox_button_clicked), window); G_CALLBACK(msgbox_button_clicked), window);
gtk_object_set_data(GTK_OBJECT(button), "user-data", g_object_set_data(G_OBJECT(button), "user-data",
GINT_TO_POINTER(i)); GINT_TO_POINTER(i));
titles += strlen(titles)+1; titles += strlen(titles)+1;
i++; i++;
} }
gtk_object_set_data(GTK_OBJECT(window), "user-data", &i); g_object_set_data(G_OBJECT(window), "user-data", &i);
gtk_signal_connect(GTK_OBJECT(window), "destroy", g_signal_connect(G_OBJECT(window), "destroy",
GTK_SIGNAL_FUNC(window_destroy), NULL); G_CALLBACK(window_destroy), NULL);
gtk_window_set_modal(GTK_WINDOW(window), TRUE); gtk_window_set_modal(GTK_WINDOW(window), TRUE);
gtk_window_set_transient_for(GTK_WINDOW(window), GTK_WINDOW(parent)); gtk_window_set_transient_for(GTK_WINDOW(window), GTK_WINDOW(parent));
/* set_transient_window_pos(parent, window); */ /* set_transient_window_pos(parent, window); */
@ -1413,8 +1413,8 @@ static int editbox_key(GtkWidget *widget, GdkEventKey *event, gpointer data)
if (event->keyval == GDK_KEY_Return && if (event->keyval == GDK_KEY_Return &&
gtk_widget_get_parent(widget) != NULL) { gtk_widget_get_parent(widget) != NULL) {
gint return_val; gint return_val;
gtk_signal_emit_stop_by_name(GTK_OBJECT(widget), "key_press_event"); g_signal_stop_emission_by_name(G_OBJECT(widget), "key_press_event");
gtk_signal_emit_by_name(GTK_OBJECT(gtk_widget_get_parent(widget)), g_signal_emit_by_name(G_OBJECT(gtk_widget_get_parent(widget)),
"key_press_event", event, &return_val); "key_press_event", event, &return_val);
return return_val; return return_val;
} }
@ -1440,8 +1440,7 @@ static void droplist_sel(GtkMenuItem *item, gpointer data)
{ {
config_item *i = (config_item *)data; config_item *i = (config_item *)data;
i->ival = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(item), i->ival = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(item), "user-data"));
"user-data"));
} }
static int get_config(frontend *fe, int which) static int get_config(frontend *fe, int which)
@ -1464,8 +1463,8 @@ static int get_config(frontend *fe, int which)
(GTK_BOX(gtk_dialog_get_action_area(GTK_DIALOG(fe->cfgbox))), (GTK_BOX(gtk_dialog_get_action_area(GTK_DIALOG(fe->cfgbox))),
w, FALSE, FALSE, 0); w, FALSE, FALSE, 0);
gtk_widget_show(w); gtk_widget_show(w);
gtk_signal_connect(GTK_OBJECT(w), "clicked", g_signal_connect(G_OBJECT(w), "clicked",
GTK_SIGNAL_FUNC(config_cancel_button_clicked), fe); G_CALLBACK(config_cancel_button_clicked), fe);
cancel = w; cancel = w;
w = gtk_button_new_from_stock(GTK_STOCK_OK); w = gtk_button_new_from_stock(GTK_STOCK_OK);
@ -1475,8 +1474,8 @@ static int get_config(frontend *fe, int which)
gtk_widget_show(w); gtk_widget_show(w);
gtk_widget_set_can_default(w, TRUE); gtk_widget_set_can_default(w, TRUE);
gtk_window_set_default(GTK_WINDOW(fe->cfgbox), w); gtk_window_set_default(GTK_WINDOW(fe->cfgbox), w);
gtk_signal_connect(GTK_OBJECT(w), "clicked", g_signal_connect(G_OBJECT(w), "clicked",
GTK_SIGNAL_FUNC(config_ok_button_clicked), fe); G_CALLBACK(config_ok_button_clicked), fe);
table = gtk_table_new(1, 2, FALSE); table = gtk_table_new(1, 2, FALSE);
y = 0; y = 0;
@ -1508,10 +1507,10 @@ static int get_config(frontend *fe, int which)
GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_EXPAND | GTK_SHRINK | GTK_FILL,
3, 3); 3, 3);
gtk_entry_set_text(GTK_ENTRY(w), i->sval); gtk_entry_set_text(GTK_ENTRY(w), i->sval);
gtk_signal_connect(GTK_OBJECT(w), "changed", g_signal_connect(G_OBJECT(w), "changed",
GTK_SIGNAL_FUNC(editbox_changed), i); G_CALLBACK(editbox_changed), i);
gtk_signal_connect(GTK_OBJECT(w), "key_press_event", g_signal_connect(G_OBJECT(w), "key_press_event",
GTK_SIGNAL_FUNC(editbox_key), NULL); G_CALLBACK(editbox_key), NULL);
gtk_widget_show(w); gtk_widget_show(w);
break; break;
@ -1521,8 +1520,8 @@ static int get_config(frontend *fe, int which)
* Simple checkbox. * Simple checkbox.
*/ */
w = gtk_check_button_new_with_label(i->name); w = gtk_check_button_new_with_label(i->name);
gtk_signal_connect(GTK_OBJECT(w), "toggled", g_signal_connect(G_OBJECT(w), "toggled",
GTK_SIGNAL_FUNC(button_toggled), i); G_CALLBACK(button_toggled), i);
gtk_table_attach(GTK_TABLE(table), w, 0, 2, y, y+1, gtk_table_attach(GTK_TABLE(table), w, 0, 2, y, y+1,
GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_EXPAND | GTK_SHRINK | GTK_FILL,
GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_EXPAND | GTK_SHRINK | GTK_FILL,
@ -1576,10 +1575,10 @@ static int get_config(frontend *fe, int which)
menuitem = gtk_menu_item_new_with_label(name); menuitem = gtk_menu_item_new_with_label(name);
gtk_container_add(GTK_CONTAINER(menu), menuitem); gtk_container_add(GTK_CONTAINER(menu), menuitem);
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data", g_object_set_data(G_OBJECT(menuitem), "user-data",
GINT_TO_POINTER(val)); GINT_TO_POINTER(val));
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(droplist_sel), i); G_CALLBACK(droplist_sel), i);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
val++; val++;
@ -1596,10 +1595,10 @@ static int get_config(frontend *fe, int which)
y++; y++;
} }
gtk_signal_connect(GTK_OBJECT(fe->cfgbox), "destroy", g_signal_connect(G_OBJECT(fe->cfgbox), "destroy",
GTK_SIGNAL_FUNC(window_destroy), NULL); G_CALLBACK(window_destroy), NULL);
gtk_signal_connect(GTK_OBJECT(fe->cfgbox), "key_press_event", g_signal_connect(G_OBJECT(fe->cfgbox), "key_press_event",
GTK_SIGNAL_FUNC(win_key_press), cancel); G_CALLBACK(win_key_press), cancel);
gtk_window_set_modal(GTK_WINDOW(fe->cfgbox), TRUE); gtk_window_set_modal(GTK_WINDOW(fe->cfgbox), TRUE);
gtk_window_set_transient_for(GTK_WINDOW(fe->cfgbox), gtk_window_set_transient_for(GTK_WINDOW(fe->cfgbox),
GTK_WINDOW(fe->window)); GTK_WINDOW(fe->window));
@ -1615,7 +1614,7 @@ static int get_config(frontend *fe, int which)
static void menu_key_event(GtkMenuItem *menuitem, gpointer data) static void menu_key_event(GtkMenuItem *menuitem, gpointer data)
{ {
frontend *fe = (frontend *)data; frontend *fe = (frontend *)data;
int key = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(menuitem), int key = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(menuitem),
"user-data")); "user-data"));
if (!midend_process_key(fe->me, 0, 0, key)) if (!midend_process_key(fe->me, 0, 0, key))
gtk_widget_destroy(fe->window); gtk_widget_destroy(fe->window);
@ -1775,7 +1774,7 @@ static void menu_preset_event(GtkMenuItem *menuitem, gpointer data)
{ {
frontend *fe = (frontend *)data; frontend *fe = (frontend *)data;
game_params *params = game_params *params =
(game_params *)gtk_object_get_data(GTK_OBJECT(menuitem), "user-data"); (game_params *)g_object_get_data(G_OBJECT(menuitem), "user-data");
if (fe->preset_threaded || if (fe->preset_threaded ||
(GTK_IS_CHECK_MENU_ITEM(menuitem) && (GTK_IS_CHECK_MENU_ITEM(menuitem) &&
@ -1866,7 +1865,7 @@ static void filesel_ok(GtkButton *button, gpointer data)
{ {
frontend *fe = (frontend *)data; frontend *fe = (frontend *)data;
gpointer filesel = gtk_object_get_data(GTK_OBJECT(button), "user-data"); gpointer filesel = g_object_get_data(G_OBJECT(button), "user-data");
const char *name = const char *name =
gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel)); gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel));
@ -1882,20 +1881,20 @@ static char *file_selector(frontend *fe, char *title, int save)
fe->filesel_name = NULL; fe->filesel_name = NULL;
gtk_window_set_modal(GTK_WINDOW(filesel), TRUE); gtk_window_set_modal(GTK_WINDOW(filesel), TRUE);
gtk_object_set_data g_object_set_data
(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "user-data", (G_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "user-data",
(gpointer)filesel); (gpointer)filesel);
gtk_signal_connect g_signal_connect
(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "clicked", (G_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "clicked",
GTK_SIGNAL_FUNC(filesel_ok), fe); G_CALLBACK(filesel_ok), fe);
gtk_signal_connect_object g_signal_connect_swapped
(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "clicked", (G_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "clicked",
GTK_SIGNAL_FUNC(gtk_widget_destroy), (gpointer)filesel); G_CALLBACK(gtk_widget_destroy), (gpointer)filesel);
gtk_signal_connect_object g_signal_connect_object
(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), "clicked", (G_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), "clicked",
GTK_SIGNAL_FUNC(gtk_widget_destroy), (gpointer)filesel); G_CALLBACK(gtk_widget_destroy), (gpointer)filesel);
gtk_signal_connect(GTK_OBJECT(filesel), "destroy", g_signal_connect(G_OBJECT(filesel), "destroy",
GTK_SIGNAL_FUNC(window_destroy), NULL); G_CALLBACK(window_destroy), NULL);
gtk_widget_show(filesel); gtk_widget_show(filesel);
gtk_window_set_transient_for(GTK_WINDOW(filesel), GTK_WINDOW(fe->window)); gtk_window_set_transient_for(GTK_WINDOW(filesel), GTK_WINDOW(fe->window));
gtk_main(); gtk_main();
@ -2051,7 +2050,7 @@ static void menu_restart_event(GtkMenuItem *menuitem, gpointer data)
static void menu_config_event(GtkMenuItem *menuitem, gpointer data) static void menu_config_event(GtkMenuItem *menuitem, gpointer data)
{ {
frontend *fe = (frontend *)data; frontend *fe = (frontend *)data;
int which = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(menuitem), int which = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(menuitem),
"user-data")); "user-data"));
if (fe->preset_threaded || if (fe->preset_threaded ||
@ -2087,10 +2086,9 @@ static GtkWidget *add_menu_item_with_key(frontend *fe, GtkContainer *cont,
GtkWidget *menuitem = gtk_menu_item_new_with_label(text); GtkWidget *menuitem = gtk_menu_item_new_with_label(text);
int keyqual; int keyqual;
gtk_container_add(cont, menuitem); gtk_container_add(cont, menuitem);
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data", g_object_set_data(G_OBJECT(menuitem), "user-data", GINT_TO_POINTER(key));
GINT_TO_POINTER(key)); g_signal_connect(G_OBJECT(menuitem), "activate",
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", G_CALLBACK(menu_key_event), fe);
GTK_SIGNAL_FUNC(menu_key_event), fe);
switch (key & ~0x1F) { switch (key & ~0x1F) {
case 0x00: case 0x00:
key += 0x60; key += 0x60;
@ -2256,24 +2254,24 @@ static frontend *new_window(char *arg, int argtype, char **error)
menuitem = gtk_menu_item_new_with_label("Restart"); menuitem = gtk_menu_item_new_with_label("Restart");
gtk_container_add(GTK_CONTAINER(menu), menuitem); gtk_container_add(GTK_CONTAINER(menu), menuitem);
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(menu_restart_event), fe); G_CALLBACK(menu_restart_event), fe);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
menuitem = gtk_menu_item_new_with_label("Specific..."); menuitem = gtk_menu_item_new_with_label("Specific...");
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data", g_object_set_data(G_OBJECT(menuitem), "user-data",
GINT_TO_POINTER(CFG_DESC)); GINT_TO_POINTER(CFG_DESC));
gtk_container_add(GTK_CONTAINER(menu), menuitem); gtk_container_add(GTK_CONTAINER(menu), menuitem);
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(menu_config_event), fe); G_CALLBACK(menu_config_event), fe);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
menuitem = gtk_menu_item_new_with_label("Random Seed..."); menuitem = gtk_menu_item_new_with_label("Random Seed...");
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data", g_object_set_data(G_OBJECT(menuitem), "user-data",
GINT_TO_POINTER(CFG_SEED)); GINT_TO_POINTER(CFG_SEED));
gtk_container_add(GTK_CONTAINER(menu), menuitem); gtk_container_add(GTK_CONTAINER(menu), menuitem);
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(menu_config_event), fe); G_CALLBACK(menu_config_event), fe);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
fe->preset_radio = NULL; fe->preset_radio = NULL;
@ -2303,9 +2301,9 @@ static frontend *new_window(char *arg, int argtype, char **error)
gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menuitem)); gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menuitem));
fe->n_preset_menu_items++; fe->n_preset_menu_items++;
gtk_container_add(GTK_CONTAINER(submenu), menuitem); gtk_container_add(GTK_CONTAINER(submenu), menuitem);
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data", params); g_object_set_data(G_OBJECT(menuitem), "user-data", params);
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(menu_preset_event), fe); G_CALLBACK(menu_preset_event), fe);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
} }
@ -2316,10 +2314,10 @@ static frontend *new_window(char *arg, int argtype, char **error)
fe->preset_radio = fe->preset_radio =
gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menuitem)); gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menuitem));
gtk_container_add(GTK_CONTAINER(submenu), menuitem); gtk_container_add(GTK_CONTAINER(submenu), menuitem);
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data", g_object_set_data(G_OBJECT(menuitem), "user-data",
GINT_TO_POINTER(CFG_SETTINGS)); GINT_TO_POINTER(CFG_SETTINGS));
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(menu_config_event), fe); G_CALLBACK(menu_config_event), fe);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
} }
@ -2328,13 +2326,13 @@ static frontend *new_window(char *arg, int argtype, char **error)
add_menu_separator(GTK_CONTAINER(menu)); add_menu_separator(GTK_CONTAINER(menu));
menuitem = gtk_menu_item_new_with_label("Load..."); menuitem = gtk_menu_item_new_with_label("Load...");
gtk_container_add(GTK_CONTAINER(menu), menuitem); gtk_container_add(GTK_CONTAINER(menu), menuitem);
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(menu_load_event), fe); G_CALLBACK(menu_load_event), fe);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
menuitem = gtk_menu_item_new_with_label("Save..."); menuitem = gtk_menu_item_new_with_label("Save...");
gtk_container_add(GTK_CONTAINER(menu), menuitem); gtk_container_add(GTK_CONTAINER(menu), menuitem);
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(menu_save_event), fe); G_CALLBACK(menu_save_event), fe);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
#ifndef STYLUS_BASED #ifndef STYLUS_BASED
add_menu_separator(GTK_CONTAINER(menu)); add_menu_separator(GTK_CONTAINER(menu));
@ -2345,8 +2343,8 @@ static frontend *new_window(char *arg, int argtype, char **error)
add_menu_separator(GTK_CONTAINER(menu)); add_menu_separator(GTK_CONTAINER(menu));
menuitem = gtk_menu_item_new_with_label("Copy"); menuitem = gtk_menu_item_new_with_label("Copy");
gtk_container_add(GTK_CONTAINER(menu), menuitem); gtk_container_add(GTK_CONTAINER(menu), menuitem);
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(menu_copy_event), fe); G_CALLBACK(menu_copy_event), fe);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
fe->copy_menu_item = menuitem; fe->copy_menu_item = menuitem;
} else { } else {
@ -2356,8 +2354,8 @@ static frontend *new_window(char *arg, int argtype, char **error)
add_menu_separator(GTK_CONTAINER(menu)); add_menu_separator(GTK_CONTAINER(menu));
menuitem = gtk_menu_item_new_with_label("Solve"); menuitem = gtk_menu_item_new_with_label("Solve");
gtk_container_add(GTK_CONTAINER(menu), menuitem); gtk_container_add(GTK_CONTAINER(menu), menuitem);
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(menu_solve_event), fe); G_CALLBACK(menu_solve_event), fe);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
} }
add_menu_separator(GTK_CONTAINER(menu)); add_menu_separator(GTK_CONTAINER(menu));
@ -2372,24 +2370,24 @@ static frontend *new_window(char *arg, int argtype, char **error)
menuitem = gtk_menu_item_new_with_label("About"); menuitem = gtk_menu_item_new_with_label("About");
gtk_container_add(GTK_CONTAINER(menu), menuitem); gtk_container_add(GTK_CONTAINER(menu), menuitem);
gtk_signal_connect(GTK_OBJECT(menuitem), "activate", g_signal_connect(G_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(menu_about_event), fe); G_CALLBACK(menu_about_event), fe);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
#ifdef STYLUS_BASED #ifdef STYLUS_BASED
menuitem=gtk_button_new_with_mnemonic("_Redo"); menuitem=gtk_button_new_with_mnemonic("_Redo");
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data", g_object_set_data(G_OBJECT(menuitem), "user-data",
GINT_TO_POINTER((int)('r'))); GINT_TO_POINTER((int)('r')));
gtk_signal_connect(GTK_OBJECT(menuitem), "clicked", g_signal_connect(G_OBJECT(menuitem), "clicked",
GTK_SIGNAL_FUNC(menu_key_event), fe); G_CALLBACK(menu_key_event), fe);
gtk_box_pack_end(hbox, menuitem, FALSE, FALSE, 0); gtk_box_pack_end(hbox, menuitem, FALSE, FALSE, 0);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
menuitem=gtk_button_new_with_mnemonic("_Undo"); menuitem=gtk_button_new_with_mnemonic("_Undo");
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data", g_object_set_data(G_OBJECT(menuitem), "user-data",
GINT_TO_POINTER((int)('u'))); GINT_TO_POINTER((int)('u')));
gtk_signal_connect(GTK_OBJECT(menuitem), "clicked", g_signal_connect(G_OBJECT(menuitem), "clicked",
GTK_SIGNAL_FUNC(menu_key_event), fe); G_CALLBACK(menu_key_event), fe);
gtk_box_pack_end(hbox, menuitem, FALSE, FALSE, 0); gtk_box_pack_end(hbox, menuitem, FALSE, FALSE, 0);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
@ -2402,10 +2400,10 @@ static frontend *new_window(char *arg, int argtype, char **error)
errbuf[1]='\0'; errbuf[1]='\0';
for(errbuf[0]='0';errbuf[0]<='9';errbuf[0]++) { for(errbuf[0]='0';errbuf[0]<='9';errbuf[0]++) {
menuitem=gtk_button_new_with_label(errbuf); menuitem=gtk_button_new_with_label(errbuf);
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data", g_object_set_data(G_OBJECT(menuitem), "user-data",
GINT_TO_POINTER((int)(errbuf[0]))); GINT_TO_POINTER((int)(errbuf[0])));
gtk_signal_connect(GTK_OBJECT(menuitem), "clicked", g_signal_connect(G_OBJECT(menuitem), "clicked",
GTK_SIGNAL_FUNC(menu_key_event), fe); G_CALLBACK(menu_key_event), fe);
gtk_box_pack_start(hbox, menuitem, TRUE, TRUE, 0); gtk_box_pack_start(hbox, menuitem, TRUE, TRUE, 0);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
} }
@ -2458,28 +2456,28 @@ static frontend *new_window(char *arg, int argtype, char **error)
fe->paste_data = NULL; fe->paste_data = NULL;
fe->paste_data_len = 0; fe->paste_data_len = 0;
gtk_signal_connect(GTK_OBJECT(fe->window), "destroy", g_signal_connect(G_OBJECT(fe->window), "destroy",
GTK_SIGNAL_FUNC(destroy), fe); G_CALLBACK(destroy), fe);
gtk_signal_connect(GTK_OBJECT(fe->window), "key_press_event", g_signal_connect(G_OBJECT(fe->window), "key_press_event",
GTK_SIGNAL_FUNC(key_event), fe); G_CALLBACK(key_event), fe);
gtk_signal_connect(GTK_OBJECT(fe->area), "button_press_event", g_signal_connect(G_OBJECT(fe->area), "button_press_event",
GTK_SIGNAL_FUNC(button_event), fe); G_CALLBACK(button_event), fe);
gtk_signal_connect(GTK_OBJECT(fe->area), "button_release_event", g_signal_connect(G_OBJECT(fe->area), "button_release_event",
GTK_SIGNAL_FUNC(button_event), fe); G_CALLBACK(button_event), fe);
gtk_signal_connect(GTK_OBJECT(fe->area), "motion_notify_event", g_signal_connect(G_OBJECT(fe->area), "motion_notify_event",
GTK_SIGNAL_FUNC(motion_event), fe); G_CALLBACK(motion_event), fe);
gtk_signal_connect(GTK_OBJECT(fe->area), "selection_get", g_signal_connect(G_OBJECT(fe->area), "selection_get",
GTK_SIGNAL_FUNC(selection_get), fe); G_CALLBACK(selection_get), fe);
gtk_signal_connect(GTK_OBJECT(fe->area), "selection_clear_event", g_signal_connect(G_OBJECT(fe->area), "selection_clear_event",
GTK_SIGNAL_FUNC(selection_clear), fe); G_CALLBACK(selection_clear), fe);
gtk_signal_connect(GTK_OBJECT(fe->area), "expose_event", g_signal_connect(G_OBJECT(fe->area), "expose_event",
GTK_SIGNAL_FUNC(expose_area), fe); G_CALLBACK(expose_area), fe);
gtk_signal_connect(GTK_OBJECT(fe->window), "map_event", g_signal_connect(G_OBJECT(fe->window), "map_event",
GTK_SIGNAL_FUNC(map_window), fe); G_CALLBACK(map_window), fe);
gtk_signal_connect(GTK_OBJECT(fe->area), "configure_event", g_signal_connect(G_OBJECT(fe->area), "configure_event",
GTK_SIGNAL_FUNC(configure_area), fe); G_CALLBACK(configure_area), fe);
gtk_signal_connect(GTK_OBJECT(fe->window), "configure_event", g_signal_connect(G_OBJECT(fe->window), "configure_event",
GTK_SIGNAL_FUNC(configure_window), fe); G_CALLBACK(configure_window), fe);
gtk_widget_add_events(GTK_WIDGET(fe->area), gtk_widget_add_events(GTK_WIDGET(fe->area),
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_PRESS_MASK |