static GtkWidget *build_map(void) { GtkWidget *table; GtkWidget *area; table = gtk_table_new(4, 2, FALSE); gmap = guimap_new(); guimap_set_show_no_setup_nodes(gmap, TRUE); area = guimap_build_drawingarea(gmap, MAP_WIDTH, MAP_HEIGHT); gtk_widget_set_can_focus(area, TRUE); gtk_widget_add_events(gmap->area, GDK_ENTER_NOTIFY_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK); g_signal_connect(G_OBJECT(gmap->area), "enter_notify_event", G_CALLBACK(gtk_widget_grab_focus), gmap); g_signal_connect(G_OBJECT(gmap->area), "button_press_event", G_CALLBACK(button_press_map_cb), gmap); g_signal_connect(G_OBJECT(gmap->area), "key_press_event", G_CALLBACK(key_press_map_cb), gmap); gtk_table_attach(GTK_TABLE(table), gmap->area, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); build_map_resize(table, 1, 2, GTK_ORIENTATION_VERTICAL, vresize_buttons, G_CALLBACK(change_height)); build_map_resize(table, 0, 3, GTK_ORIENTATION_HORIZONTAL, hresize_buttons, G_CALLBACK(change_width)); return table; }
static GtkWidget *build_map_area(void) { GtkWidget *map_area = guimap_build_drawingarea(gmap, MAP_WIDTH, MAP_HEIGHT); gtk_widget_add_events(map_area, GDK_BUTTON_PRESS_MASK); g_signal_connect(G_OBJECT(map_area), "button_press_event", G_CALLBACK(button_press_map_cb), NULL); return map_area; }