/* * DO NOT EDIT THIS FILE - it is generated by Glade. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include "callbacks.h" #include "interface.h" #include "support.h" GtkWidget* create_main_window (void) { GtkWidget *main_window; GtkWidget *vbox1; GtkWidget *main_menubar; guint tmp_key; GtkWidget *main_file; GtkWidget *main_file_menu; GtkAccelGroup *main_file_menu_accels; GtkWidget *main_new; GtkWidget *main_new_menu; GtkAccelGroup *main_new_menu_accels; GtkWidget *chooser; GtkWidget *main_random; GtkWidget *separator8; GtkWidget *main_faulting; GtkWidget *main_perlin_noise; GtkWidget *main_spectral; GtkWidget *main_subdivision; GtkWidget *open; GtkWidget *separator9; GtkWidget *erode_flowmap; GtkWidget *join; GtkWidget *merge; GtkWidget *warp; GtkWidget *separator1; GtkWidget *main_options; GtkWidget *main_print_settings; GtkWidget *separator2; GtkWidget *main_exit; GtkWidget *main_help; GtkWidget *main_help_menu; GtkAccelGroup *main_help_menu_accels; GtkWidget *tutorial; GtkWidget *users_guide; GtkWidget *separator6; GtkWidget *main_about; GtkWidget *scrolledwindow1; GtkWidget *main_list; GtkWidget *label1; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (main_window, "main_window"); gtk_object_set_data (GTK_OBJECT (main_window), "main_window", main_window); gtk_widget_set_usize (main_window, 200, 300); gtk_window_set_title (GTK_WINDOW (main_window), _("Terraform")); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox1, "vbox1"); gtk_widget_ref (vbox1); gtk_object_set_data_full (GTK_OBJECT (main_window), "vbox1", vbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (main_window), vbox1); main_menubar = gtk_menu_bar_new (); gtk_widget_set_name (main_menubar, "main_menubar"); gtk_widget_ref (main_menubar); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_menubar", main_menubar, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_menubar); gtk_box_pack_start (GTK_BOX (vbox1), main_menubar, FALSE, FALSE, 0); main_file = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_file)->child), _("_File")); gtk_widget_add_accelerator (main_file, "activate_item", accel_group, tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); gtk_widget_set_name (main_file, "main_file"); gtk_widget_ref (main_file); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_file", main_file, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_file); gtk_container_add (GTK_CONTAINER (main_menubar), main_file); main_file_menu = gtk_menu_new (); gtk_widget_set_name (main_file_menu, "main_file_menu"); gtk_widget_ref (main_file_menu); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_file_menu", main_file_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (main_file), main_file_menu); main_file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (main_file_menu)); main_new = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_new)->child), _("_New")); gtk_widget_add_accelerator (main_new, "activate_item", main_file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (main_new, "main_new"); gtk_widget_ref (main_new); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_new", main_new, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_new); gtk_container_add (GTK_CONTAINER (main_file_menu), main_new); main_new_menu = gtk_menu_new (); gtk_widget_set_name (main_new_menu, "main_new_menu"); gtk_widget_ref (main_new_menu); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_new_menu", main_new_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (main_new), main_new_menu); main_new_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (main_new_menu)); chooser = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (chooser)->child), _("_Chooser...")); gtk_widget_add_accelerator (chooser, "activate_item", main_new_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (chooser, "chooser"); gtk_widget_ref (chooser); gtk_object_set_data_full (GTK_OBJECT (main_window), "chooser", chooser, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (chooser); gtk_container_add (GTK_CONTAINER (main_new_menu), chooser); main_random = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_random)->child), _("_Random")); gtk_widget_add_accelerator (main_random, "activate_item", main_new_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (main_random, "main_random"); gtk_widget_ref (main_random); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_random", main_random, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_random); gtk_container_add (GTK_CONTAINER (main_new_menu), main_random); separator8 = gtk_menu_item_new (); gtk_widget_set_name (separator8, "separator8"); gtk_widget_ref (separator8); gtk_object_set_data_full (GTK_OBJECT (main_window), "separator8", separator8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator8); gtk_container_add (GTK_CONTAINER (main_new_menu), separator8); gtk_widget_set_sensitive (separator8, FALSE); main_faulting = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_faulting)->child), _("Faultin_g...")); gtk_widget_add_accelerator (main_faulting, "activate_item", main_new_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (main_faulting, "main_faulting"); gtk_widget_ref (main_faulting); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_faulting", main_faulting, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_faulting); gtk_container_add (GTK_CONTAINER (main_new_menu), main_faulting); main_perlin_noise = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_perlin_noise)->child), _("_Perlin Noise...")); gtk_widget_add_accelerator (main_perlin_noise, "activate_item", main_new_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (main_perlin_noise, "main_perlin_noise"); gtk_widget_ref (main_perlin_noise); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_perlin_noise", main_perlin_noise, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_perlin_noise); gtk_container_add (GTK_CONTAINER (main_new_menu), main_perlin_noise); main_spectral = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_spectral)->child), _("_Spectral...")); gtk_widget_add_accelerator (main_spectral, "activate_item", main_new_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (main_spectral, "main_spectral"); gtk_widget_ref (main_spectral); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_spectral", main_spectral, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_spectral); gtk_container_add (GTK_CONTAINER (main_new_menu), main_spectral); main_subdivision = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_subdivision)->child), _("Sub_division...")); gtk_widget_add_accelerator (main_subdivision, "activate_item", main_new_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (main_subdivision, "main_subdivision"); gtk_widget_ref (main_subdivision); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_subdivision", main_subdivision, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_subdivision); gtk_container_add (GTK_CONTAINER (main_new_menu), main_subdivision); open = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (open)->child), _("_Open...")); gtk_widget_add_accelerator (open, "activate_item", main_file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (open, "open"); gtk_widget_ref (open); gtk_object_set_data_full (GTK_OBJECT (main_window), "open", open, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (open); gtk_container_add (GTK_CONTAINER (main_file_menu), open); gtk_widget_add_accelerator (open, "activate", accel_group, GDK_F3, 0, GTK_ACCEL_VISIBLE); separator9 = gtk_menu_item_new (); gtk_widget_set_name (separator9, "separator9"); gtk_widget_ref (separator9); gtk_object_set_data_full (GTK_OBJECT (main_window), "separator9", separator9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator9); gtk_container_add (GTK_CONTAINER (main_file_menu), separator9); gtk_widget_set_sensitive (separator9, FALSE); erode_flowmap = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (erode_flowmap)->child), _("_Flowmap Erosion ...")); gtk_widget_add_accelerator (erode_flowmap, "activate_item", main_file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (erode_flowmap, "erode_flowmap"); gtk_widget_ref (erode_flowmap); gtk_object_set_data_full (GTK_OBJECT (main_window), "erode_flowmap", erode_flowmap, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_flowmap); gtk_container_add (GTK_CONTAINER (main_file_menu), erode_flowmap); join = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (join)->child), _("_Join...")); gtk_widget_add_accelerator (join, "activate_item", main_file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (join, "join"); gtk_widget_ref (join); gtk_object_set_data_full (GTK_OBJECT (main_window), "join", join, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (join); gtk_container_add (GTK_CONTAINER (main_file_menu), join); merge = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (merge)->child), _("_Merge...")); gtk_widget_add_accelerator (merge, "activate_item", main_file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (merge, "merge"); gtk_widget_ref (merge); gtk_object_set_data_full (GTK_OBJECT (main_window), "merge", merge, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (merge); gtk_container_add (GTK_CONTAINER (main_file_menu), merge); warp = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (warp)->child), _("_Warp...")); gtk_widget_add_accelerator (warp, "activate_item", main_file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (warp, "warp"); gtk_widget_ref (warp); gtk_object_set_data_full (GTK_OBJECT (main_window), "warp", warp, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (warp); gtk_container_add (GTK_CONTAINER (main_file_menu), warp); separator1 = gtk_menu_item_new (); gtk_widget_set_name (separator1, "separator1"); gtk_widget_ref (separator1); gtk_object_set_data_full (GTK_OBJECT (main_window), "separator1", separator1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator1); gtk_container_add (GTK_CONTAINER (main_file_menu), separator1); gtk_widget_set_sensitive (separator1, FALSE); main_options = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_options)->child), _("O_ptions...")); gtk_widget_add_accelerator (main_options, "activate_item", main_file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (main_options, "main_options"); gtk_widget_ref (main_options); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_options", main_options, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_options); gtk_container_add (GTK_CONTAINER (main_file_menu), main_options); main_print_settings = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_print_settings)->child), _("Prin_t Settings...")); gtk_widget_add_accelerator (main_print_settings, "activate_item", main_file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (main_print_settings, "main_print_settings"); gtk_widget_ref (main_print_settings); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_print_settings", main_print_settings, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_print_settings); gtk_container_add (GTK_CONTAINER (main_file_menu), main_print_settings); separator2 = gtk_menu_item_new (); gtk_widget_set_name (separator2, "separator2"); gtk_widget_ref (separator2); gtk_object_set_data_full (GTK_OBJECT (main_window), "separator2", separator2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator2); gtk_container_add (GTK_CONTAINER (main_file_menu), separator2); gtk_widget_set_sensitive (separator2, FALSE); main_exit = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_exit)->child), _("E_xit")); gtk_widget_add_accelerator (main_exit, "activate_item", main_file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (main_exit, "main_exit"); gtk_widget_ref (main_exit); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_exit", main_exit, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_exit); gtk_container_add (GTK_CONTAINER (main_file_menu), main_exit); gtk_widget_add_accelerator (main_exit, "activate", accel_group, GDK_Q, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); main_help = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_help)->child), _("_Help")); gtk_widget_add_accelerator (main_help, "activate_item", accel_group, tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); gtk_widget_set_name (main_help, "main_help"); gtk_widget_ref (main_help); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_help", main_help, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_help); gtk_container_add (GTK_CONTAINER (main_menubar), main_help); main_help_menu = gtk_menu_new (); gtk_widget_set_name (main_help_menu, "main_help_menu"); gtk_widget_ref (main_help_menu); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_help_menu", main_help_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (main_help), main_help_menu); main_help_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (main_help_menu)); tutorial = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (tutorial)->child), _("_Tutorial...")); gtk_widget_add_accelerator (tutorial, "activate_item", main_help_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (tutorial, "tutorial"); gtk_widget_ref (tutorial); gtk_object_set_data_full (GTK_OBJECT (main_window), "tutorial", tutorial, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (tutorial); gtk_container_add (GTK_CONTAINER (main_help_menu), tutorial); users_guide = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (users_guide)->child), _("_Users Guide...")); gtk_widget_add_accelerator (users_guide, "activate_item", main_help_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (users_guide, "users_guide"); gtk_widget_ref (users_guide); gtk_object_set_data_full (GTK_OBJECT (main_window), "users_guide", users_guide, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (users_guide); gtk_container_add (GTK_CONTAINER (main_help_menu), users_guide); separator6 = gtk_menu_item_new (); gtk_widget_set_name (separator6, "separator6"); gtk_widget_ref (separator6); gtk_object_set_data_full (GTK_OBJECT (main_window), "separator6", separator6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator6); gtk_container_add (GTK_CONTAINER (main_help_menu), separator6); gtk_widget_set_sensitive (separator6, FALSE); main_about = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_about)->child), _("_About...")); gtk_widget_add_accelerator (main_about, "activate_item", main_help_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (main_about, "main_about"); gtk_widget_ref (main_about); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_about", main_about, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_about); gtk_container_add (GTK_CONTAINER (main_help_menu), main_about); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow1, "scrolledwindow1"); gtk_widget_ref (scrolledwindow1); gtk_object_set_data_full (GTK_OBJECT (main_window), "scrolledwindow1", scrolledwindow1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow1); gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow1, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); main_list = gtk_clist_new (1); gtk_widget_set_name (main_list, "main_list"); gtk_widget_ref (main_list); gtk_object_set_data_full (GTK_OBJECT (main_window), "main_list", main_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (main_list); gtk_container_add (GTK_CONTAINER (scrolledwindow1), main_list); gtk_container_set_border_width (GTK_CONTAINER (main_list), 8); gtk_clist_set_column_width (GTK_CLIST (main_list), 0, 80); gtk_clist_column_titles_show (GTK_CLIST (main_list)); label1 = gtk_label_new (_("Terrain Object List")); gtk_widget_set_name (label1, "label1"); gtk_widget_ref (label1); gtk_object_set_data_full (GTK_OBJECT (main_window), "label1", label1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label1); gtk_clist_set_column_widget (GTK_CLIST (main_list), 0, label1); gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_LEFT); gtk_signal_connect (GTK_OBJECT (main_window), "delete_event", GTK_SIGNAL_FUNC (on_main_window_delete_event), NULL); gtk_signal_connect (GTK_OBJECT (main_file), "activate", GTK_SIGNAL_FUNC (on_main_file_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_new), "activate", GTK_SIGNAL_FUNC (on_main_new_activate), NULL); gtk_signal_connect (GTK_OBJECT (chooser), "activate", GTK_SIGNAL_FUNC (on_chooser_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_random), "activate", GTK_SIGNAL_FUNC (on_main_random_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_faulting), "activate", GTK_SIGNAL_FUNC (on_main_faulting_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_perlin_noise), "activate", GTK_SIGNAL_FUNC (on_main_perlin_noise_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_spectral), "activate", GTK_SIGNAL_FUNC (on_main_spectral_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_subdivision), "activate", GTK_SIGNAL_FUNC (on_main_subdivision_activate), NULL); gtk_signal_connect (GTK_OBJECT (open), "activate", GTK_SIGNAL_FUNC (on_main_open_activate), NULL); gtk_signal_connect (GTK_OBJECT (erode_flowmap), "activate", GTK_SIGNAL_FUNC (on_erode_flowmap_activate), NULL); gtk_signal_connect (GTK_OBJECT (join), "activate", GTK_SIGNAL_FUNC (on_main_join_activate), NULL); gtk_signal_connect (GTK_OBJECT (merge), "activate", GTK_SIGNAL_FUNC (on_main_merge_activate), NULL); gtk_signal_connect (GTK_OBJECT (warp), "activate", GTK_SIGNAL_FUNC (on_main_warp_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_options), "activate", GTK_SIGNAL_FUNC (on_main_options_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_print_settings), "activate", GTK_SIGNAL_FUNC (on_main_print_settings_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_exit), "activate", GTK_SIGNAL_FUNC (on_main_exit_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_help), "activate", GTK_SIGNAL_FUNC (on_main_help_activate), NULL); gtk_signal_connect (GTK_OBJECT (tutorial), "activate", GTK_SIGNAL_FUNC (on_tutorial_activate), NULL); gtk_signal_connect (GTK_OBJECT (users_guide), "activate", GTK_SIGNAL_FUNC (on_users_guide_activate), NULL); gtk_signal_connect (GTK_OBJECT (main_about), "activate", GTK_SIGNAL_FUNC (on_main_about_activate), NULL); gtk_window_add_accel_group (GTK_WINDOW (main_window), accel_group); return main_window; } GtkWidget* create_about_window (void) { GtkWidget *about_window; GtkWidget *vbox2; GtkWidget *vbox105; GtkWidget *about_frame; GtkWidget *about_pixmap; GtkWidget *about_text; GtkWidget *text1; GtkWidget *about_terraform_label; GtkWidget *hbox405; GtkWidget *href1; GtkWidget *href2; GtkWidget *hbox1; GtkWidget *about_ok; GtkWidget *about_info; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); about_window = gtk_window_new (GTK_WINDOW_DIALOG); gtk_widget_set_name (about_window, "about_window"); gtk_object_set_data (GTK_OBJECT (about_window), "about_window", about_window); gtk_window_set_title (GTK_WINDOW (about_window), _("About Terraform")); gtk_window_set_modal (GTK_WINDOW (about_window), TRUE); gtk_window_set_policy (GTK_WINDOW (about_window), FALSE, FALSE, FALSE); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox2, "vbox2"); gtk_widget_ref (vbox2); gtk_object_set_data_full (GTK_OBJECT (about_window), "vbox2", vbox2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox2); gtk_container_add (GTK_CONTAINER (about_window), vbox2); vbox105 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox105, "vbox105"); gtk_widget_ref (vbox105); gtk_object_set_data_full (GTK_OBJECT (about_window), "vbox105", vbox105, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox105); gtk_box_pack_start (GTK_BOX (vbox2), vbox105, TRUE, FALSE, 0); about_frame = gtk_frame_new (NULL); gtk_widget_set_name (about_frame, "about_frame"); gtk_widget_ref (about_frame); gtk_object_set_data_full (GTK_OBJECT (about_window), "about_frame", about_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (about_frame); gtk_box_pack_start (GTK_BOX (vbox105), about_frame, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (about_frame), 2); gtk_frame_set_shadow_type (GTK_FRAME (about_frame), GTK_SHADOW_IN); about_pixmap = create_pixmap (about_window, "terraform_logo.xpm"); gtk_widget_set_name (about_pixmap, "about_pixmap"); gtk_widget_ref (about_pixmap); gtk_object_set_data_full (GTK_OBJECT (about_window), "about_pixmap", about_pixmap, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (about_pixmap); gtk_container_add (GTK_CONTAINER (about_frame), about_pixmap); about_text = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (about_text, "about_text"); gtk_widget_ref (about_text); gtk_object_set_data_full (GTK_OBJECT (about_window), "about_text", about_text, (GtkDestroyNotify) gtk_widget_unref); gtk_box_pack_start (GTK_BOX (vbox105), about_text, TRUE, TRUE, 0); gtk_widget_set_usize (about_text, 408, 308); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (about_text), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); text1 = gtk_text_new (NULL, NULL); gtk_widget_set_name (text1, "text1"); gtk_widget_ref (text1); gtk_object_set_data_full (GTK_OBJECT (about_window), "text1", text1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (text1); gtk_container_add (GTK_CONTAINER (about_text), text1); gtk_text_insert (GTK_TEXT (text1), NULL, NULL, NULL, _("Terraform is the work of many people over many years.\nThis program would not exist without their contributions.\n\nOriginal Terraform application & maintainer\nCopyright 1997-2002 Robert Gasch (r.gasch@chello.nl)\n\nOriginal POVRay themes, native renderer and reworked Terraform interface & co-maintainer\nCopyright 1998-2001 David A. Bartold (foxx@mail.utexas.edu)\n\nMuch User Interface work\nKoos Jan Niesink (koos_jan@hotpop.com)\n\nPOVRay rendering design\nraymond ostertag (raymond.linux@free.fr)\n\n3D Display engine\nInspired by HF-Lab by John Beale (beale@best.com)\n\nRiver Code\nCopyright 2002 Marcus Mueller \n\nCrater filter\nCopyright 1995 Heiko Eissfeldt (heiko@colossus.escape.de)\n\nRecursive diamond subdivision generator\nBased on code by Leo Sutic (http://www.sutic.nu/voxels/)\n\nConnect filter\nWritten by Kari (kari@kivisalo.net, http://www.kivisalo.net/)\n\nTGA reader/writer\nDerived from GIMP code by Gordon Matzigkeit (gord@gnu.ai.mit.edu)\n\nACAD exporter\nWritten by Ronald Reckel (reckel@stud.montefiore.ulg.ac.be)\n\nPerlin noise routines\nAdapted from code placed in the public domain by John Ratcliff (jratcliff@verant.com)\n\nFautling routines\nInspired by António Ramires Fernandes' descriptions at \nhttp://www.lighthouse3d.com/opengl/terrain/index.php3?fault\n\nIterative subdivision generation code\nBased on work by Carl Burke\n\nFast Fourier Transform code\nOriginally by RC Singleton\n"), 1396); about_terraform_label = gtk_label_new (_("Development Version\nLicensed under the GPL")); gtk_widget_set_name (about_terraform_label, "about_terraform_label"); gtk_widget_ref (about_terraform_label); gtk_object_set_data_full (GTK_OBJECT (about_window), "about_terraform_label", about_terraform_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (about_terraform_label); gtk_box_pack_start (GTK_BOX (vbox2), about_terraform_label, FALSE, FALSE, 0); gtk_misc_set_padding (GTK_MISC (about_terraform_label), 10, 8); hbox405 = gtk_hbox_new (TRUE, 0); gtk_widget_set_name (hbox405, "hbox405"); gtk_widget_ref (hbox405); gtk_object_set_data_full (GTK_OBJECT (about_window), "hbox405", hbox405, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox405); gtk_box_pack_start (GTK_BOX (vbox2), hbox405, TRUE, TRUE, 0); href1 = gnome_href_new ("http://terraform.sourceforge.net", _("Terraform homepage")); gtk_widget_set_name (href1, "href1"); gtk_widget_ref (href1); gtk_object_set_data_full (GTK_OBJECT (about_window), "href1", href1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (href1); gtk_box_pack_start (GTK_BOX (hbox405), href1, FALSE, FALSE, 0); href2 = gnome_href_new ("http://www.sourceforge.net/projects/terraform", _("Terraform development site")); gtk_widget_set_name (href2, "href2"); gtk_widget_ref (href2); gtk_object_set_data_full (GTK_OBJECT (about_window), "href2", href2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (href2); gtk_box_pack_start (GTK_BOX (hbox405), href2, FALSE, FALSE, 0); hbox1 = gtk_hbox_new (TRUE, 0); gtk_widget_set_name (hbox1, "hbox1"); gtk_widget_ref (hbox1); gtk_object_set_data_full (GTK_OBJECT (about_window), "hbox1", hbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox1); gtk_box_pack_start (GTK_BOX (vbox2), hbox1, TRUE, TRUE, 0); about_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (about_ok, "about_ok"); gtk_widget_ref (about_ok); gtk_object_set_data_full (GTK_OBJECT (about_window), "about_ok", about_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (about_ok); gtk_box_pack_end (GTK_BOX (hbox1), about_ok, FALSE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (about_ok), 4); GTK_WIDGET_SET_FLAGS (about_ok, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (about_ok, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); about_info = gtk_button_new_with_label (_("Copyright Info")); gtk_widget_set_name (about_info, "about_info"); gtk_widget_ref (about_info); gtk_object_set_data_full (GTK_OBJECT (about_window), "about_info", about_info, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (about_info); gtk_box_pack_end (GTK_BOX (hbox1), about_info, FALSE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (about_info), 4); GTK_WIDGET_SET_FLAGS (about_info, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (about_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_signal_connect (GTK_OBJECT (about_info), "clicked", GTK_SIGNAL_FUNC (on_about_info_clicked), NULL); gtk_widget_grab_default (about_ok); gtk_window_add_accel_group (GTK_WINDOW (about_window), accel_group); return about_window; } GtkWidget* create_spectral_window (void) { GtkWidget *spectral_window; GtkWidget *vbox3; GtkWidget *frame1; GtkWidget *Parameters; GtkWidget *vbox4; GtkWidget *vbox5; GtkWidget *hbox5; GtkWidget *label4; GtkObject *ss_size_adj; GtkWidget *ss_size; GtkWidget *hbox6; GtkWidget *label5; GtkObject *ss_fractal_dimensions_adj; GtkWidget *ss_fractal_dimensions; GtkWidget *ss_invert_trig; GtkWidget *hseparator2; GtkWidget *vbox6; GtkWidget *new_seed; GtkWidget *hbox4; GtkWidget *seed_label; GtkWidget *seed; GtkWidget *hseparator1; GtkWidget *hbox194; GtkWidget *label221; GtkWidget *hbox192; GtkWidget *generate; GtkWidget *cancel; spectral_window = gtk_window_new (GTK_WINDOW_DIALOG); gtk_widget_set_name (spectral_window, "spectral_window"); gtk_object_set_data (GTK_OBJECT (spectral_window), "spectral_window", spectral_window); gtk_window_set_title (GTK_WINDOW (spectral_window), _("Spectral Synthesis")); gtk_window_set_modal (GTK_WINDOW (spectral_window), TRUE); vbox3 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox3, "vbox3"); gtk_widget_ref (vbox3); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "vbox3", vbox3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox3); gtk_container_add (GTK_CONTAINER (spectral_window), vbox3); frame1 = gtk_frame_new (NULL); gtk_widget_set_name (frame1, "frame1"); gtk_widget_ref (frame1); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "frame1", frame1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame1); gtk_box_pack_start (GTK_BOX (vbox3), frame1, TRUE, TRUE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_NONE); Parameters = gtk_frame_new (_("Parameters")); gtk_widget_set_name (Parameters, "Parameters"); gtk_widget_ref (Parameters); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "Parameters", Parameters, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (Parameters); gtk_container_add (GTK_CONTAINER (frame1), Parameters); gtk_container_set_border_width (GTK_CONTAINER (Parameters), 8); vbox4 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox4, "vbox4"); gtk_widget_ref (vbox4); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "vbox4", vbox4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox4); gtk_container_add (GTK_CONTAINER (Parameters), vbox4); vbox5 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox5, "vbox5"); gtk_widget_ref (vbox5); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "vbox5", vbox5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox5); gtk_box_pack_start (GTK_BOX (vbox4), vbox5, TRUE, TRUE, 0); hbox5 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox5, "hbox5"); gtk_widget_ref (hbox5); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "hbox5", hbox5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox5); gtk_box_pack_start (GTK_BOX (vbox5), hbox5, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox5), 8); label4 = gtk_label_new (_("Size")); gtk_widget_set_name (label4, "label4"); gtk_widget_ref (label4); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "label4", label4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label4); gtk_box_pack_start (GTK_BOX (hbox5), label4, FALSE, FALSE, 0); ss_size_adj = gtk_adjustment_new (400, 10, 2000, 1, 10, 10); ss_size = gtk_spin_button_new (GTK_ADJUSTMENT (ss_size_adj), 1, 0); gtk_widget_set_name (ss_size, "ss_size"); gtk_widget_ref (ss_size); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "ss_size", ss_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ss_size); gtk_box_pack_start (GTK_BOX (hbox5), ss_size, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (ss_size), TRUE); hbox6 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox6, "hbox6"); gtk_widget_ref (hbox6); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "hbox6", hbox6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox6); gtk_box_pack_start (GTK_BOX (vbox5), hbox6, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox6), 8); label5 = gtk_label_new (_("Fractal Dimensions")); gtk_widget_set_name (label5, "label5"); gtk_widget_ref (label5); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "label5", label5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label5); gtk_box_pack_start (GTK_BOX (hbox6), label5, FALSE, FALSE, 0); ss_fractal_dimensions_adj = gtk_adjustment_new (2, 2, 2.99, 0.01, 10, 10); ss_fractal_dimensions = gtk_spin_button_new (GTK_ADJUSTMENT (ss_fractal_dimensions_adj), 1, 2); gtk_widget_set_name (ss_fractal_dimensions, "ss_fractal_dimensions"); gtk_widget_ref (ss_fractal_dimensions); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "ss_fractal_dimensions", ss_fractal_dimensions, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ss_fractal_dimensions); gtk_box_pack_start (GTK_BOX (hbox6), ss_fractal_dimensions, TRUE, TRUE, 0); ss_invert_trig = gtk_check_button_new_with_label (_("Invert trignometric functions")); gtk_widget_set_name (ss_invert_trig, "ss_invert_trig"); gtk_widget_ref (ss_invert_trig); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "ss_invert_trig", ss_invert_trig, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ss_invert_trig); gtk_box_pack_start (GTK_BOX (vbox5), ss_invert_trig, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (ss_invert_trig), 8); hseparator2 = gtk_hseparator_new (); gtk_widget_set_name (hseparator2, "hseparator2"); gtk_widget_ref (hseparator2); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "hseparator2", hseparator2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator2); gtk_box_pack_start (GTK_BOX (vbox4), hseparator2, FALSE, FALSE, 0); vbox6 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox6, "vbox6"); gtk_widget_ref (vbox6); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "vbox6", vbox6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox6); gtk_box_pack_start (GTK_BOX (vbox4), vbox6, TRUE, TRUE, 0); new_seed = gtk_check_button_new_with_label (_("Generate new seed")); gtk_widget_set_name (new_seed, "new_seed"); gtk_widget_ref (new_seed); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "new_seed", new_seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (new_seed); gtk_box_pack_start (GTK_BOX (vbox6), new_seed, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (new_seed), 8); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_seed), TRUE); hbox4 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox4, "hbox4"); gtk_widget_ref (hbox4); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "hbox4", hbox4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox4); gtk_box_pack_start (GTK_BOX (vbox6), hbox4, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox4), 8); seed_label = gtk_label_new (_("Seed")); gtk_widget_set_name (seed_label, "seed_label"); gtk_widget_ref (seed_label); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "seed_label", seed_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed_label); gtk_box_pack_start (GTK_BOX (hbox4), seed_label, FALSE, FALSE, 0); gtk_widget_set_sensitive (seed_label, FALSE); seed = gtk_entry_new_with_max_length (10); gtk_widget_set_name (seed, "seed"); gtk_widget_ref (seed); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "seed", seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed); gtk_box_pack_start (GTK_BOX (hbox4), seed, TRUE, TRUE, 0); gtk_widget_set_sensitive (seed, FALSE); gtk_entry_set_text (GTK_ENTRY (seed), _("0")); hseparator1 = gtk_hseparator_new (); gtk_widget_set_name (hseparator1, "hseparator1"); gtk_widget_ref (hseparator1); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "hseparator1", hseparator1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator1); gtk_box_pack_start (GTK_BOX (vbox3), hseparator1, FALSE, FALSE, 0); hbox194 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox194, "hbox194"); gtk_widget_ref (hbox194); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "hbox194", hbox194, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox194); gtk_box_pack_start (GTK_BOX (vbox3), hbox194, FALSE, FALSE, 0); label221 = gtk_label_new (""); gtk_widget_set_name (label221, "label221"); gtk_widget_ref (label221); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "label221", label221, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label221); gtk_box_pack_start (GTK_BOX (hbox194), label221, TRUE, TRUE, 0); hbox192 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox192, "hbox192"); gtk_widget_ref (hbox192); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "hbox192", hbox192, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox192); gtk_box_pack_start (GTK_BOX (hbox194), hbox192, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox192), 8); generate = gtk_button_new_with_label (_("Generate")); gtk_widget_set_name (generate, "generate"); gtk_widget_ref (generate); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "generate", generate, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (generate); gtk_box_pack_start (GTK_BOX (hbox192), generate, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (generate, GTK_CAN_DEFAULT); cancel = gtk_button_new_with_label (_("Cancel")); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (spectral_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox192), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (new_seed), "toggled", GTK_SIGNAL_FUNC (on_generic_new_seed_toggled), NULL); gtk_signal_connect (GTK_OBJECT (generate), "clicked", GTK_SIGNAL_FUNC (on_ss_generate_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_ss_cancel_clicked), NULL); gtk_widget_grab_default (cancel); return spectral_window; } GtkWidget* create_perlin_noise_window (void) { GtkWidget *perlin_noise_window; GtkWidget *vbox7; GtkWidget *vbox137; GtkWidget *frame3; GtkWidget *table1; GtkWidget *label8; GtkWidget *label9; GtkWidget *label10; GtkWidget *label11; GtkWidget *label12; GtkObject *first_frequency_adj; GtkWidget *first_frequency; GtkObject *second_frequency_adj; GtkWidget *second_frequency; GtkObject *third_frequency_adj; GtkWidget *third_frequency; GtkObject *fourth_frequency_adj; GtkWidget *fourth_frequency; GtkObject *first_amplitude_adj; GtkWidget *first_amplitude; GtkObject *second_amplitude_adj; GtkWidget *second_amplitude; GtkObject *third_amplitude_adj; GtkWidget *third_amplitude; GtkObject *fourth_amplitude_adj; GtkWidget *fourth_amplitude; GtkObject *first_iterations_adj; GtkWidget *first_iterations; GtkObject *second_iterations_adj; GtkWidget *second_iterations; GtkObject *third_iterations_adj; GtkWidget *third_iterations; GtkObject *fourth_iterations_adj; GtkWidget *fourth_iterations; GtkWidget *fourth; GtkWidget *third; GtkWidget *second; GtkWidget *first; GtkWidget *first_filter; GtkWidget *first_filter_menu; GtkWidget *glade_menuitem; GtkWidget *second_filter; GtkWidget *second_filter_menu; GtkWidget *third_filter; GtkWidget *third_filter_menu; GtkWidget *fourth_filter; GtkWidget *fourth_filter_menu; GtkWidget *frame4; GtkWidget *vbox8; GtkWidget *hbox12; GtkWidget *label13; GtkObject *pn_size_adj; GtkWidget *pn_size; GtkWidget *hseparator4; GtkWidget *vbox9; GtkWidget *new_seed; GtkWidget *hbox13; GtkWidget *seed_label; GtkWidget *seed; GtkWidget *hseparator3; GtkWidget *hbox7; GtkWidget *label7; GtkWidget *hbox193; GtkWidget *generate; GtkWidget *cancel; perlin_noise_window = gtk_window_new (GTK_WINDOW_DIALOG); gtk_widget_set_name (perlin_noise_window, "perlin_noise_window"); gtk_object_set_data (GTK_OBJECT (perlin_noise_window), "perlin_noise_window", perlin_noise_window); gtk_window_set_title (GTK_WINDOW (perlin_noise_window), _("Perlin Noise Synthesis")); gtk_window_set_modal (GTK_WINDOW (perlin_noise_window), TRUE); vbox7 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox7, "vbox7"); gtk_widget_ref (vbox7); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "vbox7", vbox7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox7); gtk_container_add (GTK_CONTAINER (perlin_noise_window), vbox7); vbox137 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox137, "vbox137"); gtk_widget_ref (vbox137); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "vbox137", vbox137, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox137); gtk_box_pack_start (GTK_BOX (vbox7), vbox137, TRUE, TRUE, 0); frame3 = gtk_frame_new (_("Perlin Parameters")); gtk_widget_set_name (frame3, "frame3"); gtk_widget_ref (frame3); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "frame3", frame3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame3); gtk_box_pack_start (GTK_BOX (vbox137), frame3, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame3), 8); table1 = gtk_table_new (5, 5, FALSE); gtk_widget_set_name (table1, "table1"); gtk_widget_ref (table1); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "table1", table1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table1); gtk_container_add (GTK_CONTAINER (frame3), table1); gtk_container_set_border_width (GTK_CONTAINER (table1), 8); gtk_table_set_row_spacings (GTK_TABLE (table1), 4); gtk_table_set_col_spacings (GTK_TABLE (table1), 8); label8 = gtk_label_new (""); gtk_widget_set_name (label8, "label8"); gtk_widget_ref (label8); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "label8", label8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label8); gtk_table_attach (GTK_TABLE (table1), label8, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label9 = gtk_label_new (_("Frequency")); gtk_widget_set_name (label9, "label9"); gtk_widget_ref (label9); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "label9", label9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label9); gtk_table_attach (GTK_TABLE (table1), label9, 1, 2, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label10 = gtk_label_new (_("Amplitude")); gtk_widget_set_name (label10, "label10"); gtk_widget_ref (label10); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "label10", label10, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label10); gtk_table_attach (GTK_TABLE (table1), label10, 2, 3, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label11 = gtk_label_new (_("Iterations")); gtk_widget_set_name (label11, "label11"); gtk_widget_ref (label11); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "label11", label11, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label11); gtk_table_attach (GTK_TABLE (table1), label11, 3, 4, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label12 = gtk_label_new (_("Filter")); gtk_widget_set_name (label12, "label12"); gtk_widget_ref (label12); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "label12", label12, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label12); gtk_table_attach (GTK_TABLE (table1), label12, 4, 5, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); first_frequency_adj = gtk_adjustment_new (0.017, 0.017, 2, 0.001, 0.001, 0.001); first_frequency = gtk_spin_button_new (GTK_ADJUSTMENT (first_frequency_adj), 1, 3); gtk_widget_set_name (first_frequency, "first_frequency"); gtk_widget_ref (first_frequency); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "first_frequency", first_frequency, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (first_frequency); gtk_table_attach (GTK_TABLE (table1), first_frequency, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); second_frequency_adj = gtk_adjustment_new (0.021, 0.017, 2, 0.001, 0.001, 0.001); second_frequency = gtk_spin_button_new (GTK_ADJUSTMENT (second_frequency_adj), 1, 3); gtk_widget_set_name (second_frequency, "second_frequency"); gtk_widget_ref (second_frequency); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "second_frequency", second_frequency, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (second_frequency); gtk_table_attach (GTK_TABLE (table1), second_frequency, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (second_frequency, FALSE); third_frequency_adj = gtk_adjustment_new (0.023, 0.017, 2, 0.001, 0.001, 0.001); third_frequency = gtk_spin_button_new (GTK_ADJUSTMENT (third_frequency_adj), 1, 3); gtk_widget_set_name (third_frequency, "third_frequency"); gtk_widget_ref (third_frequency); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "third_frequency", third_frequency, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (third_frequency); gtk_table_attach (GTK_TABLE (table1), third_frequency, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (third_frequency, FALSE); fourth_frequency_adj = gtk_adjustment_new (0.025, 0.017, 2, 0.001, 0.001, 0.001); fourth_frequency = gtk_spin_button_new (GTK_ADJUSTMENT (fourth_frequency_adj), 1, 3); gtk_widget_set_name (fourth_frequency, "fourth_frequency"); gtk_widget_ref (fourth_frequency); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "fourth_frequency", fourth_frequency, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fourth_frequency); gtk_table_attach (GTK_TABLE (table1), fourth_frequency, 1, 2, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (fourth_frequency, FALSE); first_amplitude_adj = gtk_adjustment_new (8192, 0, 10000, 1, 10, 10); first_amplitude = gtk_spin_button_new (GTK_ADJUSTMENT (first_amplitude_adj), 1, 0); gtk_widget_set_name (first_amplitude, "first_amplitude"); gtk_widget_ref (first_amplitude); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "first_amplitude", first_amplitude, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (first_amplitude); gtk_table_attach (GTK_TABLE (table1), first_amplitude, 2, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (first_amplitude), TRUE); second_amplitude_adj = gtk_adjustment_new (8192, 0, 10000, 1, 10, 10); second_amplitude = gtk_spin_button_new (GTK_ADJUSTMENT (second_amplitude_adj), 1, 0); gtk_widget_set_name (second_amplitude, "second_amplitude"); gtk_widget_ref (second_amplitude); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "second_amplitude", second_amplitude, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (second_amplitude); gtk_table_attach (GTK_TABLE (table1), second_amplitude, 2, 3, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (second_amplitude, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (second_amplitude), TRUE); third_amplitude_adj = gtk_adjustment_new (8192, 0, 10000, 1, 10, 10); third_amplitude = gtk_spin_button_new (GTK_ADJUSTMENT (third_amplitude_adj), 1, 0); gtk_widget_set_name (third_amplitude, "third_amplitude"); gtk_widget_ref (third_amplitude); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "third_amplitude", third_amplitude, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (third_amplitude); gtk_table_attach (GTK_TABLE (table1), third_amplitude, 2, 3, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (third_amplitude, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (third_amplitude), TRUE); fourth_amplitude_adj = gtk_adjustment_new (8192, 0, 10000, 1, 10, 10); fourth_amplitude = gtk_spin_button_new (GTK_ADJUSTMENT (fourth_amplitude_adj), 1, 0); gtk_widget_set_name (fourth_amplitude, "fourth_amplitude"); gtk_widget_ref (fourth_amplitude); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "fourth_amplitude", fourth_amplitude, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fourth_amplitude); gtk_table_attach (GTK_TABLE (table1), fourth_amplitude, 2, 3, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (fourth_amplitude, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (fourth_amplitude), TRUE); first_iterations_adj = gtk_adjustment_new (8, 1, 100, 1, 10, 10); first_iterations = gtk_spin_button_new (GTK_ADJUSTMENT (first_iterations_adj), 1, 0); gtk_widget_set_name (first_iterations, "first_iterations"); gtk_widget_ref (first_iterations); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "first_iterations", first_iterations, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (first_iterations); gtk_table_attach (GTK_TABLE (table1), first_iterations, 3, 4, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (first_iterations), TRUE); second_iterations_adj = gtk_adjustment_new (8, 1, 100, 1, 10, 10); second_iterations = gtk_spin_button_new (GTK_ADJUSTMENT (second_iterations_adj), 1, 0); gtk_widget_set_name (second_iterations, "second_iterations"); gtk_widget_ref (second_iterations); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "second_iterations", second_iterations, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (second_iterations); gtk_table_attach (GTK_TABLE (table1), second_iterations, 3, 4, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (second_iterations, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (second_iterations), TRUE); third_iterations_adj = gtk_adjustment_new (8, 1, 100, 1, 10, 10); third_iterations = gtk_spin_button_new (GTK_ADJUSTMENT (third_iterations_adj), 1, 0); gtk_widget_set_name (third_iterations, "third_iterations"); gtk_widget_ref (third_iterations); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "third_iterations", third_iterations, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (third_iterations); gtk_table_attach (GTK_TABLE (table1), third_iterations, 3, 4, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (third_iterations, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (third_iterations), TRUE); fourth_iterations_adj = gtk_adjustment_new (8, 1, 100, 1, 10, 10); fourth_iterations = gtk_spin_button_new (GTK_ADJUSTMENT (fourth_iterations_adj), 1, 0); gtk_widget_set_name (fourth_iterations, "fourth_iterations"); gtk_widget_ref (fourth_iterations); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "fourth_iterations", fourth_iterations, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fourth_iterations); gtk_table_attach (GTK_TABLE (table1), fourth_iterations, 3, 4, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (fourth_iterations, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (fourth_iterations), TRUE); fourth = gtk_check_button_new_with_label (_("4th order")); gtk_widget_set_name (fourth, "fourth"); gtk_widget_ref (fourth); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "fourth", fourth, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fourth); gtk_table_attach (GTK_TABLE (table1), fourth, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); third = gtk_check_button_new_with_label (_("3rd order")); gtk_widget_set_name (third, "third"); gtk_widget_ref (third); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "third", third, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (third); gtk_table_attach (GTK_TABLE (table1), third, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); second = gtk_check_button_new_with_label (_("2nd order")); gtk_widget_set_name (second, "second"); gtk_widget_ref (second); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "second", second, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (second); gtk_table_attach (GTK_TABLE (table1), second, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); first = gtk_check_button_new_with_label (_("1st order")); gtk_widget_set_name (first, "first"); gtk_widget_ref (first); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "first", first, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (first); gtk_table_attach (GTK_TABLE (table1), first, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (first), TRUE); first_filter = gtk_option_menu_new (); gtk_widget_set_name (first_filter, "first_filter"); gtk_widget_ref (first_filter); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "first_filter", first_filter, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (first_filter); gtk_table_attach (GTK_TABLE (table1), first_filter, 4, 5, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); first_filter_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("Plasma")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #4")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Permafrost #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Permafrost #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #4")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #5")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land II")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock II")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (first_filter_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (first_filter), first_filter_menu); second_filter = gtk_option_menu_new (); gtk_widget_set_name (second_filter, "second_filter"); gtk_widget_ref (second_filter); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "second_filter", second_filter, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (second_filter); gtk_table_attach (GTK_TABLE (table1), second_filter, 4, 5, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (second_filter, FALSE); second_filter_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("Plasma")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #4")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Permafrost #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Permafrost #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #4")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #5")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land II")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock II")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (second_filter_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (second_filter), second_filter_menu); third_filter = gtk_option_menu_new (); gtk_widget_set_name (third_filter, "third_filter"); gtk_widget_ref (third_filter); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "third_filter", third_filter, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (third_filter); gtk_table_attach (GTK_TABLE (table1), third_filter, 4, 5, 3, 4, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (third_filter, FALSE); third_filter_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("Plasma")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #4")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Permafrost #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Permafrost #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #4")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #5")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land II")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock II")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (third_filter_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (third_filter), third_filter_menu); fourth_filter = gtk_option_menu_new (); gtk_widget_set_name (fourth_filter, "fourth_filter"); gtk_widget_ref (fourth_filter); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "fourth_filter", fourth_filter, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fourth_filter); gtk_table_attach (GTK_TABLE (table1), fourth_filter, 4, 5, 4, 5, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (fourth_filter, FALSE); fourth_filter_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("Plasma")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rounded Mountains #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land #4")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Permafrost #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Permafrost #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #4")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Rocky Mesas #5")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #1")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #2")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Eroded Rivers #3")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("General Land II")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Shiprock II")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fourth_filter_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (fourth_filter), fourth_filter_menu); frame4 = gtk_frame_new (_("General Parameters")); gtk_widget_set_name (frame4, "frame4"); gtk_widget_ref (frame4); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "frame4", frame4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame4); gtk_box_pack_start (GTK_BOX (vbox137), frame4, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame4), 8); vbox8 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox8, "vbox8"); gtk_widget_ref (vbox8); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "vbox8", vbox8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox8); gtk_container_add (GTK_CONTAINER (frame4), vbox8); hbox12 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox12, "hbox12"); gtk_widget_ref (hbox12); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "hbox12", hbox12, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox12); gtk_box_pack_start (GTK_BOX (vbox8), hbox12, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox12), 8); label13 = gtk_label_new (_("Size")); gtk_widget_set_name (label13, "label13"); gtk_widget_ref (label13); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "label13", label13, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label13); gtk_box_pack_start (GTK_BOX (hbox12), label13, FALSE, FALSE, 0); pn_size_adj = gtk_adjustment_new (400, 10, 2000, 1, 10, 10); pn_size = gtk_spin_button_new (GTK_ADJUSTMENT (pn_size_adj), 1, 0); gtk_widget_set_name (pn_size, "pn_size"); gtk_widget_ref (pn_size); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "pn_size", pn_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (pn_size); gtk_box_pack_start (GTK_BOX (hbox12), pn_size, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (pn_size), TRUE); hseparator4 = gtk_hseparator_new (); gtk_widget_set_name (hseparator4, "hseparator4"); gtk_widget_ref (hseparator4); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "hseparator4", hseparator4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator4); gtk_box_pack_start (GTK_BOX (vbox8), hseparator4, TRUE, TRUE, 0); vbox9 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox9, "vbox9"); gtk_widget_ref (vbox9); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "vbox9", vbox9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox9); gtk_box_pack_start (GTK_BOX (vbox8), vbox9, TRUE, TRUE, 0); new_seed = gtk_check_button_new_with_label (_("Generate new seed")); gtk_widget_set_name (new_seed, "new_seed"); gtk_widget_ref (new_seed); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "new_seed", new_seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (new_seed); gtk_box_pack_start (GTK_BOX (vbox9), new_seed, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (new_seed), 8); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_seed), TRUE); hbox13 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox13, "hbox13"); gtk_widget_ref (hbox13); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "hbox13", hbox13, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox13); gtk_box_pack_start (GTK_BOX (vbox9), hbox13, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox13), 8); seed_label = gtk_label_new (_("Seed")); gtk_widget_set_name (seed_label, "seed_label"); gtk_widget_ref (seed_label); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "seed_label", seed_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed_label); gtk_box_pack_start (GTK_BOX (hbox13), seed_label, FALSE, FALSE, 0); gtk_widget_set_sensitive (seed_label, FALSE); seed = gtk_entry_new_with_max_length (10); gtk_widget_set_name (seed, "seed"); gtk_widget_ref (seed); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "seed", seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed); gtk_box_pack_start (GTK_BOX (hbox13), seed, TRUE, TRUE, 0); gtk_widget_set_sensitive (seed, FALSE); gtk_entry_set_text (GTK_ENTRY (seed), _("0")); hseparator3 = gtk_hseparator_new (); gtk_widget_set_name (hseparator3, "hseparator3"); gtk_widget_ref (hseparator3); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "hseparator3", hseparator3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator3); gtk_box_pack_start (GTK_BOX (vbox7), hseparator3, FALSE, FALSE, 0); hbox7 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox7, "hbox7"); gtk_widget_ref (hbox7); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "hbox7", hbox7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox7); gtk_box_pack_start (GTK_BOX (vbox7), hbox7, FALSE, FALSE, 0); label7 = gtk_label_new (""); gtk_widget_set_name (label7, "label7"); gtk_widget_ref (label7); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "label7", label7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label7); gtk_box_pack_start (GTK_BOX (hbox7), label7, TRUE, TRUE, 0); hbox193 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox193, "hbox193"); gtk_widget_ref (hbox193); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "hbox193", hbox193, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox193); gtk_box_pack_start (GTK_BOX (hbox7), hbox193, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox193), 8); generate = gtk_button_new_with_label (_("Generate")); gtk_widget_set_name (generate, "generate"); gtk_widget_ref (generate); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "generate", generate, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (generate); gtk_box_pack_start (GTK_BOX (hbox193), generate, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (generate, GTK_CAN_DEFAULT); cancel = gtk_button_new_with_label (_("Cancel")); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (perlin_noise_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox193), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (fourth), "toggled", GTK_SIGNAL_FUNC (on_perlin_toggled), NULL); gtk_signal_connect (GTK_OBJECT (third), "toggled", GTK_SIGNAL_FUNC (on_perlin_toggled), NULL); gtk_signal_connect (GTK_OBJECT (second), "toggled", GTK_SIGNAL_FUNC (on_perlin_toggled), NULL); gtk_signal_connect (GTK_OBJECT (first), "toggled", GTK_SIGNAL_FUNC (on_perlin_toggled), NULL); gtk_signal_connect (GTK_OBJECT (new_seed), "toggled", GTK_SIGNAL_FUNC (on_generic_new_seed_toggled), NULL); gtk_signal_connect (GTK_OBJECT (generate), "clicked", GTK_SIGNAL_FUNC (on_pn_generate_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_pn_cancel_clicked), NULL); gtk_widget_grab_default (cancel); return perlin_noise_window; } GtkWidget* create_subdivision_window (void) { GtkWidget *subdivision_window; GtkWidget *vbox10; GtkWidget *sub_parameters; GtkWidget *vbox11; GtkWidget *vbox13; GtkWidget *hbox17; GtkWidget *label17; GtkWidget *sub_method; GtkWidget *sub_method_menu; GtkWidget *glade_menuitem; GtkWidget *hbox18; GtkWidget *label18; GtkObject *sub_size_adj; GtkWidget *sub_size; GtkWidget *hbox19; GtkWidget *label19; GtkObject *sub_scale_factor_adj; GtkWidget *sub_scale_factor; GtkWidget *hseparator6; GtkWidget *vbox12; GtkWidget *new_seed; GtkWidget *hbox16; GtkWidget *seed_label; GtkWidget *seed; GtkWidget *hseparator5; GtkWidget *hbox14; GtkWidget *label220; GtkWidget *hbox191; GtkWidget *generate; GtkWidget *cancel; subdivision_window = gtk_window_new (GTK_WINDOW_DIALOG); gtk_widget_set_name (subdivision_window, "subdivision_window"); gtk_object_set_data (GTK_OBJECT (subdivision_window), "subdivision_window", subdivision_window); gtk_window_set_title (GTK_WINDOW (subdivision_window), _("Subdivision Synthesis")); gtk_window_set_modal (GTK_WINDOW (subdivision_window), TRUE); vbox10 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox10, "vbox10"); gtk_widget_ref (vbox10); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "vbox10", vbox10, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox10); gtk_container_add (GTK_CONTAINER (subdivision_window), vbox10); sub_parameters = gtk_frame_new (_("Parameters")); gtk_widget_set_name (sub_parameters, "sub_parameters"); gtk_widget_ref (sub_parameters); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "sub_parameters", sub_parameters, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (sub_parameters); gtk_box_pack_start (GTK_BOX (vbox10), sub_parameters, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (sub_parameters), 8); vbox11 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox11, "vbox11"); gtk_widget_ref (vbox11); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "vbox11", vbox11, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox11); gtk_container_add (GTK_CONTAINER (sub_parameters), vbox11); vbox13 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox13, "vbox13"); gtk_widget_ref (vbox13); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "vbox13", vbox13, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox13); gtk_box_pack_start (GTK_BOX (vbox11), vbox13, TRUE, TRUE, 0); hbox17 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox17, "hbox17"); gtk_widget_ref (hbox17); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "hbox17", hbox17, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox17); gtk_box_pack_start (GTK_BOX (vbox13), hbox17, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox17), 8); label17 = gtk_label_new (_("Subdivision Method")); gtk_widget_set_name (label17, "label17"); gtk_widget_ref (label17); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "label17", label17, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label17); gtk_box_pack_start (GTK_BOX (hbox17), label17, FALSE, FALSE, 0); sub_method = gtk_option_menu_new (); gtk_widget_set_name (sub_method, "sub_method"); gtk_widget_ref (sub_method); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "sub_method", sub_method, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (sub_method); gtk_box_pack_start (GTK_BOX (hbox17), sub_method, FALSE, FALSE, 0); sub_method_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("Recursive Square")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (sub_method_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Recursive Diamond")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (sub_method_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Recursive Plasma")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (sub_method_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Offset Square")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (sub_method_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Midpoint")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (sub_method_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Diamond Square")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (sub_method_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (sub_method), sub_method_menu); hbox18 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox18, "hbox18"); gtk_widget_ref (hbox18); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "hbox18", hbox18, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox18); gtk_box_pack_start (GTK_BOX (vbox13), hbox18, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox18), 8); label18 = gtk_label_new (_("Size")); gtk_widget_set_name (label18, "label18"); gtk_widget_ref (label18); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "label18", label18, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label18); gtk_box_pack_start (GTK_BOX (hbox18), label18, FALSE, FALSE, 0); sub_size_adj = gtk_adjustment_new (400, 10, 2000, 1, 10, 10); sub_size = gtk_spin_button_new (GTK_ADJUSTMENT (sub_size_adj), 1, 0); gtk_widget_set_name (sub_size, "sub_size"); gtk_widget_ref (sub_size); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "sub_size", sub_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (sub_size); gtk_box_pack_start (GTK_BOX (hbox18), sub_size, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (sub_size), TRUE); hbox19 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox19, "hbox19"); gtk_widget_ref (hbox19); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "hbox19", hbox19, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox19); gtk_box_pack_start (GTK_BOX (vbox13), hbox19, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox19), 8); label19 = gtk_label_new (_("Scale Factor")); gtk_widget_set_name (label19, "label19"); gtk_widget_ref (label19); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "label19", label19, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label19); gtk_box_pack_start (GTK_BOX (hbox19), label19, FALSE, FALSE, 0); sub_scale_factor_adj = gtk_adjustment_new (0.5, 0.01, 1, 0.01, 10, 10); sub_scale_factor = gtk_spin_button_new (GTK_ADJUSTMENT (sub_scale_factor_adj), 1, 2); gtk_widget_set_name (sub_scale_factor, "sub_scale_factor"); gtk_widget_ref (sub_scale_factor); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "sub_scale_factor", sub_scale_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (sub_scale_factor); gtk_box_pack_start (GTK_BOX (hbox19), sub_scale_factor, TRUE, TRUE, 0); hseparator6 = gtk_hseparator_new (); gtk_widget_set_name (hseparator6, "hseparator6"); gtk_widget_ref (hseparator6); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "hseparator6", hseparator6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator6); gtk_box_pack_start (GTK_BOX (vbox11), hseparator6, FALSE, FALSE, 0); vbox12 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox12, "vbox12"); gtk_widget_ref (vbox12); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "vbox12", vbox12, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox12); gtk_box_pack_start (GTK_BOX (vbox11), vbox12, TRUE, TRUE, 0); new_seed = gtk_check_button_new_with_label (_("Generate new seed")); gtk_widget_set_name (new_seed, "new_seed"); gtk_widget_ref (new_seed); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "new_seed", new_seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (new_seed); gtk_box_pack_start (GTK_BOX (vbox12), new_seed, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (new_seed), 8); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_seed), TRUE); hbox16 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox16, "hbox16"); gtk_widget_ref (hbox16); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "hbox16", hbox16, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox16); gtk_box_pack_start (GTK_BOX (vbox12), hbox16, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox16), 8); seed_label = gtk_label_new (_("Seed")); gtk_widget_set_name (seed_label, "seed_label"); gtk_widget_ref (seed_label); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "seed_label", seed_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed_label); gtk_box_pack_start (GTK_BOX (hbox16), seed_label, FALSE, FALSE, 0); gtk_widget_set_sensitive (seed_label, FALSE); seed = gtk_entry_new_with_max_length (10); gtk_widget_set_name (seed, "seed"); gtk_widget_ref (seed); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "seed", seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed); gtk_box_pack_start (GTK_BOX (hbox16), seed, TRUE, TRUE, 0); gtk_widget_set_sensitive (seed, FALSE); gtk_entry_set_text (GTK_ENTRY (seed), _("0")); hseparator5 = gtk_hseparator_new (); gtk_widget_set_name (hseparator5, "hseparator5"); gtk_widget_ref (hseparator5); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "hseparator5", hseparator5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator5); gtk_box_pack_start (GTK_BOX (vbox10), hseparator5, FALSE, FALSE, 0); hbox14 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox14, "hbox14"); gtk_widget_ref (hbox14); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "hbox14", hbox14, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox14); gtk_box_pack_start (GTK_BOX (vbox10), hbox14, FALSE, FALSE, 0); label220 = gtk_label_new (""); gtk_widget_set_name (label220, "label220"); gtk_widget_ref (label220); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "label220", label220, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label220); gtk_box_pack_start (GTK_BOX (hbox14), label220, TRUE, TRUE, 0); hbox191 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox191, "hbox191"); gtk_widget_ref (hbox191); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "hbox191", hbox191, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox191); gtk_box_pack_start (GTK_BOX (hbox14), hbox191, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox191), 8); generate = gtk_button_new_with_label (_("Generate")); gtk_widget_set_name (generate, "generate"); gtk_widget_ref (generate); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "generate", generate, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (generate); gtk_box_pack_start (GTK_BOX (hbox191), generate, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (generate, GTK_CAN_DEFAULT); cancel = gtk_button_new_with_label (_("Cancel")); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (subdivision_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox191), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (new_seed), "toggled", GTK_SIGNAL_FUNC (on_generic_new_seed_toggled), NULL); gtk_signal_connect (GTK_OBJECT (generate), "clicked", GTK_SIGNAL_FUNC (on_sub_generate_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_sub_cancel_clicked), NULL); gtk_widget_grab_default (cancel); return subdivision_window; } GtkWidget* create_open_file (void) { GtkWidget *open_file; GtkWidget *load_ok; GtkWidget *load_cancel; open_file = gtk_file_selection_new (_("Load Height Field")); gtk_widget_set_name (open_file, "open_file"); gtk_object_set_data (GTK_OBJECT (open_file), "open_file", open_file); gtk_container_set_border_width (GTK_CONTAINER (open_file), 10); GTK_WINDOW (open_file)->type = GTK_WINDOW_DIALOG; gtk_window_set_modal (GTK_WINDOW (open_file), TRUE); load_ok = GTK_FILE_SELECTION (open_file)->ok_button; gtk_widget_set_name (load_ok, "load_ok"); gtk_object_set_data (GTK_OBJECT (open_file), "load_ok", load_ok); gtk_widget_show (load_ok); GTK_WIDGET_SET_FLAGS (load_ok, GTK_CAN_DEFAULT); load_cancel = GTK_FILE_SELECTION (open_file)->cancel_button; gtk_widget_set_name (load_cancel, "load_cancel"); gtk_object_set_data (GTK_OBJECT (open_file), "load_cancel", load_cancel); gtk_widget_show (load_cancel); GTK_WIDGET_SET_FLAGS (load_cancel, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (load_ok), "clicked", GTK_SIGNAL_FUNC (on_load_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (load_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); return open_file; } GtkWidget* create_terrain_window (void) { GtkWidget *terrain_window; GtkWidget *vbox128; GtkWidget *menubar; guint tmp_key; GtkWidget *file; GtkWidget *file_menu; GtkAccelGroup *file_menu_accels; GtkWidget *save; GtkWidget *save_as; GtkWidget *render; GtkWidget *render_menu; GtkAccelGroup *render_menu_accels; GtkWidget *native; GtkWidget *render_povray; GtkWidget *export; GtkWidget *export_menu; GtkAccelGroup *export_menu_accels; GtkWidget *export_terrain; GtkWidget *export_terrain_menu; GtkAccelGroup *export_terrain_menu_accels; GtkWidget *export_gimp; GtkWidget *export_povray; GtkWidget *export_view; GtkWidget *export_view_menu; GtkAccelGroup *export_view_menu_accels; GtkWidget *to_file_1; GtkWidget *to_gimp; GtkWidget *print; GtkWidget *print_preview; GtkWidget *separator5; GtkWidget *close; GtkWidget *edit1; GtkWidget *edit1_menu; GtkAccelGroup *edit1_menu_accels; GtkWidget *undo; GtkWidget *clone; GtkWidget *separator12; GtkWidget *render_options; GtkWidget *scene_options; GtkWidget *terrain_options; GtkWidget *separator11; GtkWidget *terrain_info; GtkWidget *select; GtkWidget *select_menu; GtkAccelGroup *select_menu_accels; GtkWidget *select_invert; GtkWidget *select_all; GtkWidget *select_none; GtkWidget *by_height; GtkWidget *separator7; GtkWidget *feather; GtkWidget *operations1; GtkWidget *operations1_menu; GtkAccelGroup *operations1_menu_accels; GtkWidget *transform1; GtkWidget *transform1_menu; GtkAccelGroup *transform1_menu_accels; GtkWidget *invert; GtkWidget *mirror; GtkWidget *move_terrain; GtkWidget *rotate; GtkWidget *scale; GtkWidget *filter1; GtkWidget *filter1_menu; GtkAccelGroup *filter1_menu_accels; GtkWidget *connect; GtkWidget *craters; GtkWidget *digital_filter; GtkWidget *erode; GtkWidget *fill; GtkWidget *fill_basins; GtkWidget *flowmap; GtkWidget *fold; GtkWidget *gaussian_hill; GtkWidget *radial_scale; GtkWidget *rasterize; GtkWidget *roughen; GtkWidget *smooth; GtkWidget *spherical_map; GtkWidget *terrace; GtkWidget *tile; GtkWidget *transform; GtkWidget *objects; GtkWidget *objects_menu; GtkAccelGroup *objects_menu_accels; GtkWidget *place; GtkWidget *trennlinie1; GtkWidget *prune_placed; GtkWidget *rescale_placed; GtkWidget *separator10; GtkWidget *remove_all; GtkWidget *remove_selected; GtkWidget *rivers; GtkWidget *rivers_menu; GtkAccelGroup *rivers_menu_accels; GtkWidget *river; GtkWidget *all_rivers; GtkWidget *redraw_rivers; GtkWidget *remove_all_rivers; GtkWidget *view1; GtkWidget *view1_menu; GtkAccelGroup *view1_menu_accels; GtkWidget *type; GtkWidget *type_menu; GtkAccelGroup *type_menu_accels; GSList *view_group_group = NULL; GtkWidget *terrain_2d_plane; GtkWidget *terrain_2d_contour; GtkWidget *terrain_3d_wire; GtkWidget *terrain_3d_height; GtkWidget *terrain_3d_light; GtkWidget *separator6; GtkWidget *terrain_auto_rotate; GtkWidget *terrain_do_tile; GtkWidget *colormap1; GtkWidget *colormap1_menu; GtkAccelGroup *colormap1_menu_accels; GSList *colormap_group_group = NULL; GtkWidget *terrain_land; GtkWidget *terrain_desert; GtkWidget *terrain_grayscale; GtkWidget *terrain_heat; GtkWidget *terrain_wasteland; GtkWidget *handlebox; GtkWidget *toolbar; GtkWidget *tmp_toolbar_icon; GtkWidget *move; GtkWidget *rectangular_select; GtkWidget *elliptical_select; GtkWidget *square_zoom_select; GtkWidget *crop_new; GtkWidget *square_seed; GtkWidget *replace; GtkWidget *add; GtkWidget *subtract; GtkWidget *aspect_frame; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); terrain_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (terrain_window, "terrain_window"); gtk_object_set_data (GTK_OBJECT (terrain_window), "terrain_window", terrain_window); GTK_WIDGET_SET_FLAGS (terrain_window, GTK_CAN_FOCUS); gtk_window_set_title (GTK_WINDOW (terrain_window), _("Terrain")); vbox128 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox128, "vbox128"); gtk_widget_ref (vbox128); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "vbox128", vbox128, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox128); gtk_container_add (GTK_CONTAINER (terrain_window), vbox128); menubar = gtk_menu_bar_new (); gtk_widget_set_name (menubar, "menubar"); gtk_widget_ref (menubar); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "menubar", menubar, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (menubar); gtk_box_pack_start (GTK_BOX (vbox128), menubar, FALSE, FALSE, 0); file = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (file)->child), _("_File")); gtk_widget_add_accelerator (file, "activate_item", accel_group, tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); gtk_widget_set_name (file, "file"); gtk_widget_ref (file); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "file", file, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (file); gtk_container_add (GTK_CONTAINER (menubar), file); file_menu = gtk_menu_new (); gtk_widget_set_name (file_menu, "file_menu"); gtk_widget_ref (file_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "file_menu", file_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (file), file_menu); file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (file_menu)); save = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (save)->child), _("_Save")); gtk_widget_add_accelerator (save, "activate_item", file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (save, "save"); gtk_widget_ref (save); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "save", save, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (save); gtk_container_add (GTK_CONTAINER (file_menu), save); gtk_widget_add_accelerator (save, "activate", accel_group, GDK_S, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); save_as = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (save_as)->child), _("Save _As...")); gtk_widget_add_accelerator (save_as, "activate_item", file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (save_as, "save_as"); gtk_widget_ref (save_as); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "save_as", save_as, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (save_as); gtk_container_add (GTK_CONTAINER (file_menu), save_as); gtk_widget_add_accelerator (save_as, "activate", accel_group, GDK_A, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); render = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (render)->child), _("_Render")); gtk_widget_add_accelerator (render, "activate_item", file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (render, "render"); gtk_widget_ref (render); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "render", render, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render); gtk_container_add (GTK_CONTAINER (file_menu), render); render_menu = gtk_menu_new (); gtk_widget_set_name (render_menu, "render_menu"); gtk_widget_ref (render_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "render_menu", render_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (render), render_menu); render_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (render_menu)); native = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (native)->child), _("_Native...")); gtk_widget_add_accelerator (native, "activate_item", render_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (native, "native"); gtk_widget_ref (native); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "native", native, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (native); gtk_container_add (GTK_CONTAINER (render_menu), native); gtk_widget_add_accelerator (native, "activate", accel_group, GDK_N, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); render_povray = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (render_povray)->child), _("_POV-Ray...")); gtk_widget_add_accelerator (render_povray, "activate_item", render_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (render_povray, "render_povray"); gtk_widget_ref (render_povray); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "render_povray", render_povray, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_povray); gtk_container_add (GTK_CONTAINER (render_menu), render_povray); gtk_widget_add_accelerator (render_povray, "activate", accel_group, GDK_P, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); export = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (export)->child), _("_Export")); gtk_widget_add_accelerator (export, "activate_item", file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (export, "export"); gtk_widget_ref (export); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "export", export, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (export); gtk_container_add (GTK_CONTAINER (file_menu), export); export_menu = gtk_menu_new (); gtk_widget_set_name (export_menu, "export_menu"); gtk_widget_ref (export_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "export_menu", export_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (export), export_menu); export_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (export_menu)); export_terrain = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (export_terrain)->child), _("_Terrain")); gtk_widget_add_accelerator (export_terrain, "activate_item", export_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (export_terrain, "export_terrain"); gtk_widget_ref (export_terrain); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "export_terrain", export_terrain, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (export_terrain); gtk_container_add (GTK_CONTAINER (export_menu), export_terrain); export_terrain_menu = gtk_menu_new (); gtk_widget_set_name (export_terrain_menu, "export_terrain_menu"); gtk_widget_ref (export_terrain_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "export_terrain_menu", export_terrain_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (export_terrain), export_terrain_menu); export_terrain_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (export_terrain_menu)); export_gimp = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (export_gimp)->child), _("To _GIMP...")); gtk_widget_add_accelerator (export_gimp, "activate_item", export_terrain_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (export_gimp, "export_gimp"); gtk_widget_ref (export_gimp); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "export_gimp", export_gimp, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (export_gimp); gtk_container_add (GTK_CONTAINER (export_terrain_menu), export_gimp); export_povray = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (export_povray)->child), _("To _POV-Ray")); gtk_widget_add_accelerator (export_povray, "activate_item", export_terrain_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (export_povray, "export_povray"); gtk_widget_ref (export_povray); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "export_povray", export_povray, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (export_povray); gtk_container_add (GTK_CONTAINER (export_terrain_menu), export_povray); export_view = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (export_view)->child), _("_View...")); gtk_widget_add_accelerator (export_view, "activate_item", export_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (export_view, "export_view"); gtk_widget_ref (export_view); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "export_view", export_view, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (export_view); gtk_container_add (GTK_CONTAINER (export_menu), export_view); export_view_menu = gtk_menu_new (); gtk_widget_set_name (export_view_menu, "export_view_menu"); gtk_widget_ref (export_view_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "export_view_menu", export_view_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (export_view), export_view_menu); export_view_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (export_view_menu)); to_file_1 = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (to_file_1)->child), _("To _File ...")); gtk_widget_add_accelerator (to_file_1, "activate_item", export_view_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (to_file_1, "to_file_1"); gtk_widget_ref (to_file_1); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "to_file_1", to_file_1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (to_file_1); gtk_container_add (GTK_CONTAINER (export_view_menu), to_file_1); to_gimp = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (to_gimp)->child), _("_To GIMP")); gtk_widget_add_accelerator (to_gimp, "activate_item", export_view_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (to_gimp, "to_gimp"); gtk_widget_ref (to_gimp); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "to_gimp", to_gimp, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (to_gimp); gtk_container_add (GTK_CONTAINER (export_view_menu), to_gimp); print = gtk_menu_item_new_with_label (_("Print...")); gtk_widget_set_name (print, "print"); gtk_widget_ref (print); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "print", print, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (print); gtk_container_add (GTK_CONTAINER (file_menu), print); print_preview = gtk_menu_item_new_with_label (_("Print Preview...")); gtk_widget_set_name (print_preview, "print_preview"); gtk_widget_ref (print_preview); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "print_preview", print_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (print_preview); gtk_container_add (GTK_CONTAINER (file_menu), print_preview); separator5 = gtk_menu_item_new (); gtk_widget_set_name (separator5, "separator5"); gtk_widget_ref (separator5); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "separator5", separator5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator5); gtk_container_add (GTK_CONTAINER (file_menu), separator5); gtk_widget_set_sensitive (separator5, FALSE); close = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (close)->child), _("_Close")); gtk_widget_add_accelerator (close, "activate_item", file_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (close, "close"); gtk_widget_ref (close); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "close", close, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (close); gtk_container_add (GTK_CONTAINER (file_menu), close); gtk_widget_add_accelerator (close, "activate", accel_group, GDK_E, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); edit1 = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (edit1)->child), _("_Edit")); gtk_widget_add_accelerator (edit1, "activate_item", accel_group, tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); gtk_widget_set_name (edit1, "edit1"); gtk_widget_ref (edit1); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "edit1", edit1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (edit1); gtk_container_add (GTK_CONTAINER (menubar), edit1); edit1_menu = gtk_menu_new (); gtk_widget_set_name (edit1_menu, "edit1_menu"); gtk_widget_ref (edit1_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "edit1_menu", edit1_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (edit1), edit1_menu); edit1_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (edit1_menu)); undo = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (undo)->child), _("_Undo...")); gtk_widget_add_accelerator (undo, "activate_item", edit1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (undo, "undo"); gtk_widget_ref (undo); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "undo", undo, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (undo); gtk_container_add (GTK_CONTAINER (edit1_menu), undo); gtk_widget_add_accelerator (undo, "activate", accel_group, GDK_Z, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); clone = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (clone)->child), _("_Clone...")); gtk_widget_add_accelerator (clone, "activate_item", edit1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (clone, "clone"); gtk_widget_ref (clone); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "clone", clone, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (clone); gtk_container_add (GTK_CONTAINER (edit1_menu), clone); separator12 = gtk_menu_item_new (); gtk_widget_set_name (separator12, "separator12"); gtk_widget_ref (separator12); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "separator12", separator12, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator12); gtk_container_add (GTK_CONTAINER (edit1_menu), separator12); gtk_widget_set_sensitive (separator12, FALSE); render_options = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (render_options)->child), _("_Render Options...")); gtk_widget_add_accelerator (render_options, "activate_item", edit1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (render_options, "render_options"); gtk_widget_ref (render_options); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "render_options", render_options, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_options); gtk_container_add (GTK_CONTAINER (edit1_menu), render_options); gtk_widget_add_accelerator (render_options, "activate", accel_group, GDK_R, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); scene_options = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (scene_options)->child), _("_Scene Options...")); gtk_widget_add_accelerator (scene_options, "activate_item", edit1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (scene_options, "scene_options"); gtk_widget_ref (scene_options); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "scene_options", scene_options, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scene_options); gtk_container_add (GTK_CONTAINER (edit1_menu), scene_options); gtk_widget_add_accelerator (scene_options, "activate", accel_group, GDK_N, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); terrain_options = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_options)->child), _("_Terrain Options...")); gtk_widget_add_accelerator (terrain_options, "activate_item", edit1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (terrain_options, "terrain_options"); gtk_widget_ref (terrain_options); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_options", terrain_options, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_options); gtk_container_add (GTK_CONTAINER (edit1_menu), terrain_options); gtk_widget_add_accelerator (terrain_options, "activate", accel_group, GDK_T, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); separator11 = gtk_menu_item_new (); gtk_widget_set_name (separator11, "separator11"); gtk_widget_ref (separator11); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "separator11", separator11, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator11); gtk_container_add (GTK_CONTAINER (edit1_menu), separator11); gtk_widget_set_sensitive (separator11, FALSE); terrain_info = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_info)->child), _("Terrain _Info...")); gtk_widget_add_accelerator (terrain_info, "activate_item", edit1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (terrain_info, "terrain_info"); gtk_widget_ref (terrain_info); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_info", terrain_info, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_info); gtk_container_add (GTK_CONTAINER (edit1_menu), terrain_info); select = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (select)->child), _("_Select")); gtk_widget_add_accelerator (select, "activate_item", accel_group, tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); gtk_widget_set_name (select, "select"); gtk_widget_ref (select); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "select", select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (select); gtk_container_add (GTK_CONTAINER (menubar), select); select_menu = gtk_menu_new (); gtk_widget_set_name (select_menu, "select_menu"); gtk_widget_ref (select_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "select_menu", select_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (select), select_menu); select_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (select_menu)); select_invert = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (select_invert)->child), _("_Invert")); gtk_widget_add_accelerator (select_invert, "activate_item", select_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (select_invert, "select_invert"); gtk_widget_ref (select_invert); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "select_invert", select_invert, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (select_invert); gtk_container_add (GTK_CONTAINER (select_menu), select_invert); gtk_widget_add_accelerator (select_invert, "activate", accel_group, GDK_I, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); select_all = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (select_all)->child), _("_All")); gtk_widget_add_accelerator (select_all, "activate_item", select_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (select_all, "select_all"); gtk_widget_ref (select_all); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "select_all", select_all, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (select_all); gtk_container_add (GTK_CONTAINER (select_menu), select_all); gtk_widget_add_accelerator (select_all, "activate", accel_group, GDK_A, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); select_none = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (select_none)->child), _("_None")); gtk_widget_add_accelerator (select_none, "activate_item", select_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (select_none, "select_none"); gtk_widget_ref (select_none); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "select_none", select_none, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (select_none); gtk_container_add (GTK_CONTAINER (select_menu), select_none); gtk_widget_add_accelerator (select_none, "activate", accel_group, GDK_N, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); by_height = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (by_height)->child), _("_By Height...")); gtk_widget_add_accelerator (by_height, "activate_item", select_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (by_height, "by_height"); gtk_widget_ref (by_height); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "by_height", by_height, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (by_height); gtk_container_add (GTK_CONTAINER (select_menu), by_height); gtk_widget_add_accelerator (by_height, "activate", accel_group, GDK_H, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); separator7 = gtk_menu_item_new (); gtk_widget_set_name (separator7, "separator7"); gtk_widget_ref (separator7); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "separator7", separator7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator7); gtk_container_add (GTK_CONTAINER (select_menu), separator7); gtk_widget_set_sensitive (separator7, FALSE); feather = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (feather)->child), _("_Feather...")); gtk_widget_add_accelerator (feather, "activate_item", select_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (feather, "feather"); gtk_widget_ref (feather); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "feather", feather, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (feather); gtk_container_add (GTK_CONTAINER (select_menu), feather); gtk_widget_add_accelerator (feather, "activate", accel_group, GDK_F, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); operations1 = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (operations1)->child), _("_Operations")); gtk_widget_add_accelerator (operations1, "activate_item", accel_group, tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); gtk_widget_set_name (operations1, "operations1"); gtk_widget_ref (operations1); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "operations1", operations1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (operations1); gtk_container_add (GTK_CONTAINER (menubar), operations1); operations1_menu = gtk_menu_new (); gtk_widget_set_name (operations1_menu, "operations1_menu"); gtk_widget_ref (operations1_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "operations1_menu", operations1_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (operations1), operations1_menu); operations1_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (operations1_menu)); transform1 = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (transform1)->child), _("_Basic")); gtk_widget_add_accelerator (transform1, "activate_item", operations1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (transform1, "transform1"); gtk_widget_ref (transform1); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "transform1", transform1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (transform1); gtk_container_add (GTK_CONTAINER (operations1_menu), transform1); transform1_menu = gtk_menu_new (); gtk_widget_set_name (transform1_menu, "transform1_menu"); gtk_widget_ref (transform1_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "transform1_menu", transform1_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (transform1), transform1_menu); transform1_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (transform1_menu)); invert = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (invert)->child), _("_Invert")); gtk_widget_add_accelerator (invert, "activate_item", transform1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (invert, "invert"); gtk_widget_ref (invert); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "invert", invert, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (invert); gtk_container_add (GTK_CONTAINER (transform1_menu), invert); mirror = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (mirror)->child), _("_Mirror...")); gtk_widget_add_accelerator (mirror, "activate_item", transform1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (mirror, "mirror"); gtk_widget_ref (mirror); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "mirror", mirror, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (mirror); gtk_container_add (GTK_CONTAINER (transform1_menu), mirror); move_terrain = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (move_terrain)->child), _("M_ove...")); gtk_widget_add_accelerator (move_terrain, "activate_item", transform1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (move_terrain, "move_terrain"); gtk_widget_ref (move_terrain); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "move_terrain", move_terrain, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (move_terrain); gtk_container_add (GTK_CONTAINER (transform1_menu), move_terrain); rotate = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (rotate)->child), _("_Rotate...")); gtk_widget_add_accelerator (rotate, "activate_item", transform1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (rotate, "rotate"); gtk_widget_ref (rotate); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "rotate", rotate, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rotate); gtk_container_add (GTK_CONTAINER (transform1_menu), rotate); scale = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (scale)->child), _("_Scale...")); gtk_widget_add_accelerator (scale, "activate_item", transform1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (scale, "scale"); gtk_widget_ref (scale); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "scale", scale, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale); gtk_container_add (GTK_CONTAINER (transform1_menu), scale); filter1 = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (filter1)->child), _("_Filter")); gtk_widget_add_accelerator (filter1, "activate_item", operations1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (filter1, "filter1"); gtk_widget_ref (filter1); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "filter1", filter1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter1); gtk_container_add (GTK_CONTAINER (operations1_menu), filter1); filter1_menu = gtk_menu_new (); gtk_widget_set_name (filter1_menu, "filter1_menu"); gtk_widget_ref (filter1_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "filter1_menu", filter1_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (filter1), filter1_menu); filter1_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (filter1_menu)); connect = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (connect)->child), _("_Connect...")); gtk_widget_add_accelerator (connect, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (connect, "connect"); gtk_widget_ref (connect); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "connect", connect, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (connect); gtk_container_add (GTK_CONTAINER (filter1_menu), connect); craters = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (craters)->child), _("C_raters...")); gtk_widget_add_accelerator (craters, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (craters, "craters"); gtk_widget_ref (craters); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "craters", craters, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (craters); gtk_container_add (GTK_CONTAINER (filter1_menu), craters); digital_filter = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (digital_filter)->child), _("_Digital Filter...")); gtk_widget_add_accelerator (digital_filter, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (digital_filter, "digital_filter"); gtk_widget_ref (digital_filter); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "digital_filter", digital_filter, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (digital_filter); gtk_container_add (GTK_CONTAINER (filter1_menu), digital_filter); erode = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (erode)->child), _("_Erode...")); gtk_widget_add_accelerator (erode, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (erode, "erode"); gtk_widget_ref (erode); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "erode", erode, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode); gtk_container_add (GTK_CONTAINER (filter1_menu), erode); fill = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (fill)->child), _("_Fill...")); gtk_widget_add_accelerator (fill, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (fill, "fill"); gtk_widget_ref (fill); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "fill", fill, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fill); gtk_container_add (GTK_CONTAINER (filter1_menu), fill); fill_basins = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (fill_basins)->child), _("Fill _Basins")); gtk_widget_add_accelerator (fill_basins, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (fill_basins, "fill_basins"); gtk_widget_ref (fill_basins); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "fill_basins", fill_basins, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fill_basins); gtk_container_add (GTK_CONTAINER (filter1_menu), fill_basins); flowmap = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (flowmap)->child), _("F_lowmap...")); gtk_widget_add_accelerator (flowmap, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (flowmap, "flowmap"); gtk_widget_ref (flowmap); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "flowmap", flowmap, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (flowmap); gtk_container_add (GTK_CONTAINER (filter1_menu), flowmap); fold = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (fold)->child), _("F_old...")); gtk_widget_add_accelerator (fold, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (fold, "fold"); gtk_widget_ref (fold); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "fold", fold, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fold); gtk_container_add (GTK_CONTAINER (filter1_menu), fold); gaussian_hill = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (gaussian_hill)->child), _("_Gaussian Hill...")); gtk_widget_add_accelerator (gaussian_hill, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (gaussian_hill, "gaussian_hill"); gtk_widget_ref (gaussian_hill); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "gaussian_hill", gaussian_hill, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (gaussian_hill); gtk_container_add (GTK_CONTAINER (filter1_menu), gaussian_hill); radial_scale = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (radial_scale)->child), _("_Radial Scale...")); gtk_widget_add_accelerator (radial_scale, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (radial_scale, "radial_scale"); gtk_widget_ref (radial_scale); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "radial_scale", radial_scale, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (radial_scale); gtk_container_add (GTK_CONTAINER (filter1_menu), radial_scale); rasterize = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (rasterize)->child), _("Rasteri_ze...")); gtk_widget_add_accelerator (rasterize, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (rasterize, "rasterize"); gtk_widget_ref (rasterize); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "rasterize", rasterize, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rasterize); gtk_container_add (GTK_CONTAINER (filter1_menu), rasterize); roughen = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (roughen)->child), _("Ro_ughen...")); gtk_widget_add_accelerator (roughen, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (roughen, "roughen"); gtk_widget_ref (roughen); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "roughen", roughen, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (roughen); gtk_container_add (GTK_CONTAINER (filter1_menu), roughen); smooth = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (smooth)->child), _("_Smooth...")); gtk_widget_add_accelerator (smooth, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (smooth, "smooth"); gtk_widget_ref (smooth); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "smooth", smooth, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (smooth); gtk_container_add (GTK_CONTAINER (filter1_menu), smooth); spherical_map = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (spherical_map)->child), _("S_pherical Map...")); gtk_widget_add_accelerator (spherical_map, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (spherical_map, "spherical_map"); gtk_widget_ref (spherical_map); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "spherical_map", spherical_map, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (spherical_map); gtk_container_add (GTK_CONTAINER (filter1_menu), spherical_map); terrace = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrace)->child), _("T_errace...")); gtk_widget_add_accelerator (terrace, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (terrace, "terrace"); gtk_widget_ref (terrace); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrace", terrace, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrace); gtk_container_add (GTK_CONTAINER (filter1_menu), terrace); tile = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (tile)->child), _("T_ile...")); gtk_widget_add_accelerator (tile, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (tile, "tile"); gtk_widget_ref (tile); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "tile", tile, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (tile); gtk_container_add (GTK_CONTAINER (filter1_menu), tile); transform = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (transform)->child), _("_Transform...")); gtk_widget_add_accelerator (transform, "activate_item", filter1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (transform, "transform"); gtk_widget_ref (transform); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "transform", transform, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (transform); gtk_container_add (GTK_CONTAINER (filter1_menu), transform); objects = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (objects)->child), _("_Objects")); gtk_widget_add_accelerator (objects, "activate_item", operations1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (objects, "objects"); gtk_widget_ref (objects); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "objects", objects, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (objects); gtk_container_add (GTK_CONTAINER (operations1_menu), objects); objects_menu = gtk_menu_new (); gtk_widget_set_name (objects_menu, "objects_menu"); gtk_widget_ref (objects_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "objects_menu", objects_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (objects), objects_menu); objects_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (objects_menu)); place = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (place)->child), _("_Place...")); gtk_widget_add_accelerator (place, "activate_item", objects_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (place, "place"); gtk_widget_ref (place); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "place", place, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (place); gtk_container_add (GTK_CONTAINER (objects_menu), place); trennlinie1 = gtk_menu_item_new (); gtk_widget_set_name (trennlinie1, "trennlinie1"); gtk_widget_ref (trennlinie1); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "trennlinie1", trennlinie1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (trennlinie1); gtk_container_add (GTK_CONTAINER (objects_menu), trennlinie1); gtk_widget_set_sensitive (trennlinie1, FALSE); prune_placed = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (prune_placed)->child), _("_Prune Placed...")); gtk_widget_add_accelerator (prune_placed, "activate_item", objects_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (prune_placed, "prune_placed"); gtk_widget_ref (prune_placed); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "prune_placed", prune_placed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (prune_placed); gtk_container_add (GTK_CONTAINER (objects_menu), prune_placed); rescale_placed = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (rescale_placed)->child), _("_Rescale Placed...")); gtk_widget_add_accelerator (rescale_placed, "activate_item", objects_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (rescale_placed, "rescale_placed"); gtk_widget_ref (rescale_placed); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "rescale_placed", rescale_placed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rescale_placed); gtk_container_add (GTK_CONTAINER (objects_menu), rescale_placed); separator10 = gtk_menu_item_new (); gtk_widget_set_name (separator10, "separator10"); gtk_widget_ref (separator10); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "separator10", separator10, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator10); gtk_container_add (GTK_CONTAINER (objects_menu), separator10); gtk_widget_set_sensitive (separator10, FALSE); remove_all = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (remove_all)->child), _("Remove _All")); gtk_widget_add_accelerator (remove_all, "activate_item", objects_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (remove_all, "remove_all"); gtk_widget_ref (remove_all); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "remove_all", remove_all, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (remove_all); gtk_container_add (GTK_CONTAINER (objects_menu), remove_all); remove_selected = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (remove_selected)->child), _("Remove Selec_ted")); gtk_widget_add_accelerator (remove_selected, "activate_item", objects_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (remove_selected, "remove_selected"); gtk_widget_ref (remove_selected); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "remove_selected", remove_selected, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (remove_selected); gtk_container_add (GTK_CONTAINER (objects_menu), remove_selected); rivers = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (rivers)->child), _("_Rivers")); gtk_widget_add_accelerator (rivers, "activate_item", operations1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (rivers, "rivers"); gtk_widget_ref (rivers); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "rivers", rivers, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rivers); gtk_container_add (GTK_CONTAINER (operations1_menu), rivers); rivers_menu = gtk_menu_new (); gtk_widget_set_name (rivers_menu, "rivers_menu"); gtk_widget_ref (rivers_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "rivers_menu", rivers_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (rivers), rivers_menu); rivers_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (rivers_menu)); river = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (river)->child), _("Ri_ver")); gtk_widget_add_accelerator (river, "activate_item", rivers_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (river, "river"); gtk_widget_ref (river); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "river", river, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (river); gtk_container_add (GTK_CONTAINER (rivers_menu), river); all_rivers = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (all_rivers)->child), _("A_ll Rivers")); gtk_widget_add_accelerator (all_rivers, "activate_item", rivers_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (all_rivers, "all_rivers"); gtk_widget_ref (all_rivers); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "all_rivers", all_rivers, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (all_rivers); gtk_container_add (GTK_CONTAINER (rivers_menu), all_rivers); redraw_rivers = gtk_menu_item_new_with_label (_("Redraw Rivers")); gtk_widget_set_name (redraw_rivers, "redraw_rivers"); gtk_widget_ref (redraw_rivers); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "redraw_rivers", redraw_rivers, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (redraw_rivers); gtk_container_add (GTK_CONTAINER (rivers_menu), redraw_rivers); remove_all_rivers = gtk_menu_item_new_with_label (_("Remove All Rivers")); gtk_widget_set_name (remove_all_rivers, "remove_all_rivers"); gtk_widget_ref (remove_all_rivers); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "remove_all_rivers", remove_all_rivers, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (remove_all_rivers); gtk_container_add (GTK_CONTAINER (rivers_menu), remove_all_rivers); view1 = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (view1)->child), _("_View")); gtk_widget_add_accelerator (view1, "activate_item", accel_group, tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0); gtk_widget_set_name (view1, "view1"); gtk_widget_ref (view1); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "view1", view1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (view1); gtk_container_add (GTK_CONTAINER (menubar), view1); view1_menu = gtk_menu_new (); gtk_widget_set_name (view1_menu, "view1_menu"); gtk_widget_ref (view1_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "view1_menu", view1_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (view1), view1_menu); view1_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (view1_menu)); type = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (type)->child), _("_Type")); gtk_widget_add_accelerator (type, "activate_item", view1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (type, "type"); gtk_widget_ref (type); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "type", type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (type); gtk_container_add (GTK_CONTAINER (view1_menu), type); type_menu = gtk_menu_new (); gtk_widget_set_name (type_menu, "type_menu"); gtk_widget_ref (type_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "type_menu", type_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (type), type_menu); type_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (type_menu)); terrain_2d_plane = gtk_radio_menu_item_new_with_label (view_group_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_2d_plane)->child), _("2D _Plane")); gtk_widget_add_accelerator (terrain_2d_plane, "activate_item", type_menu_accels, tmp_key, 0, 0); view_group_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (terrain_2d_plane)); gtk_widget_set_name (terrain_2d_plane, "terrain_2d_plane"); gtk_widget_ref (terrain_2d_plane); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_2d_plane", terrain_2d_plane, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_2d_plane); gtk_container_add (GTK_CONTAINER (type_menu), terrain_2d_plane); gtk_widget_add_accelerator (terrain_2d_plane, "activate", accel_group, GDK_1, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_2d_plane), TRUE); terrain_2d_contour = gtk_radio_menu_item_new_with_label (view_group_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_2d_contour)->child), _("2D _Contour")); gtk_widget_add_accelerator (terrain_2d_contour, "activate_item", type_menu_accels, tmp_key, 0, 0); view_group_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (terrain_2d_contour)); gtk_widget_set_name (terrain_2d_contour, "terrain_2d_contour"); gtk_widget_ref (terrain_2d_contour); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_2d_contour", terrain_2d_contour, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_2d_contour); gtk_container_add (GTK_CONTAINER (type_menu), terrain_2d_contour); gtk_widget_add_accelerator (terrain_2d_contour, "activate", accel_group, GDK_2, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_2d_contour), TRUE); terrain_3d_wire = gtk_radio_menu_item_new_with_label (view_group_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_3d_wire)->child), _("3D _Wire")); gtk_widget_add_accelerator (terrain_3d_wire, "activate_item", type_menu_accels, tmp_key, 0, 0); view_group_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (terrain_3d_wire)); gtk_widget_set_name (terrain_3d_wire, "terrain_3d_wire"); gtk_widget_ref (terrain_3d_wire); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_3d_wire", terrain_3d_wire, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_3d_wire); gtk_container_add (GTK_CONTAINER (type_menu), terrain_3d_wire); gtk_widget_add_accelerator (terrain_3d_wire, "activate", accel_group, GDK_3, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_3d_wire), TRUE); terrain_3d_height = gtk_radio_menu_item_new_with_label (view_group_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_3d_height)->child), _("3D _Height")); gtk_widget_add_accelerator (terrain_3d_height, "activate_item", type_menu_accels, tmp_key, 0, 0); view_group_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (terrain_3d_height)); gtk_widget_set_name (terrain_3d_height, "terrain_3d_height"); gtk_widget_ref (terrain_3d_height); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_3d_height", terrain_3d_height, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_3d_height); gtk_container_add (GTK_CONTAINER (type_menu), terrain_3d_height); gtk_widget_add_accelerator (terrain_3d_height, "activate", accel_group, GDK_4, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_3d_height), TRUE); terrain_3d_light = gtk_radio_menu_item_new_with_label (view_group_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_3d_light)->child), _("3D _Light")); gtk_widget_add_accelerator (terrain_3d_light, "activate_item", type_menu_accels, tmp_key, 0, 0); view_group_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (terrain_3d_light)); gtk_widget_set_name (terrain_3d_light, "terrain_3d_light"); gtk_widget_ref (terrain_3d_light); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_3d_light", terrain_3d_light, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_3d_light); gtk_container_add (GTK_CONTAINER (type_menu), terrain_3d_light); gtk_widget_add_accelerator (terrain_3d_light, "activate", accel_group, GDK_5, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (terrain_3d_light), TRUE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_3d_light), TRUE); separator6 = gtk_menu_item_new (); gtk_widget_set_name (separator6, "separator6"); gtk_widget_ref (separator6); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "separator6", separator6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (separator6); gtk_container_add (GTK_CONTAINER (type_menu), separator6); gtk_widget_set_sensitive (separator6, FALSE); terrain_auto_rotate = gtk_check_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_auto_rotate)->child), _("_Auto Rotate")); gtk_widget_add_accelerator (terrain_auto_rotate, "activate_item", type_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (terrain_auto_rotate, "terrain_auto_rotate"); gtk_widget_ref (terrain_auto_rotate); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_auto_rotate", terrain_auto_rotate, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_auto_rotate); gtk_container_add (GTK_CONTAINER (type_menu), terrain_auto_rotate); gtk_widget_add_accelerator (terrain_auto_rotate, "activate", accel_group, GDK_R, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_auto_rotate), TRUE); terrain_do_tile = gtk_check_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_do_tile)->child), _("_Tile")); gtk_widget_add_accelerator (terrain_do_tile, "activate_item", type_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (terrain_do_tile, "terrain_do_tile"); gtk_widget_ref (terrain_do_tile); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_do_tile", terrain_do_tile, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_do_tile); gtk_container_add (GTK_CONTAINER (type_menu), terrain_do_tile); gtk_widget_add_accelerator (terrain_do_tile, "activate", accel_group, GDK_T, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_do_tile), TRUE); colormap1 = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (colormap1)->child), _("_Colormap")); gtk_widget_add_accelerator (colormap1, "activate_item", view1_menu_accels, tmp_key, 0, 0); gtk_widget_set_name (colormap1, "colormap1"); gtk_widget_ref (colormap1); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "colormap1", colormap1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (colormap1); gtk_container_add (GTK_CONTAINER (view1_menu), colormap1); colormap1_menu = gtk_menu_new (); gtk_widget_set_name (colormap1_menu, "colormap1_menu"); gtk_widget_ref (colormap1_menu); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "colormap1_menu", colormap1_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (colormap1), colormap1_menu); colormap1_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (colormap1_menu)); terrain_land = gtk_radio_menu_item_new_with_label (colormap_group_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_land)->child), _("_Land")); gtk_widget_add_accelerator (terrain_land, "activate_item", colormap1_menu_accels, tmp_key, 0, 0); colormap_group_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (terrain_land)); gtk_widget_set_name (terrain_land, "terrain_land"); gtk_widget_ref (terrain_land); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_land", terrain_land, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_land); gtk_container_add (GTK_CONTAINER (colormap1_menu), terrain_land); gtk_widget_add_accelerator (terrain_land, "activate", accel_group, GDK_1, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_land), TRUE); terrain_desert = gtk_radio_menu_item_new_with_label (colormap_group_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_desert)->child), _("_Desert")); gtk_widget_add_accelerator (terrain_desert, "activate_item", colormap1_menu_accels, tmp_key, 0, 0); colormap_group_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (terrain_desert)); gtk_widget_set_name (terrain_desert, "terrain_desert"); gtk_widget_ref (terrain_desert); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_desert", terrain_desert, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_desert); gtk_container_add (GTK_CONTAINER (colormap1_menu), terrain_desert); gtk_widget_add_accelerator (terrain_desert, "activate", accel_group, GDK_2, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_desert), TRUE); terrain_grayscale = gtk_radio_menu_item_new_with_label (colormap_group_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_grayscale)->child), _("_Grayscale")); gtk_widget_add_accelerator (terrain_grayscale, "activate_item", colormap1_menu_accels, tmp_key, 0, 0); colormap_group_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (terrain_grayscale)); gtk_widget_set_name (terrain_grayscale, "terrain_grayscale"); gtk_widget_ref (terrain_grayscale); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_grayscale", terrain_grayscale, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_grayscale); gtk_container_add (GTK_CONTAINER (colormap1_menu), terrain_grayscale); gtk_widget_add_accelerator (terrain_grayscale, "activate", accel_group, GDK_3, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_grayscale), TRUE); terrain_heat = gtk_radio_menu_item_new_with_label (colormap_group_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_heat)->child), _("_Heat")); gtk_widget_add_accelerator (terrain_heat, "activate_item", colormap1_menu_accels, tmp_key, 0, 0); colormap_group_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (terrain_heat)); gtk_widget_set_name (terrain_heat, "terrain_heat"); gtk_widget_ref (terrain_heat); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_heat", terrain_heat, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_heat); gtk_container_add (GTK_CONTAINER (colormap1_menu), terrain_heat); gtk_widget_add_accelerator (terrain_heat, "activate", accel_group, GDK_4, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_heat), TRUE); terrain_wasteland = gtk_radio_menu_item_new_with_label (colormap_group_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (terrain_wasteland)->child), _("_Wasteland")); gtk_widget_add_accelerator (terrain_wasteland, "activate_item", colormap1_menu_accels, tmp_key, 0, 0); colormap_group_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (terrain_wasteland)); gtk_widget_set_name (terrain_wasteland, "terrain_wasteland"); gtk_widget_ref (terrain_wasteland); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "terrain_wasteland", terrain_wasteland, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_wasteland); gtk_container_add (GTK_CONTAINER (colormap1_menu), terrain_wasteland); gtk_widget_add_accelerator (terrain_wasteland, "activate", accel_group, GDK_5, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (terrain_wasteland), TRUE); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (terrain_wasteland), TRUE); handlebox = gtk_handle_box_new (); gtk_widget_set_name (handlebox, "handlebox"); gtk_widget_ref (handlebox); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "handlebox", handlebox, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (handlebox); gtk_box_pack_start (GTK_BOX (vbox128), handlebox, FALSE, FALSE, 0); toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS); gtk_widget_set_name (toolbar, "toolbar"); gtk_widget_ref (toolbar); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "toolbar", toolbar, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (toolbar); gtk_container_add (GTK_CONTAINER (handlebox), toolbar); gtk_container_set_border_width (GTK_CONTAINER (toolbar), 2); gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE); gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE); tmp_toolbar_icon = create_pixmap (terrain_window, "arrow.xpm"); move = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, "", _("Move objects"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_set_name (move, "move"); gtk_widget_ref (move); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "move", move, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (move); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (move), TRUE); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (move), FALSE); tmp_toolbar_icon = create_pixmap (terrain_window, "rectangle.xpm"); rectangular_select = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, move, _("Rectangle"), _("Select rectangular regions"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_set_name (rectangular_select, "rectangular_select"); gtk_widget_ref (rectangular_select); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "rectangular_select", rectangular_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rectangular_select); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (rectangular_select), FALSE); tmp_toolbar_icon = create_pixmap (terrain_window, "circle.xpm"); elliptical_select = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, move, _("Ellipse"), _("Select elliptical regions"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_set_name (elliptical_select, "elliptical_select"); gtk_widget_ref (elliptical_select); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "elliptical_select", elliptical_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (elliptical_select); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (elliptical_select), FALSE); tmp_toolbar_icon = create_pixmap (terrain_window, "zoom.xpm"); square_zoom_select = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, move, _("Square Zoom"), _("Select square region and zoom"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_set_name (square_zoom_select, "square_zoom_select"); gtk_widget_ref (square_zoom_select); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "square_zoom_select", square_zoom_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (square_zoom_select); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (square_zoom_select), FALSE); tmp_toolbar_icon = create_pixmap (terrain_window, "crop.xpm"); crop_new = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, move, _("Crop"), _("Select rectangular region and crop"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_set_name (crop_new, "crop_new"); gtk_widget_ref (crop_new); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "crop_new", crop_new, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (crop_new); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (crop_new), FALSE); tmp_toolbar_icon = create_pixmap (terrain_window, "seed.xpm"); square_seed = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, move, _("Crop"), _("Select square region and seed new terrain"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_set_name (square_seed, "square_seed"); gtk_widget_ref (square_seed); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "square_seed", square_seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (square_seed); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (square_seed), FALSE); gtk_toolbar_append_space (GTK_TOOLBAR (toolbar)); tmp_toolbar_icon = create_pixmap (terrain_window, "replace.xpm"); replace = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, NULL, _("Replace"), _("Replace previous selection"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_set_name (replace, "replace"); gtk_widget_ref (replace); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "replace", replace, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (replace); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (replace), TRUE); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (replace), FALSE); tmp_toolbar_icon = create_pixmap (terrain_window, "add.xpm"); add = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, replace, _("Add"), _("Add to previous selection"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_set_name (add, "add"); gtk_widget_ref (add); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "add", add, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (add); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (add), FALSE); tmp_toolbar_icon = create_pixmap (terrain_window, "subtract.xpm"); subtract = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_CHILD_RADIOBUTTON, replace, _("Subtract"), _("Subtract from previous selection"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_widget_set_name (subtract, "subtract"); gtk_widget_ref (subtract); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "subtract", subtract, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (subtract); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (subtract), FALSE); aspect_frame = create_terrain_aspect_frame ("aspect_frame", NULL, NULL, 0, 0); gtk_widget_set_name (aspect_frame, "aspect_frame"); gtk_widget_ref (aspect_frame); gtk_object_set_data_full (GTK_OBJECT (terrain_window), "aspect_frame", aspect_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (aspect_frame); gtk_box_pack_start (GTK_BOX (vbox128), aspect_frame, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (aspect_frame, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (aspect_frame, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (terrain_window), "delete_event", GTK_SIGNAL_FUNC (on_terrain_window_delete_event), NULL); gtk_signal_connect (GTK_OBJECT (save), "activate", GTK_SIGNAL_FUNC (on_terrain_save_activate), NULL); gtk_signal_connect (GTK_OBJECT (save_as), "activate", GTK_SIGNAL_FUNC (on_terrain_save_as_activate), NULL); gtk_signal_connect (GTK_OBJECT (native), "activate", GTK_SIGNAL_FUNC (on_terrain_native_activate), NULL); gtk_signal_connect (GTK_OBJECT (render_povray), "activate", GTK_SIGNAL_FUNC (on_terrain_render_povray_activate), NULL); gtk_signal_connect (GTK_OBJECT (export_gimp), "activate", GTK_SIGNAL_FUNC (on_terrain_export_gimp_activate), NULL); gtk_signal_connect (GTK_OBJECT (export_povray), "activate", GTK_SIGNAL_FUNC (on_terrain_export_povray_activate), NULL); gtk_signal_connect (GTK_OBJECT (to_file_1), "activate", GTK_SIGNAL_FUNC (on_terrain_view_export_file_activate), NULL); gtk_signal_connect (GTK_OBJECT (to_gimp), "activate", GTK_SIGNAL_FUNC (on_terrain_view_export_gimp_activate), NULL); gtk_signal_connect (GTK_OBJECT (print), "activate", GTK_SIGNAL_FUNC (on_terrain_print_activate), NULL); gtk_signal_connect (GTK_OBJECT (print_preview), "activate", GTK_SIGNAL_FUNC (on_terrain_print_preview_activate), NULL); gtk_signal_connect (GTK_OBJECT (close), "activate", GTK_SIGNAL_FUNC (on_terrain_close_activate), NULL); gtk_signal_connect (GTK_OBJECT (undo), "activate", GTK_SIGNAL_FUNC (on_terrain_undo_activate), NULL); gtk_signal_connect (GTK_OBJECT (clone), "activate", GTK_SIGNAL_FUNC (on_terrain_clone_activate), NULL); gtk_signal_connect (GTK_OBJECT (render_options), "activate", GTK_SIGNAL_FUNC (on_terrain_render_options_activate), NULL); gtk_signal_connect (GTK_OBJECT (scene_options), "activate", GTK_SIGNAL_FUNC (on_terrain_scene_options_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_options), "activate", GTK_SIGNAL_FUNC (on_terrain_terrain_options_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_info), "activate", GTK_SIGNAL_FUNC (on_terrain_info_activate), NULL); gtk_signal_connect (GTK_OBJECT (select_invert), "activate", GTK_SIGNAL_FUNC (on_select_invert_activate), NULL); gtk_signal_connect (GTK_OBJECT (select_all), "activate", GTK_SIGNAL_FUNC (on_select_all_activate), NULL); gtk_signal_connect (GTK_OBJECT (select_none), "activate", GTK_SIGNAL_FUNC (on_select_none_activate), NULL); gtk_signal_connect (GTK_OBJECT (by_height), "activate", GTK_SIGNAL_FUNC (on_by_height_activate), NULL); gtk_signal_connect (GTK_OBJECT (feather), "activate", GTK_SIGNAL_FUNC (on_select_feather_activate), NULL); gtk_signal_connect (GTK_OBJECT (invert), "activate", GTK_SIGNAL_FUNC (on_terrain_invert_activate), NULL); gtk_signal_connect (GTK_OBJECT (mirror), "activate", GTK_SIGNAL_FUNC (on_terrain_mirror_activate), NULL); gtk_signal_connect (GTK_OBJECT (move_terrain), "activate", GTK_SIGNAL_FUNC (on_terrain_move_activate), NULL); gtk_signal_connect (GTK_OBJECT (rotate), "activate", GTK_SIGNAL_FUNC (on_terrain_rotate_activate), NULL); gtk_signal_connect (GTK_OBJECT (scale), "activate", GTK_SIGNAL_FUNC (on_terrain_scale_activate), NULL); gtk_signal_connect (GTK_OBJECT (connect), "activate", GTK_SIGNAL_FUNC (on_terrain_connect_activate), NULL); gtk_signal_connect (GTK_OBJECT (craters), "activate", GTK_SIGNAL_FUNC (on_terrain_craters_activate), NULL); gtk_signal_connect (GTK_OBJECT (digital_filter), "activate", GTK_SIGNAL_FUNC (on_terrain_digital_filter_activate), NULL); gtk_signal_connect (GTK_OBJECT (erode), "activate", GTK_SIGNAL_FUNC (on_terrain_erode_activate), NULL); gtk_signal_connect (GTK_OBJECT (fill), "activate", GTK_SIGNAL_FUNC (on_terrain_fill_activate), NULL); gtk_signal_connect (GTK_OBJECT (fill_basins), "activate", GTK_SIGNAL_FUNC (on_fill_basins_activate), NULL); gtk_signal_connect (GTK_OBJECT (flowmap), "activate", GTK_SIGNAL_FUNC (on_terrain_flowmap_activate), NULL); gtk_signal_connect (GTK_OBJECT (fold), "activate", GTK_SIGNAL_FUNC (on_terrain_fold_activate), NULL); gtk_signal_connect (GTK_OBJECT (gaussian_hill), "activate", GTK_SIGNAL_FUNC (on_terrain_gaussian_hill_activate), NULL); gtk_signal_connect (GTK_OBJECT (radial_scale), "activate", GTK_SIGNAL_FUNC (on_terrain_radial_scale_activate), NULL); gtk_signal_connect (GTK_OBJECT (rasterize), "activate", GTK_SIGNAL_FUNC (on_rasterize_activate), NULL); gtk_signal_connect (GTK_OBJECT (roughen), "activate", GTK_SIGNAL_FUNC (on_terrain_roughen_activate), NULL); gtk_signal_connect (GTK_OBJECT (smooth), "activate", GTK_SIGNAL_FUNC (on_terrain_smooth_activate), NULL); gtk_signal_connect (GTK_OBJECT (spherical_map), "activate", GTK_SIGNAL_FUNC (on_spherical_map_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrace), "activate", GTK_SIGNAL_FUNC (on_terrain_terrace_activate), NULL); gtk_signal_connect (GTK_OBJECT (tile), "activate", GTK_SIGNAL_FUNC (on_terrain_tile_activate), NULL); gtk_signal_connect (GTK_OBJECT (transform), "activate", GTK_SIGNAL_FUNC (on_terrain_transform_activate), NULL); gtk_signal_connect (GTK_OBJECT (place), "activate", GTK_SIGNAL_FUNC (on_place_activate), NULL); gtk_signal_connect (GTK_OBJECT (prune_placed), "activate", GTK_SIGNAL_FUNC (on_prune_placed_activate), NULL); gtk_signal_connect (GTK_OBJECT (rescale_placed), "activate", GTK_SIGNAL_FUNC (on_rescale_placed_activate), NULL); gtk_signal_connect (GTK_OBJECT (remove_all), "activate", GTK_SIGNAL_FUNC (on_remove_all_activate), NULL); gtk_signal_connect (GTK_OBJECT (remove_selected), "activate", GTK_SIGNAL_FUNC (on_remove_selected_activate), NULL); gtk_signal_connect (GTK_OBJECT (river), "activate", GTK_SIGNAL_FUNC (on_terrain_river_activate), NULL); gtk_signal_connect (GTK_OBJECT (all_rivers), "activate", GTK_SIGNAL_FUNC (on_terrain_all_rivers_activate), NULL); gtk_signal_connect (GTK_OBJECT (redraw_rivers), "activate", GTK_SIGNAL_FUNC (on_terrain_redraw_rivers_activate), NULL); gtk_signal_connect (GTK_OBJECT (remove_all_rivers), "activate", GTK_SIGNAL_FUNC (on_terrain_remove_all_rivers_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_2d_plane), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_2d_contour), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_3d_wire), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_3d_height), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_3d_light), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_auto_rotate), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_do_tile), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_land), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_desert), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_grayscale), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_heat), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (terrain_wasteland), "activate", GTK_SIGNAL_FUNC (terrain_toggle_activate), NULL); gtk_signal_connect (GTK_OBJECT (move), "clicked", GTK_SIGNAL_FUNC (on_toolbar_clicked), NULL); gtk_signal_connect (GTK_OBJECT (rectangular_select), "clicked", GTK_SIGNAL_FUNC (on_toolbar_clicked), NULL); gtk_signal_connect (GTK_OBJECT (elliptical_select), "clicked", GTK_SIGNAL_FUNC (on_toolbar_clicked), NULL); gtk_signal_connect (GTK_OBJECT (square_zoom_select), "clicked", GTK_SIGNAL_FUNC (on_toolbar_clicked), NULL); gtk_signal_connect (GTK_OBJECT (crop_new), "clicked", GTK_SIGNAL_FUNC (on_toolbar_clicked), NULL); gtk_signal_connect (GTK_OBJECT (square_seed), "clicked", GTK_SIGNAL_FUNC (on_toolbar_clicked), NULL); gtk_signal_connect (GTK_OBJECT (replace), "clicked", GTK_SIGNAL_FUNC (on_toolbar_clicked), NULL); gtk_signal_connect (GTK_OBJECT (add), "clicked", GTK_SIGNAL_FUNC (on_toolbar_clicked), NULL); gtk_signal_connect (GTK_OBJECT (subtract), "clicked", GTK_SIGNAL_FUNC (on_toolbar_clicked), NULL); gtk_window_add_accel_group (GTK_WINDOW (terrain_window), accel_group); return terrain_window; } GtkWidget* create_level_connector_window (void) { GtkWidget *level_connector_window; GtkWidget *vbox15; GtkWidget *hbox24; GtkWidget *frame6; GtkWidget *vbox16; GtkWidget *hbox25; GtkWidget *frame7; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame8; GtkWidget *hbox26; GtkWidget *label22; GtkObject *count_adj; GtkWidget *count; GtkWidget *hseparator8; GtkWidget *hbox22; GtkWidget *label21; GtkWidget *hbox23; GtkWidget *ok; GtkWidget *cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); level_connector_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (level_connector_window, "level_connector_window"); gtk_object_set_data (GTK_OBJECT (level_connector_window), "level_connector_window", level_connector_window); gtk_window_set_title (GTK_WINDOW (level_connector_window), _("Level Connector")); vbox15 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox15, "vbox15"); gtk_widget_ref (vbox15); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "vbox15", vbox15, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox15); gtk_container_add (GTK_CONTAINER (level_connector_window), vbox15); hbox24 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox24, "hbox24"); gtk_widget_ref (hbox24); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "hbox24", hbox24, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox24); gtk_box_pack_start (GTK_BOX (vbox15), hbox24, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox24), 8); frame6 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame6, "frame6"); gtk_widget_ref (frame6); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "frame6", frame6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame6); gtk_box_pack_start (GTK_BOX (hbox24), frame6, FALSE, FALSE, 0); vbox16 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox16, "vbox16"); gtk_widget_ref (vbox16); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "vbox16", vbox16, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox16); gtk_container_add (GTK_CONTAINER (frame6), vbox16); hbox25 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox25, "hbox25"); gtk_widget_ref (hbox25); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "hbox25", hbox25, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox25); gtk_box_pack_start (GTK_BOX (vbox16), hbox25, FALSE, FALSE, 0); frame7 = gtk_frame_new (NULL); gtk_widget_set_name (frame7, "frame7"); gtk_widget_ref (frame7); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "frame7", frame7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame7); gtk_box_pack_start (GTK_BOX (hbox25), frame7, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame7), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame7), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox16), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame8 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame8, "frame8"); gtk_widget_ref (frame8); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "frame8", frame8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame8); gtk_box_pack_start (GTK_BOX (hbox24), frame8, TRUE, TRUE, 0); hbox26 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox26, "hbox26"); gtk_widget_ref (hbox26); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "hbox26", hbox26, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox26); gtk_container_add (GTK_CONTAINER (frame8), hbox26); gtk_container_set_border_width (GTK_CONTAINER (hbox26), 8); label22 = gtk_label_new (_("Iteration count")); gtk_widget_set_name (label22, "label22"); gtk_widget_ref (label22); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "label22", label22, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label22); gtk_box_pack_start (GTK_BOX (hbox26), label22, FALSE, FALSE, 0); count_adj = gtk_adjustment_new (1, 1, 50, 1, 10, 10); count = gtk_spin_button_new (GTK_ADJUSTMENT (count_adj), 1, 0); gtk_widget_set_name (count, "count"); gtk_widget_ref (count); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "count", count, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (count); gtk_box_pack_start (GTK_BOX (hbox26), count, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (count), TRUE); hseparator8 = gtk_hseparator_new (); gtk_widget_set_name (hseparator8, "hseparator8"); gtk_widget_ref (hseparator8); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "hseparator8", hseparator8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator8); gtk_box_pack_start (GTK_BOX (vbox15), hseparator8, FALSE, FALSE, 0); hbox22 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox22, "hbox22"); gtk_widget_ref (hbox22); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "hbox22", hbox22, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox22); gtk_box_pack_start (GTK_BOX (vbox15), hbox22, FALSE, FALSE, 0); label21 = gtk_label_new (""); gtk_widget_set_name (label21, "label21"); gtk_widget_ref (label21); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "label21", label21, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label21); gtk_box_pack_start (GTK_BOX (hbox22), label21, TRUE, TRUE, 0); hbox23 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox23, "hbox23"); gtk_widget_ref (hbox23); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "hbox23", hbox23, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox23); gtk_box_pack_start (GTK_BOX (hbox22), hbox23, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox23), 8); ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (ok, "ok"); gtk_widget_ref (ok); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "ok", ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok); gtk_box_pack_start (GTK_BOX (hbox23), ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (level_connector_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox23), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (count), "changed", GTK_SIGNAL_FUNC (on_level_connector_count_changed), NULL); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); gtk_window_add_accel_group (GTK_WINDOW (level_connector_window), accel_group); return level_connector_window; } GtkWidget* create_craters_window (void) { GtkWidget *craters_window; GtkWidget *vbox17; GtkWidget *hbox27; GtkWidget *frame9; GtkWidget *vbox18; GtkWidget *hbox28; GtkWidget *frame10; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame11; GtkWidget *vbox19; GtkWidget *table3; GtkWidget *center_x_label; GtkWidget *center_y_label; GtkWidget *center_x; GtkWidget *center_y; GtkWidget *hseparator10; GtkWidget *vbox21; GtkWidget *table4; GtkWidget *label28; GtkWidget *label29; GtkWidget *label30; GtkWidget *label31; GtkWidget *count; GtkWidget *radius; GtkWidget *height; GtkWidget *coverage; GtkWidget *wrap; GtkWidget *hseparator11; GtkWidget *vbox20; GtkWidget *new_seed; GtkWidget *hbox32; GtkWidget *seed_label; GtkWidget *seed; GtkWidget *hseparator9; GtkWidget *hbox30; GtkWidget *label24; GtkWidget *hbox31; GtkWidget *crater_ok; GtkWidget *crater_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); craters_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (craters_window, "craters_window"); gtk_object_set_data (GTK_OBJECT (craters_window), "craters_window", craters_window); gtk_window_set_title (GTK_WINDOW (craters_window), _("Craters")); vbox17 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox17, "vbox17"); gtk_widget_ref (vbox17); gtk_object_set_data_full (GTK_OBJECT (craters_window), "vbox17", vbox17, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox17); gtk_container_add (GTK_CONTAINER (craters_window), vbox17); hbox27 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox27, "hbox27"); gtk_widget_ref (hbox27); gtk_object_set_data_full (GTK_OBJECT (craters_window), "hbox27", hbox27, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox27); gtk_box_pack_start (GTK_BOX (vbox17), hbox27, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox27), 8); frame9 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame9, "frame9"); gtk_widget_ref (frame9); gtk_object_set_data_full (GTK_OBJECT (craters_window), "frame9", frame9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame9); gtk_box_pack_start (GTK_BOX (hbox27), frame9, FALSE, FALSE, 0); vbox18 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox18, "vbox18"); gtk_widget_ref (vbox18); gtk_object_set_data_full (GTK_OBJECT (craters_window), "vbox18", vbox18, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox18); gtk_container_add (GTK_CONTAINER (frame9), vbox18); hbox28 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox28, "hbox28"); gtk_widget_ref (hbox28); gtk_object_set_data_full (GTK_OBJECT (craters_window), "hbox28", hbox28, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox28); gtk_box_pack_start (GTK_BOX (vbox18), hbox28, FALSE, FALSE, 0); frame10 = gtk_frame_new (NULL); gtk_widget_set_name (frame10, "frame10"); gtk_widget_ref (frame10); gtk_object_set_data_full (GTK_OBJECT (craters_window), "frame10", frame10, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame10); gtk_box_pack_start (GTK_BOX (hbox28), frame10, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame10), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (craters_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame10), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (craters_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox18), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame11 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame11, "frame11"); gtk_widget_ref (frame11); gtk_object_set_data_full (GTK_OBJECT (craters_window), "frame11", frame11, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame11); gtk_box_pack_start (GTK_BOX (hbox27), frame11, TRUE, TRUE, 0); vbox19 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox19, "vbox19"); gtk_widget_ref (vbox19); gtk_object_set_data_full (GTK_OBJECT (craters_window), "vbox19", vbox19, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox19); gtk_container_add (GTK_CONTAINER (frame11), vbox19); table3 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table3, "table3"); gtk_widget_ref (table3); gtk_object_set_data_full (GTK_OBJECT (craters_window), "table3", table3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table3); gtk_box_pack_start (GTK_BOX (vbox19), table3, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table3), 8); gtk_table_set_row_spacings (GTK_TABLE (table3), 4); gtk_table_set_col_spacings (GTK_TABLE (table3), 8); center_x_label = gtk_label_new (_("Center X")); gtk_widget_set_name (center_x_label, "center_x_label"); gtk_widget_ref (center_x_label); gtk_object_set_data_full (GTK_OBJECT (craters_window), "center_x_label", center_x_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_x_label); gtk_table_attach (GTK_TABLE (table3), center_x_label, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (center_x_label, FALSE); center_y_label = gtk_label_new (_("Center Y")); gtk_widget_set_name (center_y_label, "center_y_label"); gtk_widget_ref (center_y_label); gtk_object_set_data_full (GTK_OBJECT (craters_window), "center_y_label", center_y_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_y_label); gtk_table_attach (GTK_TABLE (table3), center_y_label, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (center_y_label, FALSE); center_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (center_x, "center_x"); gtk_widget_ref (center_x); gtk_object_set_data_full (GTK_OBJECT (craters_window), "center_x", center_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_x); gtk_table_attach (GTK_TABLE (table3), center_x, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (center_x, 150, -2); gtk_widget_set_sensitive (center_x, FALSE); gtk_scale_set_digits (GTK_SCALE (center_x), 2); center_y = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (center_y, "center_y"); gtk_widget_ref (center_y); gtk_object_set_data_full (GTK_OBJECT (craters_window), "center_y", center_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_y); gtk_table_attach (GTK_TABLE (table3), center_y, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_sensitive (center_y, FALSE); gtk_scale_set_digits (GTK_SCALE (center_y), 2); hseparator10 = gtk_hseparator_new (); gtk_widget_set_name (hseparator10, "hseparator10"); gtk_widget_ref (hseparator10); gtk_object_set_data_full (GTK_OBJECT (craters_window), "hseparator10", hseparator10, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator10); gtk_box_pack_start (GTK_BOX (vbox19), hseparator10, FALSE, FALSE, 0); vbox21 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox21, "vbox21"); gtk_widget_ref (vbox21); gtk_object_set_data_full (GTK_OBJECT (craters_window), "vbox21", vbox21, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox21); gtk_box_pack_start (GTK_BOX (vbox19), vbox21, FALSE, FALSE, 0); table4 = gtk_table_new (4, 2, FALSE); gtk_widget_set_name (table4, "table4"); gtk_widget_ref (table4); gtk_object_set_data_full (GTK_OBJECT (craters_window), "table4", table4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table4); gtk_box_pack_start (GTK_BOX (vbox21), table4, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table4), 8); gtk_table_set_row_spacings (GTK_TABLE (table4), 4); gtk_table_set_col_spacings (GTK_TABLE (table4), 8); label28 = gtk_label_new (_("Number of craters")); gtk_widget_set_name (label28, "label28"); gtk_widget_ref (label28); gtk_object_set_data_full (GTK_OBJECT (craters_window), "label28", label28, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label28); gtk_table_attach (GTK_TABLE (table4), label28, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label29 = gtk_label_new (_("Crater radius")); gtk_widget_set_name (label29, "label29"); gtk_widget_ref (label29); gtk_object_set_data_full (GTK_OBJECT (craters_window), "label29", label29, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label29); gtk_table_attach (GTK_TABLE (table4), label29, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label30 = gtk_label_new (_("Crater height")); gtk_widget_set_name (label30, "label30"); gtk_widget_ref (label30); gtk_object_set_data_full (GTK_OBJECT (craters_window), "label30", label30, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label30); gtk_table_attach (GTK_TABLE (table4), label30, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label31 = gtk_label_new (_("Crater coverage")); gtk_widget_set_name (label31, "label31"); gtk_widget_ref (label31); gtk_object_set_data_full (GTK_OBJECT (craters_window), "label31", label31, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label31); gtk_table_attach (GTK_TABLE (table4), label31, 0, 1, 3, 4, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); count = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (100, 1, 1000, 1, 0, 0))); gtk_widget_set_name (count, "count"); gtk_widget_ref (count); gtk_object_set_data_full (GTK_OBJECT (craters_window), "count", count, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (count); gtk_table_attach (GTK_TABLE (table4), count, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (count, 150, -2); gtk_scale_set_digits (GTK_SCALE (count), 0); radius = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (2, 0, 5, 0.01, 0, 0))); gtk_widget_set_name (radius, "radius"); gtk_widget_ref (radius); gtk_object_set_data_full (GTK_OBJECT (craters_window), "radius", radius, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (radius); gtk_table_attach (GTK_TABLE (table4), radius, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (radius), 2); height = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 0, 2, 0.01, 0, 0))); gtk_widget_set_name (height, "height"); gtk_widget_ref (height); gtk_object_set_data_full (GTK_OBJECT (craters_window), "height", height, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (height); gtk_table_attach (GTK_TABLE (table4), height, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (height), 2); coverage = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.15, 0.01, 0.5, 0.01, 0, 0))); gtk_widget_set_name (coverage, "coverage"); gtk_widget_ref (coverage); gtk_object_set_data_full (GTK_OBJECT (craters_window), "coverage", coverage, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (coverage); gtk_table_attach (GTK_TABLE (table4), coverage, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (coverage), 2); wrap = gtk_check_button_new_with_label (_("Wrap")); gtk_widget_set_name (wrap, "wrap"); gtk_widget_ref (wrap); gtk_object_set_data_full (GTK_OBJECT (craters_window), "wrap", wrap, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (wrap); gtk_box_pack_start (GTK_BOX (vbox21), wrap, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (wrap), 8); hseparator11 = gtk_hseparator_new (); gtk_widget_set_name (hseparator11, "hseparator11"); gtk_widget_ref (hseparator11); gtk_object_set_data_full (GTK_OBJECT (craters_window), "hseparator11", hseparator11, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator11); gtk_box_pack_start (GTK_BOX (vbox19), hseparator11, FALSE, FALSE, 0); vbox20 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox20, "vbox20"); gtk_widget_ref (vbox20); gtk_object_set_data_full (GTK_OBJECT (craters_window), "vbox20", vbox20, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox20); gtk_box_pack_start (GTK_BOX (vbox19), vbox20, TRUE, TRUE, 0); new_seed = gtk_check_button_new_with_label (_("Generate New Seed")); gtk_widget_set_name (new_seed, "new_seed"); gtk_widget_ref (new_seed); gtk_object_set_data_full (GTK_OBJECT (craters_window), "new_seed", new_seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (new_seed); gtk_box_pack_start (GTK_BOX (vbox20), new_seed, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (new_seed), 8); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_seed), TRUE); hbox32 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox32, "hbox32"); gtk_widget_ref (hbox32); gtk_object_set_data_full (GTK_OBJECT (craters_window), "hbox32", hbox32, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox32); gtk_box_pack_start (GTK_BOX (vbox20), hbox32, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox32), 8); seed_label = gtk_label_new (_("Seed")); gtk_widget_set_name (seed_label, "seed_label"); gtk_widget_ref (seed_label); gtk_object_set_data_full (GTK_OBJECT (craters_window), "seed_label", seed_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed_label); gtk_box_pack_start (GTK_BOX (hbox32), seed_label, FALSE, FALSE, 0); gtk_widget_set_sensitive (seed_label, FALSE); seed = gtk_entry_new_with_max_length (5); gtk_widget_set_name (seed, "seed"); gtk_widget_ref (seed); gtk_object_set_data_full (GTK_OBJECT (craters_window), "seed", seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed); gtk_box_pack_start (GTK_BOX (hbox32), seed, TRUE, TRUE, 0); gtk_widget_set_sensitive (seed, FALSE); gtk_entry_set_text (GTK_ENTRY (seed), _("0")); hseparator9 = gtk_hseparator_new (); gtk_widget_set_name (hseparator9, "hseparator9"); gtk_widget_ref (hseparator9); gtk_object_set_data_full (GTK_OBJECT (craters_window), "hseparator9", hseparator9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator9); gtk_box_pack_start (GTK_BOX (vbox17), hseparator9, FALSE, FALSE, 0); hbox30 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox30, "hbox30"); gtk_widget_ref (hbox30); gtk_object_set_data_full (GTK_OBJECT (craters_window), "hbox30", hbox30, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox30); gtk_box_pack_start (GTK_BOX (vbox17), hbox30, FALSE, FALSE, 0); label24 = gtk_label_new (""); gtk_widget_set_name (label24, "label24"); gtk_widget_ref (label24); gtk_object_set_data_full (GTK_OBJECT (craters_window), "label24", label24, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label24); gtk_box_pack_start (GTK_BOX (hbox30), label24, TRUE, TRUE, 0); hbox31 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox31, "hbox31"); gtk_widget_ref (hbox31); gtk_object_set_data_full (GTK_OBJECT (craters_window), "hbox31", hbox31, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox31); gtk_box_pack_start (GTK_BOX (hbox30), hbox31, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox31), 8); crater_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (crater_ok, "crater_ok"); gtk_widget_ref (crater_ok); gtk_object_set_data_full (GTK_OBJECT (craters_window), "crater_ok", crater_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (crater_ok); gtk_box_pack_start (GTK_BOX (hbox31), crater_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (crater_ok, GTK_CAN_DEFAULT); crater_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (crater_cancel, "crater_cancel"); gtk_widget_ref (crater_cancel); gtk_object_set_data_full (GTK_OBJECT (craters_window), "crater_cancel", crater_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (crater_cancel); gtk_box_pack_start (GTK_BOX (hbox31), crater_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (crater_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (crater_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (wrap), "toggled", GTK_SIGNAL_FUNC (on_generic_toggled), NULL); gtk_signal_connect (GTK_OBJECT (new_seed), "toggled", GTK_SIGNAL_FUNC (on_generic_new_seed_toggled), NULL); gtk_signal_connect (GTK_OBJECT (crater_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (crater_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (crater_cancel); gtk_window_add_accel_group (GTK_WINDOW (craters_window), accel_group); return craters_window; } GtkWidget* create_fill_window (void) { GtkWidget *fill_window; GtkWidget *vbox22; GtkWidget *hbox33; GtkWidget *frame12; GtkWidget *vbox23; GtkWidget *hbox34; GtkWidget *frame13; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame14; GtkWidget *table6; GtkWidget *label40; GtkWidget *label41; GtkWidget *fill_elevation; GtkWidget *fill_tightness; GtkWidget *hseparator14; GtkWidget *hbox36; GtkWidget *label39; GtkWidget *hbox37; GtkWidget *fill_ok; GtkWidget *fill_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); fill_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (fill_window, "fill_window"); gtk_object_set_data (GTK_OBJECT (fill_window), "fill_window", fill_window); gtk_window_set_title (GTK_WINDOW (fill_window), _("Fill")); vbox22 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox22, "vbox22"); gtk_widget_ref (vbox22); gtk_object_set_data_full (GTK_OBJECT (fill_window), "vbox22", vbox22, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox22); gtk_container_add (GTK_CONTAINER (fill_window), vbox22); hbox33 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox33, "hbox33"); gtk_widget_ref (hbox33); gtk_object_set_data_full (GTK_OBJECT (fill_window), "hbox33", hbox33, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox33); gtk_box_pack_start (GTK_BOX (vbox22), hbox33, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox33), 8); frame12 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame12, "frame12"); gtk_widget_ref (frame12); gtk_object_set_data_full (GTK_OBJECT (fill_window), "frame12", frame12, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame12); gtk_box_pack_start (GTK_BOX (hbox33), frame12, FALSE, FALSE, 0); vbox23 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox23, "vbox23"); gtk_widget_ref (vbox23); gtk_object_set_data_full (GTK_OBJECT (fill_window), "vbox23", vbox23, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox23); gtk_container_add (GTK_CONTAINER (frame12), vbox23); hbox34 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox34, "hbox34"); gtk_widget_ref (hbox34); gtk_object_set_data_full (GTK_OBJECT (fill_window), "hbox34", hbox34, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox34); gtk_box_pack_start (GTK_BOX (vbox23), hbox34, FALSE, FALSE, 0); frame13 = gtk_frame_new (NULL); gtk_widget_set_name (frame13, "frame13"); gtk_widget_ref (frame13); gtk_object_set_data_full (GTK_OBJECT (fill_window), "frame13", frame13, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame13); gtk_box_pack_start (GTK_BOX (hbox34), frame13, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame13), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (fill_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame13), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (fill_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox23), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame14 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame14, "frame14"); gtk_widget_ref (frame14); gtk_object_set_data_full (GTK_OBJECT (fill_window), "frame14", frame14, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame14); gtk_box_pack_start (GTK_BOX (hbox33), frame14, TRUE, TRUE, 0); table6 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table6, "table6"); gtk_widget_ref (table6); gtk_object_set_data_full (GTK_OBJECT (fill_window), "table6", table6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table6); gtk_container_add (GTK_CONTAINER (frame14), table6); gtk_container_set_border_width (GTK_CONTAINER (table6), 8); gtk_table_set_row_spacings (GTK_TABLE (table6), 4); gtk_table_set_col_spacings (GTK_TABLE (table6), 8); label40 = gtk_label_new (_("Elevation to fill up to")); gtk_widget_set_name (label40, "label40"); gtk_widget_ref (label40); gtk_object_set_data_full (GTK_OBJECT (fill_window), "label40", label40, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label40); gtk_table_attach (GTK_TABLE (table6), label40, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label41 = gtk_label_new (_("Tightness factor")); gtk_widget_set_name (label41, "label41"); gtk_widget_ref (label41); gtk_object_set_data_full (GTK_OBJECT (fill_window), "label41", label41, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label41); gtk_table_attach (GTK_TABLE (table6), label41, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); fill_elevation = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.33, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (fill_elevation, "fill_elevation"); gtk_widget_ref (fill_elevation); gtk_object_set_data_full (GTK_OBJECT (fill_window), "fill_elevation", fill_elevation, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fill_elevation); gtk_table_attach (GTK_TABLE (table6), fill_elevation, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (fill_elevation, 150, -2); gtk_scale_set_digits (GTK_SCALE (fill_elevation), 2); fill_tightness = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (fill_tightness, "fill_tightness"); gtk_widget_ref (fill_tightness); gtk_object_set_data_full (GTK_OBJECT (fill_window), "fill_tightness", fill_tightness, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fill_tightness); gtk_table_attach (GTK_TABLE (table6), fill_tightness, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (fill_tightness, 150, -2); gtk_scale_set_digits (GTK_SCALE (fill_tightness), 2); hseparator14 = gtk_hseparator_new (); gtk_widget_set_name (hseparator14, "hseparator14"); gtk_widget_ref (hseparator14); gtk_object_set_data_full (GTK_OBJECT (fill_window), "hseparator14", hseparator14, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator14); gtk_box_pack_start (GTK_BOX (vbox22), hseparator14, FALSE, FALSE, 0); hbox36 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox36, "hbox36"); gtk_widget_ref (hbox36); gtk_object_set_data_full (GTK_OBJECT (fill_window), "hbox36", hbox36, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox36); gtk_box_pack_start (GTK_BOX (vbox22), hbox36, FALSE, FALSE, 0); label39 = gtk_label_new (""); gtk_widget_set_name (label39, "label39"); gtk_widget_ref (label39); gtk_object_set_data_full (GTK_OBJECT (fill_window), "label39", label39, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label39); gtk_box_pack_start (GTK_BOX (hbox36), label39, TRUE, TRUE, 0); hbox37 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox37, "hbox37"); gtk_widget_ref (hbox37); gtk_object_set_data_full (GTK_OBJECT (fill_window), "hbox37", hbox37, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox37); gtk_box_pack_start (GTK_BOX (hbox36), hbox37, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox37), 8); fill_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (fill_ok, "fill_ok"); gtk_widget_ref (fill_ok); gtk_object_set_data_full (GTK_OBJECT (fill_window), "fill_ok", fill_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fill_ok); gtk_box_pack_start (GTK_BOX (hbox37), fill_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (fill_ok, GTK_CAN_DEFAULT); fill_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (fill_cancel, "fill_cancel"); gtk_widget_ref (fill_cancel); gtk_object_set_data_full (GTK_OBJECT (fill_window), "fill_cancel", fill_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fill_cancel); gtk_box_pack_start (GTK_BOX (hbox37), fill_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (fill_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (fill_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (fill_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (fill_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (fill_cancel); gtk_window_add_accel_group (GTK_WINDOW (fill_window), accel_group); return fill_window; } GtkWidget* create_fold_window (void) { GtkWidget *fold_window; GtkWidget *vbox27; GtkWidget *hbox38; GtkWidget *frame15; GtkWidget *vbox28; GtkWidget *hbox39; GtkWidget *frame16; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame17; GtkWidget *hbox42; GtkWidget *label45; GtkWidget *fold_offset; GtkWidget *hseparator15; GtkWidget *hbox40; GtkWidget *label44; GtkWidget *hbox41; GtkWidget *fold_ok; GtkWidget *fold_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); fold_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (fold_window, "fold_window"); gtk_object_set_data (GTK_OBJECT (fold_window), "fold_window", fold_window); gtk_window_set_title (GTK_WINDOW (fold_window), _("Fold")); vbox27 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox27, "vbox27"); gtk_widget_ref (vbox27); gtk_object_set_data_full (GTK_OBJECT (fold_window), "vbox27", vbox27, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox27); gtk_container_add (GTK_CONTAINER (fold_window), vbox27); hbox38 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox38, "hbox38"); gtk_widget_ref (hbox38); gtk_object_set_data_full (GTK_OBJECT (fold_window), "hbox38", hbox38, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox38); gtk_box_pack_start (GTK_BOX (vbox27), hbox38, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox38), 8); frame15 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame15, "frame15"); gtk_widget_ref (frame15); gtk_object_set_data_full (GTK_OBJECT (fold_window), "frame15", frame15, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame15); gtk_box_pack_start (GTK_BOX (hbox38), frame15, FALSE, FALSE, 0); vbox28 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox28, "vbox28"); gtk_widget_ref (vbox28); gtk_object_set_data_full (GTK_OBJECT (fold_window), "vbox28", vbox28, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox28); gtk_container_add (GTK_CONTAINER (frame15), vbox28); hbox39 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox39, "hbox39"); gtk_widget_ref (hbox39); gtk_object_set_data_full (GTK_OBJECT (fold_window), "hbox39", hbox39, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox39); gtk_box_pack_start (GTK_BOX (vbox28), hbox39, FALSE, FALSE, 0); frame16 = gtk_frame_new (NULL); gtk_widget_set_name (frame16, "frame16"); gtk_widget_ref (frame16); gtk_object_set_data_full (GTK_OBJECT (fold_window), "frame16", frame16, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame16); gtk_box_pack_start (GTK_BOX (hbox39), frame16, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame16), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (fold_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame16), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (fold_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox28), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame17 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame17, "frame17"); gtk_widget_ref (frame17); gtk_object_set_data_full (GTK_OBJECT (fold_window), "frame17", frame17, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame17); gtk_box_pack_start (GTK_BOX (hbox38), frame17, TRUE, TRUE, 0); hbox42 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox42, "hbox42"); gtk_widget_ref (hbox42); gtk_object_set_data_full (GTK_OBJECT (fold_window), "hbox42", hbox42, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox42); gtk_container_add (GTK_CONTAINER (frame17), hbox42); gtk_container_set_border_width (GTK_CONTAINER (hbox42), 8); label45 = gtk_label_new (_("Fold offset")); gtk_widget_set_name (label45, "label45"); gtk_widget_ref (label45); gtk_object_set_data_full (GTK_OBJECT (fold_window), "label45", label45, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label45); gtk_box_pack_start (GTK_BOX (hbox42), label45, FALSE, FALSE, 0); fold_offset = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.1, 0.01, 0.4, 0.01, 0, 0))); gtk_widget_set_name (fold_offset, "fold_offset"); gtk_widget_ref (fold_offset); gtk_object_set_data_full (GTK_OBJECT (fold_window), "fold_offset", fold_offset, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fold_offset); gtk_box_pack_start (GTK_BOX (hbox42), fold_offset, TRUE, TRUE, 0); gtk_widget_set_usize (fold_offset, 150, -2); gtk_scale_set_digits (GTK_SCALE (fold_offset), 2); hseparator15 = gtk_hseparator_new (); gtk_widget_set_name (hseparator15, "hseparator15"); gtk_widget_ref (hseparator15); gtk_object_set_data_full (GTK_OBJECT (fold_window), "hseparator15", hseparator15, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator15); gtk_box_pack_start (GTK_BOX (vbox27), hseparator15, FALSE, FALSE, 0); hbox40 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox40, "hbox40"); gtk_widget_ref (hbox40); gtk_object_set_data_full (GTK_OBJECT (fold_window), "hbox40", hbox40, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox40); gtk_box_pack_start (GTK_BOX (vbox27), hbox40, FALSE, FALSE, 0); label44 = gtk_label_new (""); gtk_widget_set_name (label44, "label44"); gtk_widget_ref (label44); gtk_object_set_data_full (GTK_OBJECT (fold_window), "label44", label44, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label44); gtk_box_pack_start (GTK_BOX (hbox40), label44, TRUE, TRUE, 0); hbox41 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox41, "hbox41"); gtk_widget_ref (hbox41); gtk_object_set_data_full (GTK_OBJECT (fold_window), "hbox41", hbox41, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox41); gtk_box_pack_start (GTK_BOX (hbox40), hbox41, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox41), 8); fold_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (fold_ok, "fold_ok"); gtk_widget_ref (fold_ok); gtk_object_set_data_full (GTK_OBJECT (fold_window), "fold_ok", fold_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fold_ok); gtk_box_pack_start (GTK_BOX (hbox41), fold_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (fold_ok, GTK_CAN_DEFAULT); fold_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (fold_cancel, "fold_cancel"); gtk_widget_ref (fold_cancel); gtk_object_set_data_full (GTK_OBJECT (fold_window), "fold_cancel", fold_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fold_cancel); gtk_box_pack_start (GTK_BOX (hbox41), fold_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (fold_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (fold_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (fold_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (fold_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (fold_cancel); gtk_window_add_accel_group (GTK_WINDOW (fold_window), accel_group); return fold_window; } GtkWidget* create_gaussian_hill_window (void) { GtkWidget *gaussian_hill_window; GtkWidget *vbox29; GtkWidget *hbox43; GtkWidget *frame18; GtkWidget *vbox30; GtkWidget *hbox44; GtkWidget *preview_frame; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame20; GtkWidget *vbox31; GtkWidget *table7; GtkWidget *label46; GtkWidget *label47; GtkWidget *center_x; GtkWidget *center_y; GtkWidget *label54; GtkWidget *hill_radius; GtkWidget *hseparator16; GtkWidget *table8; GtkWidget *label48; GtkWidget *label49; GtkWidget *label50; GtkWidget *label51; GtkWidget *hill_scale_factor; GtkWidget *hill_radius_factor; GtkWidget *hill_smoothing_factor; GtkWidget *hill_delta_scale_factor; GtkWidget *hseparator18; GtkWidget *hbox46; GtkWidget *label53; GtkWidget *hbox47; GtkWidget *hill_ok; GtkWidget *hill_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); gaussian_hill_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (gaussian_hill_window, "gaussian_hill_window"); gtk_object_set_data (GTK_OBJECT (gaussian_hill_window), "gaussian_hill_window", gaussian_hill_window); gtk_window_set_title (GTK_WINDOW (gaussian_hill_window), _("Gaussian Hill")); vbox29 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox29, "vbox29"); gtk_widget_ref (vbox29); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "vbox29", vbox29, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox29); gtk_container_add (GTK_CONTAINER (gaussian_hill_window), vbox29); hbox43 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox43, "hbox43"); gtk_widget_ref (hbox43); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hbox43", hbox43, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox43); gtk_box_pack_start (GTK_BOX (vbox29), hbox43, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox43), 8); frame18 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame18, "frame18"); gtk_widget_ref (frame18); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "frame18", frame18, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame18); gtk_box_pack_start (GTK_BOX (hbox43), frame18, FALSE, FALSE, 0); vbox30 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox30, "vbox30"); gtk_widget_ref (vbox30); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "vbox30", vbox30, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox30); gtk_container_add (GTK_CONTAINER (frame18), vbox30); hbox44 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox44, "hbox44"); gtk_widget_ref (hbox44); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hbox44", hbox44, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox44); gtk_box_pack_start (GTK_BOX (vbox30), hbox44, FALSE, FALSE, 0); preview_frame = gtk_frame_new (NULL); gtk_widget_set_name (preview_frame, "preview_frame"); gtk_widget_ref (preview_frame); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "preview_frame", preview_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview_frame); gtk_box_pack_start (GTK_BOX (hbox44), preview_frame, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (preview_frame), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (preview_frame), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox30), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame20 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame20, "frame20"); gtk_widget_ref (frame20); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "frame20", frame20, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame20); gtk_box_pack_start (GTK_BOX (hbox43), frame20, TRUE, TRUE, 0); vbox31 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox31, "vbox31"); gtk_widget_ref (vbox31); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "vbox31", vbox31, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox31); gtk_container_add (GTK_CONTAINER (frame20), vbox31); table7 = gtk_table_new (3, 2, FALSE); gtk_widget_set_name (table7, "table7"); gtk_widget_ref (table7); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "table7", table7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table7); gtk_box_pack_start (GTK_BOX (vbox31), table7, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table7), 8); gtk_table_set_row_spacings (GTK_TABLE (table7), 4); gtk_table_set_col_spacings (GTK_TABLE (table7), 8); label46 = gtk_label_new (_("Center X")); gtk_widget_set_name (label46, "label46"); gtk_widget_ref (label46); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "label46", label46, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label46); gtk_table_attach (GTK_TABLE (table7), label46, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label47 = gtk_label_new (_("Center Y")); gtk_widget_set_name (label47, "label47"); gtk_widget_ref (label47); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "label47", label47, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label47); gtk_table_attach (GTK_TABLE (table7), label47, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); center_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (center_x, "center_x"); gtk_widget_ref (center_x); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "center_x", center_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_x); gtk_table_attach (GTK_TABLE (table7), center_x, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (center_x, 150, -2); gtk_scale_set_digits (GTK_SCALE (center_x), 2); center_y = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (center_y, "center_y"); gtk_widget_ref (center_y); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "center_y", center_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_y); gtk_table_attach (GTK_TABLE (table7), center_y, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (center_y), 2); label54 = gtk_label_new (_("Hill radius")); gtk_widget_set_name (label54, "label54"); gtk_widget_ref (label54); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "label54", label54, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label54); gtk_table_attach (GTK_TABLE (table7), label54, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); hill_radius = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (hill_radius, "hill_radius"); gtk_widget_ref (hill_radius); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hill_radius", hill_radius, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hill_radius); gtk_table_attach (GTK_TABLE (table7), hill_radius, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (hill_radius), 2); hseparator16 = gtk_hseparator_new (); gtk_widget_set_name (hseparator16, "hseparator16"); gtk_widget_ref (hseparator16); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hseparator16", hseparator16, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator16); gtk_box_pack_start (GTK_BOX (vbox31), hseparator16, FALSE, FALSE, 0); table8 = gtk_table_new (4, 2, FALSE); gtk_widget_set_name (table8, "table8"); gtk_widget_ref (table8); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "table8", table8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table8); gtk_box_pack_start (GTK_BOX (vbox31), table8, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (table8), 8); gtk_table_set_row_spacings (GTK_TABLE (table8), 4); gtk_table_set_col_spacings (GTK_TABLE (table8), 8); label48 = gtk_label_new (_("Scale factor")); gtk_widget_set_name (label48, "label48"); gtk_widget_ref (label48); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "label48", label48, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label48); gtk_table_attach (GTK_TABLE (table8), label48, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label49 = gtk_label_new (_("Radius factor")); gtk_widget_set_name (label49, "label49"); gtk_widget_ref (label49); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "label49", label49, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label49); gtk_table_attach (GTK_TABLE (table8), label49, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label50 = gtk_label_new (_("Smoothing factor")); gtk_widget_set_name (label50, "label50"); gtk_widget_ref (label50); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "label50", label50, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label50); gtk_table_attach (GTK_TABLE (table8), label50, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label51 = gtk_label_new (_("Delta scale factor")); gtk_widget_set_name (label51, "label51"); gtk_widget_ref (label51); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "label51", label51, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label51); gtk_table_attach (GTK_TABLE (table8), label51, 0, 1, 3, 4, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); hill_scale_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1.5, 1, 2, 0.01, 0, 0))); gtk_widget_set_name (hill_scale_factor, "hill_scale_factor"); gtk_widget_ref (hill_scale_factor); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hill_scale_factor", hill_scale_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hill_scale_factor); gtk_table_attach (GTK_TABLE (table8), hill_scale_factor, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (hill_scale_factor, 150, -2); gtk_scale_set_digits (GTK_SCALE (hill_scale_factor), 2); hill_radius_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.33, 0.01, 2.99, 0.01, 0, 0))); gtk_widget_set_name (hill_radius_factor, "hill_radius_factor"); gtk_widget_ref (hill_radius_factor); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hill_radius_factor", hill_radius_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hill_radius_factor); gtk_table_attach (GTK_TABLE (table8), hill_radius_factor, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (hill_radius_factor), 2); hill_smoothing_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (hill_smoothing_factor, "hill_smoothing_factor"); gtk_widget_ref (hill_smoothing_factor); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hill_smoothing_factor", hill_smoothing_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hill_smoothing_factor); gtk_table_attach (GTK_TABLE (table8), hill_smoothing_factor, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (hill_smoothing_factor), 2); hill_delta_scale_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.1, 0, 0.5, 0.01, 0, 0))); gtk_widget_set_name (hill_delta_scale_factor, "hill_delta_scale_factor"); gtk_widget_ref (hill_delta_scale_factor); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hill_delta_scale_factor", hill_delta_scale_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hill_delta_scale_factor); gtk_table_attach (GTK_TABLE (table8), hill_delta_scale_factor, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (hill_delta_scale_factor), 2); hseparator18 = gtk_hseparator_new (); gtk_widget_set_name (hseparator18, "hseparator18"); gtk_widget_ref (hseparator18); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hseparator18", hseparator18, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator18); gtk_box_pack_start (GTK_BOX (vbox29), hseparator18, FALSE, FALSE, 0); hbox46 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox46, "hbox46"); gtk_widget_ref (hbox46); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hbox46", hbox46, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox46); gtk_box_pack_start (GTK_BOX (vbox29), hbox46, FALSE, FALSE, 0); label53 = gtk_label_new (""); gtk_widget_set_name (label53, "label53"); gtk_widget_ref (label53); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "label53", label53, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label53); gtk_box_pack_start (GTK_BOX (hbox46), label53, TRUE, TRUE, 0); hbox47 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox47, "hbox47"); gtk_widget_ref (hbox47); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hbox47", hbox47, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox47); gtk_box_pack_start (GTK_BOX (hbox46), hbox47, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox47), 8); hill_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (hill_ok, "hill_ok"); gtk_widget_ref (hill_ok); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hill_ok", hill_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hill_ok); gtk_box_pack_start (GTK_BOX (hbox47), hill_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (hill_ok, GTK_CAN_DEFAULT); hill_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (hill_cancel, "hill_cancel"); gtk_widget_ref (hill_cancel); gtk_object_set_data_full (GTK_OBJECT (gaussian_hill_window), "hill_cancel", hill_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hill_cancel); gtk_box_pack_start (GTK_BOX (hbox47), hill_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (hill_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (hill_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (hill_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (hill_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (hill_cancel); gtk_window_add_accel_group (GTK_WINDOW (gaussian_hill_window), accel_group); return gaussian_hill_window; } GtkWidget* create_radial_scale_window (void) { GtkWidget *radial_scale_window; GtkWidget *vbox33; GtkWidget *hbox48; GtkWidget *frame21; GtkWidget *vbox34; GtkWidget *hbox49; GtkWidget *frame22; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame23; GtkWidget *vbox35; GtkWidget *table9; GtkWidget *label55; GtkWidget *label56; GtkWidget *center_x; GtkWidget *center_y; GtkWidget *label57; GtkWidget *scale_start_distance; GtkWidget *label63; GtkWidget *scale_end_distance; GtkWidget *label286; GtkWidget *frequency; GtkWidget *hseparator19; GtkWidget *vbox36; GtkWidget *table10; GtkWidget *label58; GtkWidget *label59; GtkWidget *scale_factor; GtkWidget *smoothing_factor; GtkWidget *invert; GtkWidget *hseparator20; GtkWidget *hbox50; GtkWidget *label62; GtkWidget *hbox51; GtkWidget *radial_ok; GtkWidget *radial_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); radial_scale_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (radial_scale_window, "radial_scale_window"); gtk_object_set_data (GTK_OBJECT (radial_scale_window), "radial_scale_window", radial_scale_window); gtk_window_set_title (GTK_WINDOW (radial_scale_window), _("Radial Scale")); vbox33 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox33, "vbox33"); gtk_widget_ref (vbox33); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "vbox33", vbox33, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox33); gtk_container_add (GTK_CONTAINER (radial_scale_window), vbox33); hbox48 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox48, "hbox48"); gtk_widget_ref (hbox48); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "hbox48", hbox48, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox48); gtk_box_pack_start (GTK_BOX (vbox33), hbox48, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox48), 8); frame21 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame21, "frame21"); gtk_widget_ref (frame21); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "frame21", frame21, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame21); gtk_box_pack_start (GTK_BOX (hbox48), frame21, FALSE, FALSE, 0); vbox34 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox34, "vbox34"); gtk_widget_ref (vbox34); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "vbox34", vbox34, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox34); gtk_container_add (GTK_CONTAINER (frame21), vbox34); hbox49 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox49, "hbox49"); gtk_widget_ref (hbox49); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "hbox49", hbox49, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox49); gtk_box_pack_start (GTK_BOX (vbox34), hbox49, FALSE, FALSE, 0); frame22 = gtk_frame_new (NULL); gtk_widget_set_name (frame22, "frame22"); gtk_widget_ref (frame22); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "frame22", frame22, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame22); gtk_box_pack_start (GTK_BOX (hbox49), frame22, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame22), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame22), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox34), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame23 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame23, "frame23"); gtk_widget_ref (frame23); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "frame23", frame23, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame23); gtk_box_pack_start (GTK_BOX (hbox48), frame23, TRUE, TRUE, 0); vbox35 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox35, "vbox35"); gtk_widget_ref (vbox35); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "vbox35", vbox35, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox35); gtk_container_add (GTK_CONTAINER (frame23), vbox35); table9 = gtk_table_new (5, 2, FALSE); gtk_widget_set_name (table9, "table9"); gtk_widget_ref (table9); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "table9", table9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table9); gtk_box_pack_start (GTK_BOX (vbox35), table9, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table9), 8); gtk_table_set_row_spacings (GTK_TABLE (table9), 4); gtk_table_set_col_spacings (GTK_TABLE (table9), 8); label55 = gtk_label_new (_("Center X")); gtk_widget_set_name (label55, "label55"); gtk_widget_ref (label55); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "label55", label55, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label55); gtk_table_attach (GTK_TABLE (table9), label55, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label56 = gtk_label_new (_("Center Y")); gtk_widget_set_name (label56, "label56"); gtk_widget_ref (label56); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "label56", label56, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label56); gtk_table_attach (GTK_TABLE (table9), label56, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); center_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (center_x, "center_x"); gtk_widget_ref (center_x); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "center_x", center_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_x); gtk_table_attach (GTK_TABLE (table9), center_x, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (center_x, 150, -2); gtk_scale_set_digits (GTK_SCALE (center_x), 2); center_y = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (center_y, "center_y"); gtk_widget_ref (center_y); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "center_y", center_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_y); gtk_table_attach (GTK_TABLE (table9), center_y, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (center_y), 2); label57 = gtk_label_new (_("Scale Start Distance")); gtk_widget_set_name (label57, "label57"); gtk_widget_ref (label57); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "label57", label57, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label57); gtk_table_attach (GTK_TABLE (table9), label57, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); scale_start_distance = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.15, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (scale_start_distance, "scale_start_distance"); gtk_widget_ref (scale_start_distance); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "scale_start_distance", scale_start_distance, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale_start_distance); gtk_table_attach (GTK_TABLE (table9), scale_start_distance, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (scale_start_distance), 2); label63 = gtk_label_new (_("Scale End Distance")); gtk_widget_set_name (label63, "label63"); gtk_widget_ref (label63); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "label63", label63, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label63); gtk_table_attach (GTK_TABLE (table9), label63, 0, 1, 3, 4, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); scale_end_distance = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.35, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (scale_end_distance, "scale_end_distance"); gtk_widget_ref (scale_end_distance); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "scale_end_distance", scale_end_distance, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale_end_distance); gtk_table_attach (GTK_TABLE (table9), scale_end_distance, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (scale_end_distance), 2); label286 = gtk_label_new (_("Frequency")); gtk_widget_set_name (label286, "label286"); gtk_widget_ref (label286); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "label286", label286, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label286); gtk_table_attach (GTK_TABLE (table9), label286, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); frequency = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 1, 25, 1, 0, 0))); gtk_widget_set_name (frequency, "frequency"); gtk_widget_ref (frequency); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "frequency", frequency, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frequency); gtk_table_attach (GTK_TABLE (table9), frequency, 1, 2, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (frequency), 0); hseparator19 = gtk_hseparator_new (); gtk_widget_set_name (hseparator19, "hseparator19"); gtk_widget_ref (hseparator19); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "hseparator19", hseparator19, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator19); gtk_box_pack_start (GTK_BOX (vbox35), hseparator19, FALSE, FALSE, 0); vbox36 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox36, "vbox36"); gtk_widget_ref (vbox36); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "vbox36", vbox36, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox36); gtk_box_pack_start (GTK_BOX (vbox35), vbox36, FALSE, FALSE, 0); table10 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table10, "table10"); gtk_widget_ref (table10); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "table10", table10, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table10); gtk_box_pack_start (GTK_BOX (vbox36), table10, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table10), 8); gtk_table_set_row_spacings (GTK_TABLE (table10), 4); gtk_table_set_col_spacings (GTK_TABLE (table10), 8); label58 = gtk_label_new (_("Scale factor")); gtk_widget_set_name (label58, "label58"); gtk_widget_ref (label58); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "label58", label58, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label58); gtk_table_attach (GTK_TABLE (table10), label58, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label59 = gtk_label_new (_("Smoothing factor")); gtk_widget_set_name (label59, "label59"); gtk_widget_ref (label59); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "label59", label59, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label59); gtk_table_attach (GTK_TABLE (table10), label59, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); scale_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1.5, 1, 5, 0.01, 0, 0))); gtk_widget_set_name (scale_factor, "scale_factor"); gtk_widget_ref (scale_factor); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "scale_factor", scale_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale_factor); gtk_table_attach (GTK_TABLE (table10), scale_factor, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (scale_factor, 150, -2); gtk_scale_set_digits (GTK_SCALE (scale_factor), 2); smoothing_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.9, 0.01, 0.99, 0.01, 0, 0))); gtk_widget_set_name (smoothing_factor, "smoothing_factor"); gtk_widget_ref (smoothing_factor); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "smoothing_factor", smoothing_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (smoothing_factor); gtk_table_attach (GTK_TABLE (table10), smoothing_factor, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (smoothing_factor), 2); invert = gtk_check_button_new_with_label (_("Invert scale factor")); gtk_widget_set_name (invert, "invert"); gtk_widget_ref (invert); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "invert", invert, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (invert); gtk_box_pack_start (GTK_BOX (vbox36), invert, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (invert), 8); hseparator20 = gtk_hseparator_new (); gtk_widget_set_name (hseparator20, "hseparator20"); gtk_widget_ref (hseparator20); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "hseparator20", hseparator20, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator20); gtk_box_pack_start (GTK_BOX (vbox33), hseparator20, FALSE, FALSE, 0); hbox50 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox50, "hbox50"); gtk_widget_ref (hbox50); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "hbox50", hbox50, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox50); gtk_box_pack_start (GTK_BOX (vbox33), hbox50, FALSE, FALSE, 0); label62 = gtk_label_new (""); gtk_widget_set_name (label62, "label62"); gtk_widget_ref (label62); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "label62", label62, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label62); gtk_box_pack_start (GTK_BOX (hbox50), label62, TRUE, TRUE, 0); hbox51 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox51, "hbox51"); gtk_widget_ref (hbox51); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "hbox51", hbox51, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox51); gtk_box_pack_start (GTK_BOX (hbox50), hbox51, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox51), 8); radial_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (radial_ok, "radial_ok"); gtk_widget_ref (radial_ok); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "radial_ok", radial_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (radial_ok); gtk_box_pack_start (GTK_BOX (hbox51), radial_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (radial_ok, GTK_CAN_DEFAULT); radial_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (radial_cancel, "radial_cancel"); gtk_widget_ref (radial_cancel); gtk_object_set_data_full (GTK_OBJECT (radial_scale_window), "radial_cancel", radial_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (radial_cancel); gtk_box_pack_start (GTK_BOX (hbox51), radial_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (radial_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (radial_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (invert), "toggled", GTK_SIGNAL_FUNC (on_generic_toggled), NULL); gtk_signal_connect (GTK_OBJECT (radial_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (radial_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (radial_cancel); gtk_window_add_accel_group (GTK_WINDOW (radial_scale_window), accel_group); return radial_scale_window; } GtkWidget* create_mirror_window (void) { GtkWidget *mirror_window; GtkWidget *vbox37; GtkWidget *hbox52; GtkWidget *frame24; GtkWidget *vbox38; GtkWidget *hbox53; GtkWidget *frame25; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame26; GtkWidget *vbox40; GSList *vbox40_group = NULL; GtkWidget *mirror_horizontal; GtkWidget *mirror_vertical; GtkWidget *mirror_diagonal_1; GtkWidget *mirror_diagonal_2; GtkWidget *hseparator22; GtkWidget *hbox54; GtkWidget *label70; GtkWidget *hbox55; GtkWidget *mirror_ok; GtkWidget *mirror_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); mirror_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (mirror_window, "mirror_window"); gtk_object_set_data (GTK_OBJECT (mirror_window), "mirror_window", mirror_window); gtk_window_set_title (GTK_WINDOW (mirror_window), _("Mirror")); vbox37 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox37, "vbox37"); gtk_widget_ref (vbox37); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "vbox37", vbox37, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox37); gtk_container_add (GTK_CONTAINER (mirror_window), vbox37); hbox52 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox52, "hbox52"); gtk_widget_ref (hbox52); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "hbox52", hbox52, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox52); gtk_box_pack_start (GTK_BOX (vbox37), hbox52, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox52), 8); frame24 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame24, "frame24"); gtk_widget_ref (frame24); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "frame24", frame24, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame24); gtk_box_pack_start (GTK_BOX (hbox52), frame24, FALSE, FALSE, 0); vbox38 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox38, "vbox38"); gtk_widget_ref (vbox38); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "vbox38", vbox38, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox38); gtk_container_add (GTK_CONTAINER (frame24), vbox38); hbox53 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox53, "hbox53"); gtk_widget_ref (hbox53); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "hbox53", hbox53, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox53); gtk_box_pack_start (GTK_BOX (vbox38), hbox53, FALSE, FALSE, 0); frame25 = gtk_frame_new (NULL); gtk_widget_set_name (frame25, "frame25"); gtk_widget_ref (frame25); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "frame25", frame25, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame25); gtk_box_pack_start (GTK_BOX (hbox53), frame25, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame25), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame25), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox38), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame26 = gtk_frame_new (_("Axis")); gtk_widget_set_name (frame26, "frame26"); gtk_widget_ref (frame26); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "frame26", frame26, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame26); gtk_box_pack_start (GTK_BOX (hbox52), frame26, TRUE, TRUE, 0); vbox40 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox40, "vbox40"); gtk_widget_ref (vbox40); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "vbox40", vbox40, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox40); gtk_container_add (GTK_CONTAINER (frame26), vbox40); gtk_container_set_border_width (GTK_CONTAINER (vbox40), 8); mirror_horizontal = gtk_radio_button_new_with_label (vbox40_group, _("Horizontal")); vbox40_group = gtk_radio_button_group (GTK_RADIO_BUTTON (mirror_horizontal)); gtk_widget_set_name (mirror_horizontal, "mirror_horizontal"); gtk_widget_ref (mirror_horizontal); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "mirror_horizontal", mirror_horizontal, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (mirror_horizontal); gtk_box_pack_start (GTK_BOX (vbox40), mirror_horizontal, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mirror_horizontal), TRUE); mirror_vertical = gtk_radio_button_new_with_label (vbox40_group, _("Vertical")); vbox40_group = gtk_radio_button_group (GTK_RADIO_BUTTON (mirror_vertical)); gtk_widget_set_name (mirror_vertical, "mirror_vertical"); gtk_widget_ref (mirror_vertical); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "mirror_vertical", mirror_vertical, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (mirror_vertical); gtk_box_pack_start (GTK_BOX (vbox40), mirror_vertical, FALSE, FALSE, 0); mirror_diagonal_1 = gtk_radio_button_new_with_label (vbox40_group, _("Top left to bottom right")); vbox40_group = gtk_radio_button_group (GTK_RADIO_BUTTON (mirror_diagonal_1)); gtk_widget_set_name (mirror_diagonal_1, "mirror_diagonal_1"); gtk_widget_ref (mirror_diagonal_1); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "mirror_diagonal_1", mirror_diagonal_1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (mirror_diagonal_1); gtk_box_pack_start (GTK_BOX (vbox40), mirror_diagonal_1, FALSE, FALSE, 0); mirror_diagonal_2 = gtk_radio_button_new_with_label (vbox40_group, _("Bottom left to top right")); vbox40_group = gtk_radio_button_group (GTK_RADIO_BUTTON (mirror_diagonal_2)); gtk_widget_set_name (mirror_diagonal_2, "mirror_diagonal_2"); gtk_widget_ref (mirror_diagonal_2); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "mirror_diagonal_2", mirror_diagonal_2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (mirror_diagonal_2); gtk_box_pack_start (GTK_BOX (vbox40), mirror_diagonal_2, FALSE, FALSE, 0); hseparator22 = gtk_hseparator_new (); gtk_widget_set_name (hseparator22, "hseparator22"); gtk_widget_ref (hseparator22); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "hseparator22", hseparator22, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator22); gtk_box_pack_start (GTK_BOX (vbox37), hseparator22, FALSE, FALSE, 0); hbox54 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox54, "hbox54"); gtk_widget_ref (hbox54); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "hbox54", hbox54, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox54); gtk_box_pack_start (GTK_BOX (vbox37), hbox54, FALSE, FALSE, 0); label70 = gtk_label_new (""); gtk_widget_set_name (label70, "label70"); gtk_widget_ref (label70); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "label70", label70, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label70); gtk_box_pack_start (GTK_BOX (hbox54), label70, TRUE, TRUE, 0); hbox55 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox55, "hbox55"); gtk_widget_ref (hbox55); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "hbox55", hbox55, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox55); gtk_box_pack_start (GTK_BOX (hbox54), hbox55, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox55), 8); mirror_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (mirror_ok, "mirror_ok"); gtk_widget_ref (mirror_ok); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "mirror_ok", mirror_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (mirror_ok); gtk_box_pack_start (GTK_BOX (hbox55), mirror_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (mirror_ok, GTK_CAN_DEFAULT); mirror_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (mirror_cancel, "mirror_cancel"); gtk_widget_ref (mirror_cancel); gtk_object_set_data_full (GTK_OBJECT (mirror_window), "mirror_cancel", mirror_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (mirror_cancel); gtk_box_pack_start (GTK_BOX (hbox55), mirror_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (mirror_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (mirror_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (mirror_horizontal), "toggled", GTK_SIGNAL_FUNC (on_generic_radio_toggled), NULL); gtk_signal_connect (GTK_OBJECT (mirror_vertical), "toggled", GTK_SIGNAL_FUNC (on_generic_radio_toggled), NULL); gtk_signal_connect (GTK_OBJECT (mirror_diagonal_1), "toggled", GTK_SIGNAL_FUNC (on_generic_radio_toggled), NULL); gtk_signal_connect (GTK_OBJECT (mirror_diagonal_2), "toggled", GTK_SIGNAL_FUNC (on_generic_radio_toggled), NULL); gtk_signal_connect (GTK_OBJECT (mirror_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (mirror_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (mirror_cancel); gtk_window_add_accel_group (GTK_WINDOW (mirror_window), accel_group); return mirror_window; } GtkWidget* create_options_window (void) { GtkWidget *options_window; GtkWidget *vbox41; GtkWidget *notebook1; GtkWidget *hbox60; GtkWidget *label76; GtkWidget *vbox43; GtkWidget *label78; GtkWidget *hbox61; GtkWidget *option_povray; GtkWidget *option_povray_browse; GtkWidget *options_download_povray_url; GtkWidget *label72; GtkWidget *vbox108; GtkWidget *hbox146; GtkWidget *label174; GtkObject *max_undo_adj; GtkWidget *max_undo; GtkWidget *label175; GtkWidget *label173; GtkWidget *vbox126; GtkWidget *hbox171; GtkWidget *vbox127; GtkWidget *frame75; GtkWidget *gamma_preview; GtkWidget *gamma; GtkWidget *label187; GtkWidget *label186; GtkWidget *hbox197; GtkWidget *label225; GtkObject *default_size_adj; GtkWidget *default_size; GtkWidget *label224; GtkWidget *vbox144; GtkWidget *rand_gen_faulting; GtkWidget *rand_gen_perlin; GtkWidget *rand_gen_spectral; GtkWidget *rand_gen_subdiv; GtkWidget *label232; GtkWidget *hseparator23; GtkWidget *hbox58; GtkWidget *label71; GtkWidget *hbox59; GtkWidget *option_ok; GtkWidget *option_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); options_window = gtk_window_new (GTK_WINDOW_DIALOG); gtk_widget_set_name (options_window, "options_window"); gtk_object_set_data (GTK_OBJECT (options_window), "options_window", options_window); gtk_window_set_title (GTK_WINDOW (options_window), _("Terraform Options")); gtk_window_set_modal (GTK_WINDOW (options_window), TRUE); vbox41 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox41, "vbox41"); gtk_widget_ref (vbox41); gtk_object_set_data_full (GTK_OBJECT (options_window), "vbox41", vbox41, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox41); gtk_container_add (GTK_CONTAINER (options_window), vbox41); notebook1 = gtk_notebook_new (); gtk_widget_set_name (notebook1, "notebook1"); gtk_widget_ref (notebook1); gtk_object_set_data_full (GTK_OBJECT (options_window), "notebook1", notebook1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (notebook1); gtk_box_pack_start (GTK_BOX (vbox41), notebook1, TRUE, TRUE, 0); hbox60 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox60, "hbox60"); gtk_widget_ref (hbox60); gtk_object_set_data_full (GTK_OBJECT (options_window), "hbox60", hbox60, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox60); gtk_container_add (GTK_CONTAINER (notebook1), hbox60); gtk_container_set_border_width (GTK_CONTAINER (hbox60), 8); label76 = gtk_label_new (_("Executable")); gtk_widget_set_name (label76, "label76"); gtk_widget_ref (label76); gtk_object_set_data_full (GTK_OBJECT (options_window), "label76", label76, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label76); gtk_box_pack_start (GTK_BOX (hbox60), label76, FALSE, FALSE, 0); vbox43 = gtk_vbox_new (TRUE, 4); gtk_widget_set_name (vbox43, "vbox43"); gtk_widget_ref (vbox43); gtk_object_set_data_full (GTK_OBJECT (options_window), "vbox43", vbox43, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox43); gtk_box_pack_start (GTK_BOX (hbox60), vbox43, TRUE, TRUE, 0); label78 = gtk_label_new (""); gtk_widget_set_name (label78, "label78"); gtk_widget_ref (label78); gtk_object_set_data_full (GTK_OBJECT (options_window), "label78", label78, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label78); gtk_box_pack_start (GTK_BOX (vbox43), label78, TRUE, TRUE, 0); hbox61 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox61, "hbox61"); gtk_widget_ref (hbox61); gtk_object_set_data_full (GTK_OBJECT (options_window), "hbox61", hbox61, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox61); gtk_box_pack_start (GTK_BOX (vbox43), hbox61, FALSE, FALSE, 0); option_povray = gtk_entry_new (); gtk_widget_set_name (option_povray, "option_povray"); gtk_widget_ref (option_povray); gtk_object_set_data_full (GTK_OBJECT (options_window), "option_povray", option_povray, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (option_povray); gtk_box_pack_start (GTK_BOX (hbox61), option_povray, TRUE, TRUE, 0); gtk_entry_set_text (GTK_ENTRY (option_povray), _("povray")); option_povray_browse = gtk_button_new_with_label (_("...")); gtk_widget_set_name (option_povray_browse, "option_povray_browse"); gtk_widget_ref (option_povray_browse); gtk_object_set_data_full (GTK_OBJECT (options_window), "option_povray_browse", option_povray_browse, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (option_povray_browse); gtk_box_pack_start (GTK_BOX (hbox61), option_povray_browse, FALSE, FALSE, 0); options_download_povray_url = create_options_download_povray_url ("options_download_povray_url", NULL, NULL, 0, 0); gtk_widget_set_name (options_download_povray_url, "options_download_povray_url"); gtk_widget_ref (options_download_povray_url); gtk_object_set_data_full (GTK_OBJECT (options_window), "options_download_povray_url", options_download_povray_url, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (options_download_povray_url); gtk_box_pack_start (GTK_BOX (vbox43), options_download_povray_url, FALSE, FALSE, 0); GTK_WIDGET_UNSET_FLAGS (options_download_povray_url, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (options_download_povray_url, GTK_CAN_DEFAULT); label72 = gtk_label_new (_("POV-Ray")); gtk_widget_set_name (label72, "label72"); gtk_widget_ref (label72); gtk_object_set_data_full (GTK_OBJECT (options_window), "label72", label72, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label72); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label72); vbox108 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox108, "vbox108"); gtk_widget_ref (vbox108); gtk_object_set_data_full (GTK_OBJECT (options_window), "vbox108", vbox108, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox108); gtk_container_add (GTK_CONTAINER (notebook1), vbox108); gtk_container_set_border_width (GTK_CONTAINER (vbox108), 8); hbox146 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox146, "hbox146"); gtk_widget_ref (hbox146); gtk_object_set_data_full (GTK_OBJECT (options_window), "hbox146", hbox146, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox146); gtk_box_pack_start (GTK_BOX (vbox108), hbox146, TRUE, TRUE, 0); label174 = gtk_label_new (_("Max undo states")); gtk_widget_set_name (label174, "label174"); gtk_widget_ref (label174); gtk_object_set_data_full (GTK_OBJECT (options_window), "label174", label174, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label174); gtk_box_pack_start (GTK_BOX (hbox146), label174, FALSE, FALSE, 0); max_undo_adj = gtk_adjustment_new (5, 2, 50, 1, 10, 10); max_undo = gtk_spin_button_new (GTK_ADJUSTMENT (max_undo_adj), 1, 0); gtk_widget_set_name (max_undo, "max_undo"); gtk_widget_ref (max_undo); gtk_object_set_data_full (GTK_OBJECT (options_window), "max_undo", max_undo, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (max_undo); gtk_box_pack_start (GTK_BOX (hbox146), max_undo, TRUE, TRUE, 0); label175 = gtk_label_new (_("Changes to this option won't\naffect already open windows")); gtk_widget_set_name (label175, "label175"); gtk_widget_ref (label175); gtk_object_set_data_full (GTK_OBJECT (options_window), "label175", label175, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label175); gtk_box_pack_start (GTK_BOX (vbox108), label175, FALSE, FALSE, 0); label173 = gtk_label_new (_("Undo")); gtk_widget_set_name (label173, "label173"); gtk_widget_ref (label173); gtk_object_set_data_full (GTK_OBJECT (options_window), "label173", label173, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label173); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label173); vbox126 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox126, "vbox126"); gtk_widget_ref (vbox126); gtk_object_set_data_full (GTK_OBJECT (options_window), "vbox126", vbox126, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox126); gtk_container_add (GTK_CONTAINER (notebook1), vbox126); gtk_container_set_border_width (GTK_CONTAINER (vbox126), 8); hbox171 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox171, "hbox171"); gtk_widget_ref (hbox171); gtk_object_set_data_full (GTK_OBJECT (options_window), "hbox171", hbox171, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox171); gtk_box_pack_start (GTK_BOX (vbox126), hbox171, TRUE, TRUE, 0); vbox127 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox127, "vbox127"); gtk_widget_ref (vbox127); gtk_object_set_data_full (GTK_OBJECT (options_window), "vbox127", vbox127, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox127); gtk_box_pack_start (GTK_BOX (hbox171), vbox127, FALSE, FALSE, 0); frame75 = gtk_frame_new (NULL); gtk_widget_set_name (frame75, "frame75"); gtk_widget_ref (frame75); gtk_object_set_data_full (GTK_OBJECT (options_window), "frame75", frame75, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame75); gtk_box_pack_start (GTK_BOX (vbox127), frame75, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame75), GTK_SHADOW_IN); gamma_preview = create_gamma_preview ("gamma_preview", NULL, NULL, 0, 0); gtk_widget_set_name (gamma_preview, "gamma_preview"); gtk_widget_ref (gamma_preview); gtk_object_set_data_full (GTK_OBJECT (options_window), "gamma_preview", gamma_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (gamma_preview); gtk_container_add (GTK_CONTAINER (frame75), gamma_preview); gtk_widget_set_usize (gamma_preview, 100, 50); GTK_WIDGET_UNSET_FLAGS (gamma_preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (gamma_preview, GTK_CAN_DEFAULT); gamma = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1.5, 1, 3, 0.01, 0, 0))); gtk_widget_set_name (gamma, "gamma"); gtk_widget_ref (gamma); gtk_object_set_data_full (GTK_OBJECT (options_window), "gamma", gamma, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (gamma); gtk_box_pack_start (GTK_BOX (hbox171), gamma, TRUE, TRUE, 0); gtk_widget_set_usize (gamma, 150, -2); gtk_scale_set_digits (GTK_SCALE (gamma), 2); label187 = gtk_label_new (_("Adjust the gamma until both\nsquares are the same brightness")); gtk_widget_set_name (label187, "label187"); gtk_widget_ref (label187); gtk_object_set_data_full (GTK_OBJECT (options_window), "label187", label187, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label187); gtk_box_pack_start (GTK_BOX (vbox126), label187, FALSE, FALSE, 0); label186 = gtk_label_new (_("Gamma")); gtk_widget_set_name (label186, "label186"); gtk_widget_ref (label186); gtk_object_set_data_full (GTK_OBJECT (options_window), "label186", label186, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label186); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label186); hbox197 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox197, "hbox197"); gtk_widget_ref (hbox197); gtk_object_set_data_full (GTK_OBJECT (options_window), "hbox197", hbox197, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox197); gtk_container_add (GTK_CONTAINER (notebook1), hbox197); gtk_container_set_border_width (GTK_CONTAINER (hbox197), 8); label225 = gtk_label_new (_("Default terrain size")); gtk_widget_set_name (label225, "label225"); gtk_widget_ref (label225); gtk_object_set_data_full (GTK_OBJECT (options_window), "label225", label225, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label225); gtk_box_pack_start (GTK_BOX (hbox197), label225, FALSE, FALSE, 0); default_size_adj = gtk_adjustment_new (400, 10, 2000, 1, 10, 10); default_size = gtk_spin_button_new (GTK_ADJUSTMENT (default_size_adj), 1, 0); gtk_widget_set_name (default_size, "default_size"); gtk_widget_ref (default_size); gtk_object_set_data_full (GTK_OBJECT (options_window), "default_size", default_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (default_size); gtk_box_pack_start (GTK_BOX (hbox197), default_size, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (default_size), TRUE); label224 = gtk_label_new (_("Size")); gtk_widget_set_name (label224, "label224"); gtk_widget_ref (label224); gtk_object_set_data_full (GTK_OBJECT (options_window), "label224", label224, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label224); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 3), label224); vbox144 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox144, "vbox144"); gtk_widget_ref (vbox144); gtk_object_set_data_full (GTK_OBJECT (options_window), "vbox144", vbox144, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox144); gtk_container_add (GTK_CONTAINER (notebook1), vbox144); rand_gen_faulting = gtk_check_button_new_with_label (_("Faulting Synthesis")); gtk_widget_set_name (rand_gen_faulting, "rand_gen_faulting"); gtk_widget_ref (rand_gen_faulting); gtk_object_set_data_full (GTK_OBJECT (options_window), "rand_gen_faulting", rand_gen_faulting, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rand_gen_faulting); gtk_box_pack_start (GTK_BOX (vbox144), rand_gen_faulting, TRUE, TRUE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rand_gen_faulting), TRUE); rand_gen_perlin = gtk_check_button_new_with_label (_("Perlin Synthesis")); gtk_widget_set_name (rand_gen_perlin, "rand_gen_perlin"); gtk_widget_ref (rand_gen_perlin); gtk_object_set_data_full (GTK_OBJECT (options_window), "rand_gen_perlin", rand_gen_perlin, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rand_gen_perlin); gtk_box_pack_start (GTK_BOX (vbox144), rand_gen_perlin, TRUE, TRUE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rand_gen_perlin), TRUE); rand_gen_spectral = gtk_check_button_new_with_label (_("Spectral Synthesis")); gtk_widget_set_name (rand_gen_spectral, "rand_gen_spectral"); gtk_widget_ref (rand_gen_spectral); gtk_object_set_data_full (GTK_OBJECT (options_window), "rand_gen_spectral", rand_gen_spectral, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rand_gen_spectral); gtk_box_pack_start (GTK_BOX (vbox144), rand_gen_spectral, TRUE, TRUE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rand_gen_spectral), TRUE); rand_gen_subdiv = gtk_check_button_new_with_label (_("Subdivision Synthesis")); gtk_widget_set_name (rand_gen_subdiv, "rand_gen_subdiv"); gtk_widget_ref (rand_gen_subdiv); gtk_object_set_data_full (GTK_OBJECT (options_window), "rand_gen_subdiv", rand_gen_subdiv, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rand_gen_subdiv); gtk_box_pack_start (GTK_BOX (vbox144), rand_gen_subdiv, TRUE, TRUE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rand_gen_subdiv), TRUE); label232 = gtk_label_new (_("Generation")); gtk_widget_set_name (label232, "label232"); gtk_widget_ref (label232); gtk_object_set_data_full (GTK_OBJECT (options_window), "label232", label232, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label232); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 4), label232); hseparator23 = gtk_hseparator_new (); gtk_widget_set_name (hseparator23, "hseparator23"); gtk_widget_ref (hseparator23); gtk_object_set_data_full (GTK_OBJECT (options_window), "hseparator23", hseparator23, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator23); gtk_box_pack_start (GTK_BOX (vbox41), hseparator23, FALSE, FALSE, 0); hbox58 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox58, "hbox58"); gtk_widget_ref (hbox58); gtk_object_set_data_full (GTK_OBJECT (options_window), "hbox58", hbox58, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox58); gtk_box_pack_start (GTK_BOX (vbox41), hbox58, FALSE, FALSE, 0); label71 = gtk_label_new (""); gtk_widget_set_name (label71, "label71"); gtk_widget_ref (label71); gtk_object_set_data_full (GTK_OBJECT (options_window), "label71", label71, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label71); gtk_box_pack_start (GTK_BOX (hbox58), label71, TRUE, TRUE, 0); hbox59 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox59, "hbox59"); gtk_widget_ref (hbox59); gtk_object_set_data_full (GTK_OBJECT (options_window), "hbox59", hbox59, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox59); gtk_box_pack_start (GTK_BOX (hbox58), hbox59, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox59), 8); option_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (option_ok, "option_ok"); gtk_widget_ref (option_ok); gtk_object_set_data_full (GTK_OBJECT (options_window), "option_ok", option_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (option_ok); gtk_box_pack_start (GTK_BOX (hbox59), option_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (option_ok, GTK_CAN_DEFAULT); option_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (option_cancel, "option_cancel"); gtk_widget_ref (option_cancel); gtk_object_set_data_full (GTK_OBJECT (options_window), "option_cancel", option_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (option_cancel); gtk_box_pack_start (GTK_BOX (hbox59), option_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (option_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (option_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (option_povray_browse), "clicked", GTK_SIGNAL_FUNC (on_option_povray_browse_clicked), NULL); gtk_signal_connect (GTK_OBJECT (gamma_preview), "realize", GTK_SIGNAL_FUNC (on_gamma_preview_realize), NULL); gtk_signal_connect (GTK_OBJECT (option_ok), "clicked", GTK_SIGNAL_FUNC (on_option_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (option_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (option_cancel); gtk_window_add_accel_group (GTK_WINDOW (options_window), accel_group); return options_window; } GtkWidget* create_find_povray_window (void) { GtkWidget *find_povray_window; GtkWidget *vbox47; GtkWidget *povray_label; GtkWidget *hseparator25; GtkWidget *hbox66; GtkWidget *label87; GtkWidget *hbox67; GtkWidget *povray_yes; GtkWidget *povray_no; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); find_povray_window = gtk_window_new (GTK_WINDOW_DIALOG); gtk_widget_set_name (find_povray_window, "find_povray_window"); gtk_object_set_data (GTK_OBJECT (find_povray_window), "find_povray_window", find_povray_window); gtk_window_set_title (GTK_WINDOW (find_povray_window), _("Terraform")); gtk_window_set_modal (GTK_WINDOW (find_povray_window), TRUE); vbox47 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox47, "vbox47"); gtk_widget_ref (vbox47); gtk_object_set_data_full (GTK_OBJECT (find_povray_window), "vbox47", vbox47, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox47); gtk_container_add (GTK_CONTAINER (find_povray_window), vbox47); povray_label = gtk_label_new (_("Would you like Terraform to search for the POV-Ray executable?")); gtk_widget_set_name (povray_label, "povray_label"); gtk_widget_ref (povray_label); gtk_object_set_data_full (GTK_OBJECT (find_povray_window), "povray_label", povray_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (povray_label); gtk_box_pack_start (GTK_BOX (vbox47), povray_label, TRUE, FALSE, 0); gtk_label_set_line_wrap (GTK_LABEL (povray_label), TRUE); gtk_misc_set_padding (GTK_MISC (povray_label), 8, 8); hseparator25 = gtk_hseparator_new (); gtk_widget_set_name (hseparator25, "hseparator25"); gtk_widget_ref (hseparator25); gtk_object_set_data_full (GTK_OBJECT (find_povray_window), "hseparator25", hseparator25, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator25); gtk_box_pack_start (GTK_BOX (vbox47), hseparator25, FALSE, FALSE, 0); hbox66 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox66, "hbox66"); gtk_widget_ref (hbox66); gtk_object_set_data_full (GTK_OBJECT (find_povray_window), "hbox66", hbox66, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox66); gtk_box_pack_start (GTK_BOX (vbox47), hbox66, FALSE, FALSE, 0); label87 = gtk_label_new (""); gtk_widget_set_name (label87, "label87"); gtk_widget_ref (label87); gtk_object_set_data_full (GTK_OBJECT (find_povray_window), "label87", label87, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label87); gtk_box_pack_start (GTK_BOX (hbox66), label87, TRUE, TRUE, 0); hbox67 = gtk_hbox_new (TRUE, 10); gtk_widget_set_name (hbox67, "hbox67"); gtk_widget_ref (hbox67); gtk_object_set_data_full (GTK_OBJECT (find_povray_window), "hbox67", hbox67, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox67); gtk_box_pack_start (GTK_BOX (hbox66), hbox67, FALSE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox67), 10); povray_yes = gnome_stock_button (GNOME_STOCK_BUTTON_YES); gtk_widget_set_name (povray_yes, "povray_yes"); gtk_widget_ref (povray_yes); gtk_object_set_data_full (GTK_OBJECT (find_povray_window), "povray_yes", povray_yes, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (povray_yes); gtk_box_pack_start (GTK_BOX (hbox67), povray_yes, FALSE, TRUE, 0); GTK_WIDGET_SET_FLAGS (povray_yes, GTK_CAN_DEFAULT); povray_no = gnome_stock_button (GNOME_STOCK_BUTTON_NO); gtk_widget_set_name (povray_no, "povray_no"); gtk_widget_ref (povray_no); gtk_object_set_data_full (GTK_OBJECT (find_povray_window), "povray_no", povray_no, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (povray_no); gtk_box_pack_start (GTK_BOX (hbox67), povray_no, FALSE, TRUE, 0); GTK_WIDGET_SET_FLAGS (povray_no, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (povray_no, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (povray_yes), "clicked", GTK_SIGNAL_FUNC (on_povray_yes_clicked), NULL); gtk_signal_connect (GTK_OBJECT (povray_no), "clicked", GTK_SIGNAL_FUNC (on_povray_no_clicked), NULL); gtk_widget_grab_default (povray_yes); gtk_window_add_accel_group (GTK_WINDOW (find_povray_window), accel_group); return find_povray_window; } GtkWidget* create_rotate_window (void) { GtkWidget *rotate_window; GtkWidget *vbox50; GtkWidget *hbox68; GtkWidget *frame30; GtkWidget *vbox46; GtkWidget *hbox69; GtkWidget *frame31; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame32; GtkWidget *vbox52; GSList *vbox52_group = NULL; GtkWidget *rotate_90; GtkWidget *rotate_180; GtkWidget *rotate_270; GtkWidget *hseparator26; GtkWidget *hbox70; GtkWidget *label90; GtkWidget *hbox71; GtkWidget *rotate_ok; GtkWidget *rotate_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); rotate_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (rotate_window, "rotate_window"); gtk_object_set_data (GTK_OBJECT (rotate_window), "rotate_window", rotate_window); gtk_window_set_title (GTK_WINDOW (rotate_window), _("Rotate")); vbox50 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox50, "vbox50"); gtk_widget_ref (vbox50); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "vbox50", vbox50, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox50); gtk_container_add (GTK_CONTAINER (rotate_window), vbox50); hbox68 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox68, "hbox68"); gtk_widget_ref (hbox68); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "hbox68", hbox68, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox68); gtk_box_pack_start (GTK_BOX (vbox50), hbox68, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox68), 8); frame30 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame30, "frame30"); gtk_widget_ref (frame30); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "frame30", frame30, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame30); gtk_box_pack_start (GTK_BOX (hbox68), frame30, FALSE, FALSE, 0); vbox46 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox46, "vbox46"); gtk_widget_ref (vbox46); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "vbox46", vbox46, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox46); gtk_container_add (GTK_CONTAINER (frame30), vbox46); hbox69 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox69, "hbox69"); gtk_widget_ref (hbox69); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "hbox69", hbox69, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox69); gtk_box_pack_start (GTK_BOX (vbox46), hbox69, FALSE, FALSE, 0); frame31 = gtk_frame_new (NULL); gtk_widget_set_name (frame31, "frame31"); gtk_widget_ref (frame31); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "frame31", frame31, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame31); gtk_box_pack_start (GTK_BOX (hbox69), frame31, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame31), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame31), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox46), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame32 = gtk_frame_new (_("Rotation Clockwise (degrees)")); gtk_widget_set_name (frame32, "frame32"); gtk_widget_ref (frame32); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "frame32", frame32, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame32); gtk_box_pack_start (GTK_BOX (hbox68), frame32, TRUE, TRUE, 0); vbox52 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox52, "vbox52"); gtk_widget_ref (vbox52); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "vbox52", vbox52, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox52); gtk_container_add (GTK_CONTAINER (frame32), vbox52); gtk_container_set_border_width (GTK_CONTAINER (vbox52), 8); rotate_90 = gtk_radio_button_new_with_label (vbox52_group, _("90")); vbox52_group = gtk_radio_button_group (GTK_RADIO_BUTTON (rotate_90)); gtk_widget_set_name (rotate_90, "rotate_90"); gtk_widget_ref (rotate_90); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "rotate_90", rotate_90, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rotate_90); gtk_box_pack_start (GTK_BOX (vbox52), rotate_90, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rotate_90), TRUE); rotate_180 = gtk_radio_button_new_with_label (vbox52_group, _("180")); vbox52_group = gtk_radio_button_group (GTK_RADIO_BUTTON (rotate_180)); gtk_widget_set_name (rotate_180, "rotate_180"); gtk_widget_ref (rotate_180); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "rotate_180", rotate_180, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rotate_180); gtk_box_pack_start (GTK_BOX (vbox52), rotate_180, FALSE, FALSE, 0); rotate_270 = gtk_radio_button_new_with_label (vbox52_group, _("270")); vbox52_group = gtk_radio_button_group (GTK_RADIO_BUTTON (rotate_270)); gtk_widget_set_name (rotate_270, "rotate_270"); gtk_widget_ref (rotate_270); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "rotate_270", rotate_270, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rotate_270); gtk_box_pack_start (GTK_BOX (vbox52), rotate_270, FALSE, FALSE, 0); hseparator26 = gtk_hseparator_new (); gtk_widget_set_name (hseparator26, "hseparator26"); gtk_widget_ref (hseparator26); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "hseparator26", hseparator26, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator26); gtk_box_pack_start (GTK_BOX (vbox50), hseparator26, FALSE, FALSE, 0); hbox70 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox70, "hbox70"); gtk_widget_ref (hbox70); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "hbox70", hbox70, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox70); gtk_box_pack_start (GTK_BOX (vbox50), hbox70, FALSE, FALSE, 0); label90 = gtk_label_new (""); gtk_widget_set_name (label90, "label90"); gtk_widget_ref (label90); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "label90", label90, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label90); gtk_box_pack_start (GTK_BOX (hbox70), label90, TRUE, TRUE, 0); hbox71 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox71, "hbox71"); gtk_widget_ref (hbox71); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "hbox71", hbox71, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox71); gtk_box_pack_start (GTK_BOX (hbox70), hbox71, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox71), 8); rotate_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (rotate_ok, "rotate_ok"); gtk_widget_ref (rotate_ok); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "rotate_ok", rotate_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rotate_ok); gtk_box_pack_start (GTK_BOX (hbox71), rotate_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (rotate_ok, GTK_CAN_DEFAULT); rotate_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (rotate_cancel, "rotate_cancel"); gtk_widget_ref (rotate_cancel); gtk_object_set_data_full (GTK_OBJECT (rotate_window), "rotate_cancel", rotate_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rotate_cancel); gtk_box_pack_start (GTK_BOX (hbox71), rotate_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (rotate_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (rotate_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (rotate_90), "toggled", GTK_SIGNAL_FUNC (on_generic_radio_toggled), NULL); gtk_signal_connect (GTK_OBJECT (rotate_180), "toggled", GTK_SIGNAL_FUNC (on_generic_radio_toggled), NULL); gtk_signal_connect (GTK_OBJECT (rotate_270), "toggled", GTK_SIGNAL_FUNC (on_generic_radio_toggled), NULL); gtk_signal_connect (GTK_OBJECT (rotate_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (rotate_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (rotate_cancel); gtk_window_add_accel_group (GTK_WINDOW (rotate_window), accel_group); return rotate_window; } GtkWidget* create_roughen_window (void) { GtkWidget *roughen_window; GtkWidget *vbox53; GtkWidget *hbox72; GtkWidget *frame33; GtkWidget *vbox54; GtkWidget *hbox73; GtkWidget *frame34; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame35; GtkWidget *vbox55; GtkWidget *hbox76; GtkWidget *label94; GtkWidget *roughen_factor; GtkWidget *roughen_big; GtkWidget *hseparator27; GtkWidget *hbox74; GtkWidget *label93; GtkWidget *hbox75; GtkWidget *roughen_ok; GtkWidget *roughen_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); roughen_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (roughen_window, "roughen_window"); gtk_object_set_data (GTK_OBJECT (roughen_window), "roughen_window", roughen_window); gtk_window_set_title (GTK_WINDOW (roughen_window), _("Roughen")); vbox53 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox53, "vbox53"); gtk_widget_ref (vbox53); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "vbox53", vbox53, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox53); gtk_container_add (GTK_CONTAINER (roughen_window), vbox53); hbox72 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox72, "hbox72"); gtk_widget_ref (hbox72); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "hbox72", hbox72, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox72); gtk_box_pack_start (GTK_BOX (vbox53), hbox72, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox72), 8); frame33 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame33, "frame33"); gtk_widget_ref (frame33); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "frame33", frame33, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame33); gtk_box_pack_start (GTK_BOX (hbox72), frame33, FALSE, FALSE, 0); vbox54 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox54, "vbox54"); gtk_widget_ref (vbox54); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "vbox54", vbox54, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox54); gtk_container_add (GTK_CONTAINER (frame33), vbox54); hbox73 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox73, "hbox73"); gtk_widget_ref (hbox73); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "hbox73", hbox73, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox73); gtk_box_pack_start (GTK_BOX (vbox54), hbox73, FALSE, FALSE, 0); frame34 = gtk_frame_new (NULL); gtk_widget_set_name (frame34, "frame34"); gtk_widget_ref (frame34); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "frame34", frame34, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame34); gtk_box_pack_start (GTK_BOX (hbox73), frame34, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame34), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame34), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox54), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame35 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame35, "frame35"); gtk_widget_ref (frame35); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "frame35", frame35, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame35); gtk_box_pack_start (GTK_BOX (hbox72), frame35, TRUE, TRUE, 0); vbox55 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox55, "vbox55"); gtk_widget_ref (vbox55); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "vbox55", vbox55, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox55); gtk_container_add (GTK_CONTAINER (frame35), vbox55); gtk_container_set_border_width (GTK_CONTAINER (vbox55), 8); hbox76 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox76, "hbox76"); gtk_widget_ref (hbox76); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "hbox76", hbox76, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox76); gtk_box_pack_start (GTK_BOX (vbox55), hbox76, FALSE, FALSE, 0); label94 = gtk_label_new (_("Adjustment factor")); gtk_widget_set_name (label94, "label94"); gtk_widget_ref (label94); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "label94", label94, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label94); gtk_box_pack_start (GTK_BOX (hbox76), label94, FALSE, FALSE, 0); roughen_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (roughen_factor, "roughen_factor"); gtk_widget_ref (roughen_factor); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "roughen_factor", roughen_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (roughen_factor); gtk_box_pack_start (GTK_BOX (hbox76), roughen_factor, TRUE, TRUE, 0); gtk_widget_set_usize (roughen_factor, 150, -2); gtk_scale_set_digits (GTK_SCALE (roughen_factor), 2); roughen_big = gtk_check_button_new_with_label (_("Big sampling grid")); gtk_widget_set_name (roughen_big, "roughen_big"); gtk_widget_ref (roughen_big); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "roughen_big", roughen_big, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (roughen_big); gtk_box_pack_start (GTK_BOX (vbox55), roughen_big, FALSE, FALSE, 0); hseparator27 = gtk_hseparator_new (); gtk_widget_set_name (hseparator27, "hseparator27"); gtk_widget_ref (hseparator27); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "hseparator27", hseparator27, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator27); gtk_box_pack_start (GTK_BOX (vbox53), hseparator27, FALSE, FALSE, 0); hbox74 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox74, "hbox74"); gtk_widget_ref (hbox74); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "hbox74", hbox74, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox74); gtk_box_pack_start (GTK_BOX (vbox53), hbox74, FALSE, FALSE, 0); label93 = gtk_label_new (""); gtk_widget_set_name (label93, "label93"); gtk_widget_ref (label93); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "label93", label93, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label93); gtk_box_pack_start (GTK_BOX (hbox74), label93, TRUE, TRUE, 0); hbox75 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox75, "hbox75"); gtk_widget_ref (hbox75); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "hbox75", hbox75, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox75); gtk_box_pack_start (GTK_BOX (hbox74), hbox75, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox75), 8); roughen_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (roughen_ok, "roughen_ok"); gtk_widget_ref (roughen_ok); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "roughen_ok", roughen_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (roughen_ok); gtk_box_pack_start (GTK_BOX (hbox75), roughen_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (roughen_ok, GTK_CAN_DEFAULT); roughen_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (roughen_cancel, "roughen_cancel"); gtk_widget_ref (roughen_cancel); gtk_object_set_data_full (GTK_OBJECT (roughen_window), "roughen_cancel", roughen_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (roughen_cancel); gtk_box_pack_start (GTK_BOX (hbox75), roughen_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (roughen_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (roughen_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (roughen_big), "toggled", GTK_SIGNAL_FUNC (on_generic_toggled), NULL); gtk_signal_connect (GTK_OBJECT (roughen_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (roughen_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (roughen_cancel); gtk_window_add_accel_group (GTK_WINDOW (roughen_window), accel_group); return roughen_window; } GtkWidget* create_smooth_window (void) { GtkWidget *smooth_window; GtkWidget *vbox56; GtkWidget *hbox77; GtkWidget *frame36; GtkWidget *vbox57; GtkWidget *hbox78; GtkWidget *frame37; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame38; GtkWidget *vbox58; GtkWidget *hbox79; GtkWidget *label95; GtkWidget *smooth_factor; GtkWidget *smooth_big; GtkWidget *hseparator28; GtkWidget *hbox80; GtkWidget *label96; GtkWidget *hbox81; GtkWidget *smooth_ok; GtkWidget *smooth_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); smooth_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (smooth_window, "smooth_window"); gtk_object_set_data (GTK_OBJECT (smooth_window), "smooth_window", smooth_window); gtk_window_set_title (GTK_WINDOW (smooth_window), _("Smooth")); vbox56 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox56, "vbox56"); gtk_widget_ref (vbox56); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "vbox56", vbox56, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox56); gtk_container_add (GTK_CONTAINER (smooth_window), vbox56); hbox77 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox77, "hbox77"); gtk_widget_ref (hbox77); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "hbox77", hbox77, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox77); gtk_box_pack_start (GTK_BOX (vbox56), hbox77, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox77), 8); frame36 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame36, "frame36"); gtk_widget_ref (frame36); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "frame36", frame36, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame36); gtk_box_pack_start (GTK_BOX (hbox77), frame36, FALSE, FALSE, 0); vbox57 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox57, "vbox57"); gtk_widget_ref (vbox57); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "vbox57", vbox57, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox57); gtk_container_add (GTK_CONTAINER (frame36), vbox57); hbox78 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox78, "hbox78"); gtk_widget_ref (hbox78); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "hbox78", hbox78, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox78); gtk_box_pack_start (GTK_BOX (vbox57), hbox78, FALSE, FALSE, 0); frame37 = gtk_frame_new (NULL); gtk_widget_set_name (frame37, "frame37"); gtk_widget_ref (frame37); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "frame37", frame37, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame37); gtk_box_pack_start (GTK_BOX (hbox78), frame37, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame37), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame37), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox57), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame38 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame38, "frame38"); gtk_widget_ref (frame38); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "frame38", frame38, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame38); gtk_box_pack_start (GTK_BOX (hbox77), frame38, TRUE, TRUE, 0); vbox58 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox58, "vbox58"); gtk_widget_ref (vbox58); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "vbox58", vbox58, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox58); gtk_container_add (GTK_CONTAINER (frame38), vbox58); gtk_container_set_border_width (GTK_CONTAINER (vbox58), 8); hbox79 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox79, "hbox79"); gtk_widget_ref (hbox79); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "hbox79", hbox79, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox79); gtk_box_pack_start (GTK_BOX (vbox58), hbox79, FALSE, FALSE, 0); label95 = gtk_label_new (_("Adjustment factor")); gtk_widget_set_name (label95, "label95"); gtk_widget_ref (label95); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "label95", label95, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label95); gtk_box_pack_start (GTK_BOX (hbox79), label95, FALSE, FALSE, 0); smooth_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (smooth_factor, "smooth_factor"); gtk_widget_ref (smooth_factor); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "smooth_factor", smooth_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (smooth_factor); gtk_box_pack_start (GTK_BOX (hbox79), smooth_factor, TRUE, TRUE, 0); gtk_widget_set_usize (smooth_factor, 150, -2); gtk_scale_set_digits (GTK_SCALE (smooth_factor), 2); smooth_big = gtk_check_button_new_with_label (_("Big sampling grid")); gtk_widget_set_name (smooth_big, "smooth_big"); gtk_widget_ref (smooth_big); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "smooth_big", smooth_big, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (smooth_big); gtk_box_pack_start (GTK_BOX (vbox58), smooth_big, FALSE, FALSE, 0); hseparator28 = gtk_hseparator_new (); gtk_widget_set_name (hseparator28, "hseparator28"); gtk_widget_ref (hseparator28); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "hseparator28", hseparator28, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator28); gtk_box_pack_start (GTK_BOX (vbox56), hseparator28, FALSE, FALSE, 0); hbox80 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox80, "hbox80"); gtk_widget_ref (hbox80); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "hbox80", hbox80, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox80); gtk_box_pack_start (GTK_BOX (vbox56), hbox80, FALSE, FALSE, 0); label96 = gtk_label_new (""); gtk_widget_set_name (label96, "label96"); gtk_widget_ref (label96); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "label96", label96, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label96); gtk_box_pack_start (GTK_BOX (hbox80), label96, TRUE, TRUE, 0); hbox81 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox81, "hbox81"); gtk_widget_ref (hbox81); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "hbox81", hbox81, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox81); gtk_box_pack_start (GTK_BOX (hbox80), hbox81, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox81), 8); smooth_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (smooth_ok, "smooth_ok"); gtk_widget_ref (smooth_ok); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "smooth_ok", smooth_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (smooth_ok); gtk_box_pack_start (GTK_BOX (hbox81), smooth_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (smooth_ok, GTK_CAN_DEFAULT); smooth_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (smooth_cancel, "smooth_cancel"); gtk_widget_ref (smooth_cancel); gtk_object_set_data_full (GTK_OBJECT (smooth_window), "smooth_cancel", smooth_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (smooth_cancel); gtk_box_pack_start (GTK_BOX (hbox81), smooth_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (smooth_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (smooth_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (smooth_big), "toggled", GTK_SIGNAL_FUNC (on_generic_toggled), NULL); gtk_signal_connect (GTK_OBJECT (smooth_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (smooth_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (smooth_cancel); gtk_window_add_accel_group (GTK_WINDOW (smooth_window), accel_group); return smooth_window; } GtkWidget* create_terrace_window (void) { GtkWidget *terrace_window; GtkWidget *vbox59; GtkWidget *hbox82; GtkWidget *frame39; GtkWidget *vbox60; GtkWidget *hbox83; GtkWidget *frame40; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame41; GtkWidget *vbox61; GtkWidget *table14; GtkWidget *label97; GtkWidget *terrace_levels; GtkWidget *label99; GtkWidget *terrace_tightness; GtkWidget *terrace_adjust_waterlevel; GtkWidget *hseparator29; GtkWidget *hbox85; GtkWidget *label98; GtkWidget *hbox86; GtkWidget *terrace_ok; GtkWidget *terrace_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); terrace_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (terrace_window, "terrace_window"); gtk_object_set_data (GTK_OBJECT (terrace_window), "terrace_window", terrace_window); gtk_window_set_title (GTK_WINDOW (terrace_window), _("Terrace")); vbox59 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox59, "vbox59"); gtk_widget_ref (vbox59); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "vbox59", vbox59, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox59); gtk_container_add (GTK_CONTAINER (terrace_window), vbox59); hbox82 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox82, "hbox82"); gtk_widget_ref (hbox82); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "hbox82", hbox82, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox82); gtk_box_pack_start (GTK_BOX (vbox59), hbox82, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox82), 8); frame39 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame39, "frame39"); gtk_widget_ref (frame39); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "frame39", frame39, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame39); gtk_box_pack_start (GTK_BOX (hbox82), frame39, FALSE, FALSE, 0); vbox60 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox60, "vbox60"); gtk_widget_ref (vbox60); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "vbox60", vbox60, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox60); gtk_container_add (GTK_CONTAINER (frame39), vbox60); hbox83 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox83, "hbox83"); gtk_widget_ref (hbox83); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "hbox83", hbox83, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox83); gtk_box_pack_start (GTK_BOX (vbox60), hbox83, FALSE, FALSE, 0); frame40 = gtk_frame_new (NULL); gtk_widget_set_name (frame40, "frame40"); gtk_widget_ref (frame40); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "frame40", frame40, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame40); gtk_box_pack_start (GTK_BOX (hbox83), frame40, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame40), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame40), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox60), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame41 = gtk_frame_new (_("Parameters")); gtk_widget_set_name (frame41, "frame41"); gtk_widget_ref (frame41); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "frame41", frame41, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame41); gtk_box_pack_start (GTK_BOX (hbox82), frame41, TRUE, TRUE, 0); vbox61 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox61, "vbox61"); gtk_widget_ref (vbox61); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "vbox61", vbox61, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox61); gtk_container_add (GTK_CONTAINER (frame41), vbox61); gtk_container_set_border_width (GTK_CONTAINER (vbox61), 8); table14 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table14, "table14"); gtk_widget_ref (table14); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "table14", table14, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table14); gtk_box_pack_start (GTK_BOX (vbox61), table14, FALSE, FALSE, 0); gtk_table_set_row_spacings (GTK_TABLE (table14), 4); gtk_table_set_col_spacings (GTK_TABLE (table14), 8); label97 = gtk_label_new (_("Number of levels")); gtk_widget_set_name (label97, "label97"); gtk_widget_ref (label97); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "label97", label97, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label97); gtk_table_attach (GTK_TABLE (table14), label97, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); terrace_levels = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 50, 1, 0, 0))); gtk_widget_set_name (terrace_levels, "terrace_levels"); gtk_widget_ref (terrace_levels); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "terrace_levels", terrace_levels, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrace_levels); gtk_table_attach (GTK_TABLE (table14), terrace_levels, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (terrace_levels, 150, -2); gtk_scale_set_digits (GTK_SCALE (terrace_levels), 0); label99 = gtk_label_new (_("Tightness factor")); gtk_widget_set_name (label99, "label99"); gtk_widget_ref (label99); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "label99", label99, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label99); gtk_table_attach (GTK_TABLE (table14), label99, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); terrace_tightness = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (terrace_tightness, "terrace_tightness"); gtk_widget_ref (terrace_tightness); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "terrace_tightness", terrace_tightness, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrace_tightness); gtk_table_attach (GTK_TABLE (table14), terrace_tightness, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (terrace_tightness), 2); terrace_adjust_waterlevel = gtk_check_button_new_with_label (_("Adjust waterlevel")); gtk_widget_set_name (terrace_adjust_waterlevel, "terrace_adjust_waterlevel"); gtk_widget_ref (terrace_adjust_waterlevel); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "terrace_adjust_waterlevel", terrace_adjust_waterlevel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrace_adjust_waterlevel); gtk_box_pack_start (GTK_BOX (vbox61), terrace_adjust_waterlevel, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (terrace_adjust_waterlevel), TRUE); hseparator29 = gtk_hseparator_new (); gtk_widget_set_name (hseparator29, "hseparator29"); gtk_widget_ref (hseparator29); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "hseparator29", hseparator29, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator29); gtk_box_pack_start (GTK_BOX (vbox59), hseparator29, FALSE, FALSE, 0); hbox85 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox85, "hbox85"); gtk_widget_ref (hbox85); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "hbox85", hbox85, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox85); gtk_box_pack_start (GTK_BOX (vbox59), hbox85, FALSE, FALSE, 0); label98 = gtk_label_new (""); gtk_widget_set_name (label98, "label98"); gtk_widget_ref (label98); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "label98", label98, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label98); gtk_box_pack_start (GTK_BOX (hbox85), label98, TRUE, TRUE, 0); hbox86 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox86, "hbox86"); gtk_widget_ref (hbox86); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "hbox86", hbox86, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox86); gtk_box_pack_start (GTK_BOX (hbox85), hbox86, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox86), 8); terrace_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (terrace_ok, "terrace_ok"); gtk_widget_ref (terrace_ok); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "terrace_ok", terrace_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrace_ok); gtk_box_pack_start (GTK_BOX (hbox86), terrace_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (terrace_ok, GTK_CAN_DEFAULT); terrace_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (terrace_cancel, "terrace_cancel"); gtk_widget_ref (terrace_cancel); gtk_object_set_data_full (GTK_OBJECT (terrace_window), "terrace_cancel", terrace_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrace_cancel); gtk_box_pack_start (GTK_BOX (hbox86), terrace_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (terrace_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (terrace_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (terrace_adjust_waterlevel), "toggled", GTK_SIGNAL_FUNC (on_generic_toggled), NULL); gtk_signal_connect (GTK_OBJECT (terrace_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (terrace_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (terrace_cancel); gtk_window_add_accel_group (GTK_WINDOW (terrace_window), accel_group); return terrace_window; } GtkWidget* create_tile_window (void) { GtkWidget *tile_window; GtkWidget *vbox62; GtkWidget *hbox87; GtkWidget *frame42; GtkWidget *vbox63; GtkWidget *hbox88; GtkWidget *frame43; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *vbox230; GtkWidget *frame145; GtkWidget *hbox301; GtkWidget *label372; GtkWidget *tile_offset; GtkWidget *frame146; GtkWidget *vbox231; GtkWidget *assemble_terrains; GtkWidget *hbox302; GtkWidget *label373; GtkWidget *assemble_terrains_x; GtkWidget *hbox303; GtkWidget *label374; GtkWidget *assemble_terrains_y; GtkWidget *hseparator30; GtkWidget *hbox89; GtkWidget *label102; GtkWidget *hbox90; GtkWidget *tile_ok; GtkWidget *tile_cancel; tile_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (tile_window, "tile_window"); gtk_object_set_data (GTK_OBJECT (tile_window), "tile_window", tile_window); gtk_window_set_title (GTK_WINDOW (tile_window), _("Tile")); vbox62 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox62, "vbox62"); gtk_widget_ref (vbox62); gtk_object_set_data_full (GTK_OBJECT (tile_window), "vbox62", vbox62, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox62); gtk_container_add (GTK_CONTAINER (tile_window), vbox62); hbox87 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox87, "hbox87"); gtk_widget_ref (hbox87); gtk_object_set_data_full (GTK_OBJECT (tile_window), "hbox87", hbox87, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox87); gtk_box_pack_start (GTK_BOX (vbox62), hbox87, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox87), 8); frame42 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame42, "frame42"); gtk_widget_ref (frame42); gtk_object_set_data_full (GTK_OBJECT (tile_window), "frame42", frame42, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame42); gtk_box_pack_start (GTK_BOX (hbox87), frame42, FALSE, FALSE, 0); vbox63 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox63, "vbox63"); gtk_widget_ref (vbox63); gtk_object_set_data_full (GTK_OBJECT (tile_window), "vbox63", vbox63, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox63); gtk_container_add (GTK_CONTAINER (frame42), vbox63); hbox88 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox88, "hbox88"); gtk_widget_ref (hbox88); gtk_object_set_data_full (GTK_OBJECT (tile_window), "hbox88", hbox88, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox88); gtk_box_pack_start (GTK_BOX (vbox63), hbox88, FALSE, FALSE, 0); frame43 = gtk_frame_new (NULL); gtk_widget_set_name (frame43, "frame43"); gtk_widget_ref (frame43); gtk_object_set_data_full (GTK_OBJECT (tile_window), "frame43", frame43, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame43); gtk_box_pack_start (GTK_BOX (hbox88), frame43, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame43), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (tile_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame43), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (tile_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox63), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); vbox230 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox230, "vbox230"); gtk_widget_ref (vbox230); gtk_object_set_data_full (GTK_OBJECT (tile_window), "vbox230", vbox230, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox230); gtk_box_pack_start (GTK_BOX (hbox87), vbox230, TRUE, TRUE, 0); frame145 = gtk_frame_new (_("Parameters")); gtk_widget_set_name (frame145, "frame145"); gtk_widget_ref (frame145); gtk_object_set_data_full (GTK_OBJECT (tile_window), "frame145", frame145, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame145); gtk_box_pack_start (GTK_BOX (vbox230), frame145, TRUE, TRUE, 0); hbox301 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox301, "hbox301"); gtk_widget_ref (hbox301); gtk_object_set_data_full (GTK_OBJECT (tile_window), "hbox301", hbox301, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox301); gtk_container_add (GTK_CONTAINER (frame145), hbox301); gtk_container_set_border_width (GTK_CONTAINER (hbox301), 8); label372 = gtk_label_new (_("Edge tile offset")); gtk_widget_set_name (label372, "label372"); gtk_widget_ref (label372); gtk_object_set_data_full (GTK_OBJECT (tile_window), "label372", label372, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label372); gtk_box_pack_start (GTK_BOX (hbox301), label372, FALSE, FALSE, 0); tile_offset = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.1, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (tile_offset, "tile_offset"); gtk_widget_ref (tile_offset); gtk_object_set_data_full (GTK_OBJECT (tile_window), "tile_offset", tile_offset, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (tile_offset); gtk_box_pack_start (GTK_BOX (hbox301), tile_offset, TRUE, TRUE, 0); gtk_widget_set_usize (tile_offset, 150, -2); gtk_scale_set_digits (GTK_SCALE (tile_offset), 2); frame146 = gtk_frame_new (_("Terrain Assembly")); gtk_widget_set_name (frame146, "frame146"); gtk_widget_ref (frame146); gtk_object_set_data_full (GTK_OBJECT (tile_window), "frame146", frame146, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame146); gtk_box_pack_start (GTK_BOX (vbox230), frame146, TRUE, TRUE, 0); vbox231 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox231, "vbox231"); gtk_widget_ref (vbox231); gtk_object_set_data_full (GTK_OBJECT (tile_window), "vbox231", vbox231, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox231); gtk_container_add (GTK_CONTAINER (frame146), vbox231); assemble_terrains = gtk_check_button_new_with_label (_("Assemble Tiled Terrains")); gtk_widget_set_name (assemble_terrains, "assemble_terrains"); gtk_widget_ref (assemble_terrains); gtk_object_set_data_full (GTK_OBJECT (tile_window), "assemble_terrains", assemble_terrains, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (assemble_terrains); gtk_box_pack_start (GTK_BOX (vbox231), assemble_terrains, FALSE, FALSE, 0); hbox302 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox302, "hbox302"); gtk_widget_ref (hbox302); gtk_object_set_data_full (GTK_OBJECT (tile_window), "hbox302", hbox302, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox302); gtk_box_pack_start (GTK_BOX (vbox231), hbox302, TRUE, TRUE, 0); label373 = gtk_label_new (_("X Axis")); gtk_widget_set_name (label373, "label373"); gtk_widget_ref (label373); gtk_object_set_data_full (GTK_OBJECT (tile_window), "label373", label373, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label373); gtk_box_pack_start (GTK_BOX (hbox302), label373, FALSE, FALSE, 0); gtk_misc_set_padding (GTK_MISC (label373), 5, 0); assemble_terrains_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 1, 10, 1, 0, 0))); gtk_widget_set_name (assemble_terrains_x, "assemble_terrains_x"); gtk_widget_ref (assemble_terrains_x); gtk_object_set_data_full (GTK_OBJECT (tile_window), "assemble_terrains_x", assemble_terrains_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (assemble_terrains_x); gtk_box_pack_start (GTK_BOX (hbox302), assemble_terrains_x, TRUE, TRUE, 0); gtk_widget_set_usize (assemble_terrains_x, 150, -2); gtk_widget_set_sensitive (assemble_terrains_x, FALSE); gtk_scale_set_digits (GTK_SCALE (assemble_terrains_x), 0); hbox303 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox303, "hbox303"); gtk_widget_ref (hbox303); gtk_object_set_data_full (GTK_OBJECT (tile_window), "hbox303", hbox303, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox303); gtk_box_pack_start (GTK_BOX (vbox231), hbox303, TRUE, TRUE, 0); label374 = gtk_label_new (_("Y Axis")); gtk_widget_set_name (label374, "label374"); gtk_widget_ref (label374); gtk_object_set_data_full (GTK_OBJECT (tile_window), "label374", label374, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label374); gtk_box_pack_start (GTK_BOX (hbox303), label374, FALSE, FALSE, 0); gtk_misc_set_padding (GTK_MISC (label374), 5, 0); assemble_terrains_y = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 1, 10, 1, 0, 0))); gtk_widget_set_name (assemble_terrains_y, "assemble_terrains_y"); gtk_widget_ref (assemble_terrains_y); gtk_object_set_data_full (GTK_OBJECT (tile_window), "assemble_terrains_y", assemble_terrains_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (assemble_terrains_y); gtk_box_pack_start (GTK_BOX (hbox303), assemble_terrains_y, TRUE, TRUE, 0); gtk_widget_set_usize (assemble_terrains_y, 150, -2); gtk_widget_set_sensitive (assemble_terrains_y, FALSE); gtk_scale_set_digits (GTK_SCALE (assemble_terrains_y), 0); hseparator30 = gtk_hseparator_new (); gtk_widget_set_name (hseparator30, "hseparator30"); gtk_widget_ref (hseparator30); gtk_object_set_data_full (GTK_OBJECT (tile_window), "hseparator30", hseparator30, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator30); gtk_box_pack_start (GTK_BOX (vbox62), hseparator30, FALSE, FALSE, 0); hbox89 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox89, "hbox89"); gtk_widget_ref (hbox89); gtk_object_set_data_full (GTK_OBJECT (tile_window), "hbox89", hbox89, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox89); gtk_box_pack_start (GTK_BOX (vbox62), hbox89, FALSE, FALSE, 0); label102 = gtk_label_new (""); gtk_widget_set_name (label102, "label102"); gtk_widget_ref (label102); gtk_object_set_data_full (GTK_OBJECT (tile_window), "label102", label102, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label102); gtk_box_pack_start (GTK_BOX (hbox89), label102, TRUE, TRUE, 0); hbox90 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox90, "hbox90"); gtk_widget_ref (hbox90); gtk_object_set_data_full (GTK_OBJECT (tile_window), "hbox90", hbox90, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox90); gtk_box_pack_start (GTK_BOX (hbox89), hbox90, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox90), 8); tile_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (tile_ok, "tile_ok"); gtk_widget_ref (tile_ok); gtk_object_set_data_full (GTK_OBJECT (tile_window), "tile_ok", tile_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (tile_ok); gtk_box_pack_start (GTK_BOX (hbox90), tile_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (tile_ok, GTK_CAN_DEFAULT); tile_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (tile_cancel, "tile_cancel"); gtk_widget_ref (tile_cancel); gtk_object_set_data_full (GTK_OBJECT (tile_window), "tile_cancel", tile_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (tile_cancel); gtk_box_pack_start (GTK_BOX (hbox90), tile_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (tile_cancel, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (assemble_terrains), "toggled", GTK_SIGNAL_FUNC (on_tile_assemble_terrains_toggled), NULL); gtk_signal_connect (GTK_OBJECT (tile_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (tile_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (tile_cancel); return tile_window; } GtkWidget* create_erode_window (void) { GtkWidget *erode_window; GtkWidget *vbox80; GtkWidget *vbox88; GtkWidget *frame49; GtkWidget *vbox89; GtkWidget *table17; GtkWidget *erode_iterations; GtkWidget *label144; GtkWidget *max_flowmap_age; GtkWidget *label145; GtkWidget *age_flowmap_times; GtkWidget *label143; GtkWidget *label377; GtkWidget *erode_threshold; GtkWidget *erode_trim; GtkWidget *hbox125; GtkWidget *erode_save_flowmap; GtkWidget *erode_save_flowmap_name; GtkWidget *hbox307; GtkWidget *erode_save_anim; GtkWidget *erode_save_anim_name; GtkWidget *hbox306; GtkWidget *erode_frame_count_label; GtkObject *erode_frame_count_adj; GtkWidget *erode_frame_count; GtkWidget *frame56; GtkWidget *vbox90; GtkWidget *vbox91; GSList *vbox91_group = NULL; GtkWidget *erode_single; GtkWidget *erode_multiple; GtkWidget *hseparator34; GtkWidget *erode_sealevel; GtkWidget *hseparator33; GtkWidget *hbox120; GtkWidget *label142; GtkWidget *hbox121; GtkWidget *erode_ok; GtkWidget *erode_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); erode_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (erode_window, "erode_window"); gtk_object_set_data (GTK_OBJECT (erode_window), "erode_window", erode_window); gtk_window_set_title (GTK_WINDOW (erode_window), _("Erode")); vbox80 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox80, "vbox80"); gtk_widget_ref (vbox80); gtk_object_set_data_full (GTK_OBJECT (erode_window), "vbox80", vbox80, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox80); gtk_container_add (GTK_CONTAINER (erode_window), vbox80); vbox88 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox88, "vbox88"); gtk_widget_ref (vbox88); gtk_object_set_data_full (GTK_OBJECT (erode_window), "vbox88", vbox88, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox88); gtk_box_pack_start (GTK_BOX (vbox80), vbox88, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox88), 8); frame49 = gtk_frame_new (_("Erosion Parameters")); gtk_widget_set_name (frame49, "frame49"); gtk_widget_ref (frame49); gtk_object_set_data_full (GTK_OBJECT (erode_window), "frame49", frame49, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame49); gtk_box_pack_start (GTK_BOX (vbox88), frame49, TRUE, TRUE, 0); vbox89 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox89, "vbox89"); gtk_widget_ref (vbox89); gtk_object_set_data_full (GTK_OBJECT (erode_window), "vbox89", vbox89, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox89); gtk_container_add (GTK_CONTAINER (frame49), vbox89); gtk_container_set_border_width (GTK_CONTAINER (vbox89), 8); table17 = gtk_table_new (4, 2, FALSE); gtk_widget_set_name (table17, "table17"); gtk_widget_ref (table17); gtk_object_set_data_full (GTK_OBJECT (erode_window), "table17", table17, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table17); gtk_box_pack_start (GTK_BOX (vbox89), table17, FALSE, FALSE, 0); gtk_table_set_row_spacings (GTK_TABLE (table17), 4); gtk_table_set_col_spacings (GTK_TABLE (table17), 8); erode_iterations = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (100, 1, 500, 1, 0, 0))); gtk_widget_set_name (erode_iterations, "erode_iterations"); gtk_widget_ref (erode_iterations); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_iterations", erode_iterations, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_iterations); gtk_table_attach (GTK_TABLE (table17), erode_iterations, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (erode_iterations, 150, -2); gtk_scale_set_digits (GTK_SCALE (erode_iterations), 0); label144 = gtk_label_new (_("Maximum flowmap age")); gtk_widget_set_name (label144, "label144"); gtk_widget_ref (label144); gtk_object_set_data_full (GTK_OBJECT (erode_window), "label144", label144, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label144); gtk_table_attach (GTK_TABLE (table17), label144, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); max_flowmap_age = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 100, 1, 0, 0))); gtk_widget_set_name (max_flowmap_age, "max_flowmap_age"); gtk_widget_ref (max_flowmap_age); gtk_object_set_data_full (GTK_OBJECT (erode_window), "max_flowmap_age", max_flowmap_age, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (max_flowmap_age); gtk_table_attach (GTK_TABLE (table17), max_flowmap_age, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (max_flowmap_age), 0); label145 = gtk_label_new (_("Age flowmap N times")); gtk_widget_set_name (label145, "label145"); gtk_widget_ref (label145); gtk_object_set_data_full (GTK_OBJECT (erode_window), "label145", label145, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label145); gtk_table_attach (GTK_TABLE (table17), label145, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); age_flowmap_times = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 10, 0, 0, 0))); gtk_widget_set_name (age_flowmap_times, "age_flowmap_times"); gtk_widget_ref (age_flowmap_times); gtk_object_set_data_full (GTK_OBJECT (erode_window), "age_flowmap_times", age_flowmap_times, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (age_flowmap_times); gtk_table_attach (GTK_TABLE (table17), age_flowmap_times, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (age_flowmap_times), 0); label143 = gtk_label_new (_("Number of iterations")); gtk_widget_set_name (label143, "label143"); gtk_widget_ref (label143); gtk_object_set_data_full (GTK_OBJECT (erode_window), "label143", label143, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label143); gtk_table_attach (GTK_TABLE (table17), label143, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label377 = gtk_label_new (_("Max elevation to erode")); gtk_widget_set_name (label377, "label377"); gtk_widget_ref (label377); gtk_object_set_data_full (GTK_OBJECT (erode_window), "label377", label377, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label377); gtk_table_attach (GTK_TABLE (table17), label377, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); erode_threshold = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.95, 0.1, 1, 0, 0, 0))); gtk_widget_set_name (erode_threshold, "erode_threshold"); gtk_widget_ref (erode_threshold); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_threshold", erode_threshold, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_threshold); gtk_table_attach (GTK_TABLE (table17), erode_threshold, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (erode_threshold), 2); erode_trim = gtk_check_button_new_with_label (_("Trim local peaks")); gtk_widget_set_name (erode_trim, "erode_trim"); gtk_widget_ref (erode_trim); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_trim", erode_trim, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_trim); gtk_box_pack_start (GTK_BOX (vbox89), erode_trim, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (erode_trim), TRUE); hbox125 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox125, "hbox125"); gtk_widget_ref (hbox125); gtk_object_set_data_full (GTK_OBJECT (erode_window), "hbox125", hbox125, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox125); gtk_box_pack_start (GTK_BOX (vbox89), hbox125, FALSE, FALSE, 0); erode_save_flowmap = gtk_check_button_new_with_label (_("Save flowmaps")); gtk_widget_set_name (erode_save_flowmap, "erode_save_flowmap"); gtk_widget_ref (erode_save_flowmap); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_save_flowmap", erode_save_flowmap, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_save_flowmap); gtk_box_pack_start (GTK_BOX (hbox125), erode_save_flowmap, FALSE, FALSE, 0); erode_save_flowmap_name = gtk_entry_new (); gtk_widget_set_name (erode_save_flowmap_name, "erode_save_flowmap_name"); gtk_widget_ref (erode_save_flowmap_name); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_save_flowmap_name", erode_save_flowmap_name, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_save_flowmap_name); gtk_box_pack_start (GTK_BOX (hbox125), erode_save_flowmap_name, TRUE, TRUE, 0); gtk_widget_set_sensitive (erode_save_flowmap_name, FALSE); gtk_entry_set_text (GTK_ENTRY (erode_save_flowmap_name), _("%s_flowmap_%d.tga")); hbox307 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox307, "hbox307"); gtk_widget_ref (hbox307); gtk_object_set_data_full (GTK_OBJECT (erode_window), "hbox307", hbox307, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox307); gtk_box_pack_start (GTK_BOX (vbox89), hbox307, FALSE, FALSE, 0); erode_save_anim = gtk_check_button_new_with_label (_("Save animation")); gtk_widget_set_name (erode_save_anim, "erode_save_anim"); gtk_widget_ref (erode_save_anim); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_save_anim", erode_save_anim, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_save_anim); gtk_box_pack_start (GTK_BOX (hbox307), erode_save_anim, FALSE, FALSE, 0); erode_save_anim_name = gtk_entry_new (); gtk_widget_set_name (erode_save_anim_name, "erode_save_anim_name"); gtk_widget_ref (erode_save_anim_name); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_save_anim_name", erode_save_anim_name, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_save_anim_name); gtk_box_pack_start (GTK_BOX (hbox307), erode_save_anim_name, TRUE, TRUE, 0); gtk_widget_set_sensitive (erode_save_anim_name, FALSE); gtk_entry_set_text (GTK_ENTRY (erode_save_anim_name), _("%s_erode_%d.tga")); hbox306 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox306, "hbox306"); gtk_widget_ref (hbox306); gtk_object_set_data_full (GTK_OBJECT (erode_window), "hbox306", hbox306, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox306); gtk_box_pack_start (GTK_BOX (vbox89), hbox306, TRUE, TRUE, 0); erode_frame_count_label = gtk_label_new (_("Frame count")); gtk_widget_set_name (erode_frame_count_label, "erode_frame_count_label"); gtk_widget_ref (erode_frame_count_label); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_frame_count_label", erode_frame_count_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_frame_count_label); gtk_box_pack_start (GTK_BOX (hbox306), erode_frame_count_label, FALSE, FALSE, 0); gtk_widget_set_sensitive (erode_frame_count_label, FALSE); erode_frame_count_adj = gtk_adjustment_new (20, 1, 100, 1, 10, 10); erode_frame_count = gtk_spin_button_new (GTK_ADJUSTMENT (erode_frame_count_adj), 1, 0); gtk_widget_set_name (erode_frame_count, "erode_frame_count"); gtk_widget_ref (erode_frame_count); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_frame_count", erode_frame_count, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_frame_count); gtk_box_pack_start (GTK_BOX (hbox306), erode_frame_count, TRUE, TRUE, 0); gtk_widget_set_sensitive (erode_frame_count, FALSE); frame56 = gtk_frame_new (_("Flowmap Controls")); gtk_widget_set_name (frame56, "frame56"); gtk_widget_ref (frame56); gtk_object_set_data_full (GTK_OBJECT (erode_window), "frame56", frame56, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame56); gtk_box_pack_start (GTK_BOX (vbox88), frame56, TRUE, TRUE, 0); vbox90 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox90, "vbox90"); gtk_widget_ref (vbox90); gtk_object_set_data_full (GTK_OBJECT (erode_window), "vbox90", vbox90, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox90); gtk_container_add (GTK_CONTAINER (frame56), vbox90); vbox91 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox91, "vbox91"); gtk_widget_ref (vbox91); gtk_object_set_data_full (GTK_OBJECT (erode_window), "vbox91", vbox91, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox91); gtk_box_pack_start (GTK_BOX (vbox90), vbox91, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox91), 8); erode_single = gtk_radio_button_new_with_label (vbox91_group, _("Single flow direction")); vbox91_group = gtk_radio_button_group (GTK_RADIO_BUTTON (erode_single)); gtk_widget_set_name (erode_single, "erode_single"); gtk_widget_ref (erode_single); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_single", erode_single, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_single); gtk_box_pack_start (GTK_BOX (vbox91), erode_single, FALSE, FALSE, 0); erode_multiple = gtk_radio_button_new_with_label (vbox91_group, _("Multiple flow direction")); vbox91_group = gtk_radio_button_group (GTK_RADIO_BUTTON (erode_multiple)); gtk_widget_set_name (erode_multiple, "erode_multiple"); gtk_widget_ref (erode_multiple); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_multiple", erode_multiple, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_multiple); gtk_box_pack_start (GTK_BOX (vbox91), erode_multiple, FALSE, FALSE, 0); hseparator34 = gtk_hseparator_new (); gtk_widget_set_name (hseparator34, "hseparator34"); gtk_widget_ref (hseparator34); gtk_object_set_data_full (GTK_OBJECT (erode_window), "hseparator34", hseparator34, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator34); gtk_box_pack_start (GTK_BOX (vbox90), hseparator34, TRUE, TRUE, 0); erode_sealevel = gtk_check_button_new_with_label (_("Observe sealevel")); gtk_widget_set_name (erode_sealevel, "erode_sealevel"); gtk_widget_ref (erode_sealevel); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_sealevel", erode_sealevel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_sealevel); gtk_box_pack_start (GTK_BOX (vbox90), erode_sealevel, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (erode_sealevel), 8); hseparator33 = gtk_hseparator_new (); gtk_widget_set_name (hseparator33, "hseparator33"); gtk_widget_ref (hseparator33); gtk_object_set_data_full (GTK_OBJECT (erode_window), "hseparator33", hseparator33, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator33); gtk_box_pack_start (GTK_BOX (vbox80), hseparator33, FALSE, FALSE, 0); hbox120 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox120, "hbox120"); gtk_widget_ref (hbox120); gtk_object_set_data_full (GTK_OBJECT (erode_window), "hbox120", hbox120, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox120); gtk_box_pack_start (GTK_BOX (vbox80), hbox120, FALSE, FALSE, 0); label142 = gtk_label_new (""); gtk_widget_set_name (label142, "label142"); gtk_widget_ref (label142); gtk_object_set_data_full (GTK_OBJECT (erode_window), "label142", label142, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label142); gtk_box_pack_start (GTK_BOX (hbox120), label142, TRUE, TRUE, 0); hbox121 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox121, "hbox121"); gtk_widget_ref (hbox121); gtk_object_set_data_full (GTK_OBJECT (erode_window), "hbox121", hbox121, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox121); gtk_box_pack_start (GTK_BOX (hbox120), hbox121, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox121), 8); erode_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (erode_ok, "erode_ok"); gtk_widget_ref (erode_ok); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_ok", erode_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_ok); gtk_box_pack_start (GTK_BOX (hbox121), erode_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (erode_ok, GTK_CAN_DEFAULT); erode_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (erode_cancel, "erode_cancel"); gtk_widget_ref (erode_cancel); gtk_object_set_data_full (GTK_OBJECT (erode_window), "erode_cancel", erode_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_cancel); gtk_box_pack_start (GTK_BOX (hbox121), erode_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (erode_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (erode_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (erode_save_flowmap), "toggled", GTK_SIGNAL_FUNC (on_erode_save_toggled), NULL); gtk_signal_connect (GTK_OBJECT (erode_save_anim), "toggled", GTK_SIGNAL_FUNC (on_erode_save_toggled), NULL); gtk_signal_connect (GTK_OBJECT (erode_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (erode_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (erode_cancel); gtk_window_add_accel_group (GTK_WINDOW (erode_window), accel_group); return erode_window; } GtkWidget* create_flowmap_window (void) { GtkWidget *flowmap_window; GtkWidget *vbox92; GtkWidget *vbox100; GtkWidget *frame51; GtkWidget *vbox101; GSList *vbox101_group = NULL; GtkWidget *flowmap_single; GtkWidget *flowmap_multiple; GtkWidget *flowmap_sealevel; GtkWidget *hseparator35; GtkWidget *hbox135; GtkWidget *label160; GtkWidget *hbox136; GtkWidget *flowmap_ok; GtkWidget *flowmap_cancel; flowmap_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (flowmap_window, "flowmap_window"); gtk_object_set_data (GTK_OBJECT (flowmap_window), "flowmap_window", flowmap_window); gtk_window_set_title (GTK_WINDOW (flowmap_window), _("Flowmap")); vbox92 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox92, "vbox92"); gtk_widget_ref (vbox92); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "vbox92", vbox92, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox92); gtk_container_add (GTK_CONTAINER (flowmap_window), vbox92); vbox100 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox100, "vbox100"); gtk_widget_ref (vbox100); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "vbox100", vbox100, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox100); gtk_box_pack_start (GTK_BOX (vbox92), vbox100, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox100), 8); frame51 = gtk_frame_new (_("Flowmap Type")); gtk_widget_set_name (frame51, "frame51"); gtk_widget_ref (frame51); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "frame51", frame51, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame51); gtk_box_pack_start (GTK_BOX (vbox100), frame51, TRUE, TRUE, 0); vbox101 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox101, "vbox101"); gtk_widget_ref (vbox101); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "vbox101", vbox101, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox101); gtk_container_add (GTK_CONTAINER (frame51), vbox101); gtk_container_set_border_width (GTK_CONTAINER (vbox101), 8); flowmap_single = gtk_radio_button_new_with_label (vbox101_group, _("Single flow direction")); vbox101_group = gtk_radio_button_group (GTK_RADIO_BUTTON (flowmap_single)); gtk_widget_set_name (flowmap_single, "flowmap_single"); gtk_widget_ref (flowmap_single); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "flowmap_single", flowmap_single, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (flowmap_single); gtk_box_pack_start (GTK_BOX (vbox101), flowmap_single, FALSE, FALSE, 0); flowmap_multiple = gtk_radio_button_new_with_label (vbox101_group, _("Multiple flow direction")); vbox101_group = gtk_radio_button_group (GTK_RADIO_BUTTON (flowmap_multiple)); gtk_widget_set_name (flowmap_multiple, "flowmap_multiple"); gtk_widget_ref (flowmap_multiple); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "flowmap_multiple", flowmap_multiple, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (flowmap_multiple); gtk_box_pack_start (GTK_BOX (vbox101), flowmap_multiple, FALSE, FALSE, 0); flowmap_sealevel = gtk_check_button_new_with_label (_("Observe sealevel")); gtk_widget_set_name (flowmap_sealevel, "flowmap_sealevel"); gtk_widget_ref (flowmap_sealevel); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "flowmap_sealevel", flowmap_sealevel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (flowmap_sealevel); gtk_box_pack_start (GTK_BOX (vbox100), flowmap_sealevel, FALSE, FALSE, 0); hseparator35 = gtk_hseparator_new (); gtk_widget_set_name (hseparator35, "hseparator35"); gtk_widget_ref (hseparator35); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "hseparator35", hseparator35, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator35); gtk_box_pack_start (GTK_BOX (vbox92), hseparator35, FALSE, FALSE, 0); hbox135 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox135, "hbox135"); gtk_widget_ref (hbox135); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "hbox135", hbox135, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox135); gtk_box_pack_start (GTK_BOX (vbox92), hbox135, FALSE, FALSE, 0); label160 = gtk_label_new (""); gtk_widget_set_name (label160, "label160"); gtk_widget_ref (label160); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "label160", label160, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label160); gtk_box_pack_start (GTK_BOX (hbox135), label160, TRUE, TRUE, 0); hbox136 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox136, "hbox136"); gtk_widget_ref (hbox136); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "hbox136", hbox136, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox136); gtk_box_pack_start (GTK_BOX (hbox135), hbox136, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox136), 8); flowmap_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (flowmap_ok, "flowmap_ok"); gtk_widget_ref (flowmap_ok); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "flowmap_ok", flowmap_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (flowmap_ok); gtk_box_pack_start (GTK_BOX (hbox136), flowmap_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (flowmap_ok, GTK_CAN_DEFAULT); flowmap_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (flowmap_cancel, "flowmap_cancel"); gtk_widget_ref (flowmap_cancel); gtk_object_set_data_full (GTK_OBJECT (flowmap_window), "flowmap_cancel", flowmap_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (flowmap_cancel); gtk_box_pack_start (GTK_BOX (hbox136), flowmap_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (flowmap_cancel, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (flowmap_ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (flowmap_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (flowmap_cancel); return flowmap_window; } GtkWidget* create_scale_window (void) { GtkWidget *scale_window; GtkWidget *vbox102; GtkWidget *vbox103; GSList *vbox103_group = NULL; GtkWidget *half_size; GtkWidget *double_size; GtkWidget *table18; GtkWidget *local_label; GtkWidget *global_label; GtkWidget *local_scaling; GtkWidget *global_scaling; GtkWidget *hseparator36; GtkWidget *hbox137; GtkWidget *label161; GtkWidget *hbox138; GtkWidget *ok; GtkWidget *cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); scale_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (scale_window, "scale_window"); gtk_object_set_data (GTK_OBJECT (scale_window), "scale_window", scale_window); gtk_window_set_title (GTK_WINDOW (scale_window), _("Scale")); gtk_window_set_modal (GTK_WINDOW (scale_window), TRUE); vbox102 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox102, "vbox102"); gtk_widget_ref (vbox102); gtk_object_set_data_full (GTK_OBJECT (scale_window), "vbox102", vbox102, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox102); gtk_container_add (GTK_CONTAINER (scale_window), vbox102); vbox103 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox103, "vbox103"); gtk_widget_ref (vbox103); gtk_object_set_data_full (GTK_OBJECT (scale_window), "vbox103", vbox103, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox103); gtk_box_pack_start (GTK_BOX (vbox102), vbox103, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox103), 8); half_size = gtk_radio_button_new_with_label (vbox103_group, _("Half size")); vbox103_group = gtk_radio_button_group (GTK_RADIO_BUTTON (half_size)); gtk_widget_set_name (half_size, "half_size"); gtk_widget_ref (half_size); gtk_object_set_data_full (GTK_OBJECT (scale_window), "half_size", half_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (half_size); gtk_box_pack_start (GTK_BOX (vbox103), half_size, FALSE, FALSE, 0); double_size = gtk_radio_button_new_with_label (vbox103_group, _("Double size")); vbox103_group = gtk_radio_button_group (GTK_RADIO_BUTTON (double_size)); gtk_widget_set_name (double_size, "double_size"); gtk_widget_ref (double_size); gtk_object_set_data_full (GTK_OBJECT (scale_window), "double_size", double_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (double_size); gtk_box_pack_start (GTK_BOX (vbox103), double_size, FALSE, FALSE, 0); table18 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table18, "table18"); gtk_widget_ref (table18); gtk_object_set_data_full (GTK_OBJECT (scale_window), "table18", table18, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table18); gtk_box_pack_start (GTK_BOX (vbox103), table18, TRUE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (table18), 4); gtk_table_set_col_spacings (GTK_TABLE (table18), 8); local_label = gtk_label_new (_("Local fractal scaling")); gtk_widget_set_name (local_label, "local_label"); gtk_widget_ref (local_label); gtk_object_set_data_full (GTK_OBJECT (scale_window), "local_label", local_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (local_label); gtk_table_attach (GTK_TABLE (table18), local_label, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (local_label, FALSE); global_label = gtk_label_new (_("Global fractal scaling")); gtk_widget_set_name (global_label, "global_label"); gtk_widget_ref (global_label); gtk_object_set_data_full (GTK_OBJECT (scale_window), "global_label", global_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (global_label); gtk_table_attach (GTK_TABLE (table18), global_label, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (global_label, FALSE); local_scaling = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (local_scaling, "local_scaling"); gtk_widget_ref (local_scaling); gtk_object_set_data_full (GTK_OBJECT (scale_window), "local_scaling", local_scaling, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (local_scaling); gtk_table_attach (GTK_TABLE (table18), local_scaling, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (local_scaling, 150, -2); gtk_widget_set_sensitive (local_scaling, FALSE); gtk_scale_set_digits (GTK_SCALE (local_scaling), 2); global_scaling = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (global_scaling, "global_scaling"); gtk_widget_ref (global_scaling); gtk_object_set_data_full (GTK_OBJECT (scale_window), "global_scaling", global_scaling, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (global_scaling); gtk_table_attach (GTK_TABLE (table18), global_scaling, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_sensitive (global_scaling, FALSE); gtk_scale_set_digits (GTK_SCALE (global_scaling), 2); hseparator36 = gtk_hseparator_new (); gtk_widget_set_name (hseparator36, "hseparator36"); gtk_widget_ref (hseparator36); gtk_object_set_data_full (GTK_OBJECT (scale_window), "hseparator36", hseparator36, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator36); gtk_box_pack_start (GTK_BOX (vbox102), hseparator36, FALSE, FALSE, 0); hbox137 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox137, "hbox137"); gtk_widget_ref (hbox137); gtk_object_set_data_full (GTK_OBJECT (scale_window), "hbox137", hbox137, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox137); gtk_box_pack_start (GTK_BOX (vbox102), hbox137, FALSE, FALSE, 0); label161 = gtk_label_new (""); gtk_widget_set_name (label161, "label161"); gtk_widget_ref (label161); gtk_object_set_data_full (GTK_OBJECT (scale_window), "label161", label161, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label161); gtk_box_pack_start (GTK_BOX (hbox137), label161, TRUE, TRUE, 0); hbox138 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox138, "hbox138"); gtk_widget_ref (hbox138); gtk_object_set_data_full (GTK_OBJECT (scale_window), "hbox138", hbox138, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox138); gtk_box_pack_start (GTK_BOX (hbox137), hbox138, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox138), 8); ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (ok, "ok"); gtk_widget_ref (ok); gtk_object_set_data_full (GTK_OBJECT (scale_window), "ok", ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok); gtk_box_pack_start (GTK_BOX (hbox138), ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (scale_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox138), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (half_size), "toggled", GTK_SIGNAL_FUNC (on_scale_toggled), NULL); gtk_signal_connect (GTK_OBJECT (double_size), "toggled", GTK_SIGNAL_FUNC (on_scale_toggled), NULL); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (on_scale_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); gtk_window_add_accel_group (GTK_WINDOW (scale_window), accel_group); return scale_window; } GtkWidget* create_save_as (void) { GtkWidget *save_as; GtkWidget *save_as_ok; GtkWidget *save_as_cancel; save_as = gtk_file_selection_new (_("Save Height Field As...")); gtk_widget_set_name (save_as, "save_as"); gtk_object_set_data (GTK_OBJECT (save_as), "save_as", save_as); gtk_container_set_border_width (GTK_CONTAINER (save_as), 10); GTK_WINDOW (save_as)->type = GTK_WINDOW_DIALOG; gtk_window_set_modal (GTK_WINDOW (save_as), TRUE); save_as_ok = GTK_FILE_SELECTION (save_as)->ok_button; gtk_widget_set_name (save_as_ok, "save_as_ok"); gtk_object_set_data (GTK_OBJECT (save_as), "save_as_ok", save_as_ok); gtk_widget_show (save_as_ok); GTK_WIDGET_SET_FLAGS (save_as_ok, GTK_CAN_DEFAULT); save_as_cancel = GTK_FILE_SELECTION (save_as)->cancel_button; gtk_widget_set_name (save_as_cancel, "save_as_cancel"); gtk_object_set_data (GTK_OBJECT (save_as), "save_as_cancel", save_as_cancel); gtk_widget_show (save_as_cancel); GTK_WIDGET_SET_FLAGS (save_as_cancel, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (save_as_ok), "clicked", GTK_SIGNAL_FUNC (on_save_as_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (save_as_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); return save_as; } GtkWidget* create_preview_popup (void) { GtkWidget *preview_popup; GtkAccelGroup *preview_popup_accels; guint tmp_key; GtkWidget *view; GtkWidget *view_menu; GtkAccelGroup *view_menu_accels; GSList *view_menu_group = NULL; GtkWidget *_2d_plane; GtkWidget *_2d_contour; GtkWidget *_3d_wire; GtkWidget *_3d_height; GtkWidget *_3d_light; GtkWidget *colormap; GtkWidget *colormap_menu; GtkAccelGroup *colormap_menu_accels; GSList *colormap_menu_group = NULL; GtkWidget *land; GtkWidget *desert; GtkWidget *grayscale; GtkWidget *heat; preview_popup = gtk_menu_new (); gtk_widget_set_name (preview_popup, "preview_popup"); gtk_object_set_data (GTK_OBJECT (preview_popup), "preview_popup", preview_popup); preview_popup_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (preview_popup)); view = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (view)->child), _("_View")); gtk_widget_add_accelerator (view, "activate_item", preview_popup_accels, tmp_key, 0, 0); gtk_widget_set_name (view, "view"); gtk_widget_ref (view); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "view", view, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (view); gtk_container_add (GTK_CONTAINER (preview_popup), view); view_menu = gtk_menu_new (); gtk_widget_set_name (view_menu, "view_menu"); gtk_widget_ref (view_menu); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "view_menu", view_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (view), view_menu); view_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (view_menu)); _2d_plane = gtk_radio_menu_item_new_with_label (view_menu_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (_2d_plane)->child), _("2D _Plane")); gtk_widget_add_accelerator (_2d_plane, "activate_item", view_menu_accels, tmp_key, 0, 0); view_menu_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (_2d_plane)); gtk_widget_set_name (_2d_plane, "_2d_plane"); gtk_widget_ref (_2d_plane); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "_2d_plane", _2d_plane, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (_2d_plane); gtk_container_add (GTK_CONTAINER (view_menu), _2d_plane); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (_2d_plane), TRUE); _2d_contour = gtk_radio_menu_item_new_with_label (view_menu_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (_2d_contour)->child), _("2D _Contour")); gtk_widget_add_accelerator (_2d_contour, "activate_item", view_menu_accels, tmp_key, 0, 0); view_menu_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (_2d_contour)); gtk_widget_set_name (_2d_contour, "_2d_contour"); gtk_widget_ref (_2d_contour); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "_2d_contour", _2d_contour, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (_2d_contour); gtk_container_add (GTK_CONTAINER (view_menu), _2d_contour); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (_2d_contour), TRUE); _3d_wire = gtk_radio_menu_item_new_with_label (view_menu_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (_3d_wire)->child), _("3D _Wire")); gtk_widget_add_accelerator (_3d_wire, "activate_item", view_menu_accels, tmp_key, 0, 0); view_menu_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (_3d_wire)); gtk_widget_set_name (_3d_wire, "_3d_wire"); gtk_widget_ref (_3d_wire); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "_3d_wire", _3d_wire, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (_3d_wire); gtk_container_add (GTK_CONTAINER (view_menu), _3d_wire); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (_3d_wire), TRUE); _3d_height = gtk_radio_menu_item_new_with_label (view_menu_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (_3d_height)->child), _("3D _Height")); gtk_widget_add_accelerator (_3d_height, "activate_item", view_menu_accels, tmp_key, 0, 0); view_menu_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (_3d_height)); gtk_widget_set_name (_3d_height, "_3d_height"); gtk_widget_ref (_3d_height); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "_3d_height", _3d_height, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (_3d_height); gtk_container_add (GTK_CONTAINER (view_menu), _3d_height); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (_3d_height), TRUE); _3d_light = gtk_radio_menu_item_new_with_label (view_menu_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (_3d_light)->child), _("3D _Light")); gtk_widget_add_accelerator (_3d_light, "activate_item", view_menu_accels, tmp_key, 0, 0); view_menu_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (_3d_light)); gtk_widget_set_name (_3d_light, "_3d_light"); gtk_widget_ref (_3d_light); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "_3d_light", _3d_light, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (_3d_light); gtk_container_add (GTK_CONTAINER (view_menu), _3d_light); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (_3d_light), TRUE); colormap = gtk_menu_item_new_with_label (""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (colormap)->child), _("_Colormap")); gtk_widget_add_accelerator (colormap, "activate_item", preview_popup_accels, tmp_key, 0, 0); gtk_widget_set_name (colormap, "colormap"); gtk_widget_ref (colormap); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "colormap", colormap, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (colormap); gtk_container_add (GTK_CONTAINER (preview_popup), colormap); colormap_menu = gtk_menu_new (); gtk_widget_set_name (colormap_menu, "colormap_menu"); gtk_widget_ref (colormap_menu); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "colormap_menu", colormap_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_menu_item_set_submenu (GTK_MENU_ITEM (colormap), colormap_menu); colormap_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (colormap_menu)); land = gtk_radio_menu_item_new_with_label (colormap_menu_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (land)->child), _("_Land")); gtk_widget_add_accelerator (land, "activate_item", colormap_menu_accels, tmp_key, 0, 0); colormap_menu_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (land)); gtk_widget_set_name (land, "land"); gtk_widget_ref (land); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "land", land, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (land); gtk_container_add (GTK_CONTAINER (colormap_menu), land); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (land), TRUE); desert = gtk_radio_menu_item_new_with_label (colormap_menu_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (desert)->child), _("_Desert")); gtk_widget_add_accelerator (desert, "activate_item", colormap_menu_accels, tmp_key, 0, 0); colormap_menu_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (desert)); gtk_widget_set_name (desert, "desert"); gtk_widget_ref (desert); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "desert", desert, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (desert); gtk_container_add (GTK_CONTAINER (colormap_menu), desert); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (desert), TRUE); grayscale = gtk_radio_menu_item_new_with_label (colormap_menu_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (grayscale)->child), _("_Grayscale")); gtk_widget_add_accelerator (grayscale, "activate_item", colormap_menu_accels, tmp_key, 0, 0); colormap_menu_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (grayscale)); gtk_widget_set_name (grayscale, "grayscale"); gtk_widget_ref (grayscale); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "grayscale", grayscale, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (grayscale); gtk_container_add (GTK_CONTAINER (colormap_menu), grayscale); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (grayscale), TRUE); heat = gtk_radio_menu_item_new_with_label (colormap_menu_group, ""); tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (heat)->child), _("_Heat")); gtk_widget_add_accelerator (heat, "activate_item", colormap_menu_accels, tmp_key, 0, 0); colormap_menu_group = gtk_radio_menu_item_group (GTK_RADIO_MENU_ITEM (heat)); gtk_widget_set_name (heat, "heat"); gtk_widget_ref (heat); gtk_object_set_data_full (GTK_OBJECT (preview_popup), "heat", heat, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (heat); gtk_container_add (GTK_CONTAINER (colormap_menu), heat); gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (heat), TRUE); gtk_signal_connect (GTK_OBJECT (preview_popup), "selection_done", GTK_SIGNAL_FUNC (on_preview_popup_selection_done), NULL); return preview_popup; } GtkWidget* create_undo_tree_window (void) { GtkWidget *undo_tree_window; GtkWidget *vbox106; GtkWidget *hbox141; GtkWidget *frame57; GtkWidget *vbox107; GtkWidget *hbox142; GtkWidget *frame58; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame59; GtkWidget *scrolledwindow2; GtkWidget *viewport1; GtkWidget *tree; GtkWidget *hseparator38; GtkWidget *hbox144; GtkWidget *label172; GtkWidget *hbox145; GtkWidget *undo_apply; GtkWidget *undo_ok; GtkWidget *undo_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); undo_tree_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (undo_tree_window, "undo_tree_window"); gtk_object_set_data (GTK_OBJECT (undo_tree_window), "undo_tree_window", undo_tree_window); gtk_window_set_title (GTK_WINDOW (undo_tree_window), _("Undo Tree")); vbox106 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox106, "vbox106"); gtk_widget_ref (vbox106); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "vbox106", vbox106, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox106); gtk_container_add (GTK_CONTAINER (undo_tree_window), vbox106); hbox141 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox141, "hbox141"); gtk_widget_ref (hbox141); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "hbox141", hbox141, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox141); gtk_box_pack_start (GTK_BOX (vbox106), hbox141, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox141), 8); frame57 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame57, "frame57"); gtk_widget_ref (frame57); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "frame57", frame57, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame57); gtk_box_pack_start (GTK_BOX (hbox141), frame57, FALSE, FALSE, 0); vbox107 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox107, "vbox107"); gtk_widget_ref (vbox107); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "vbox107", vbox107, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox107); gtk_container_add (GTK_CONTAINER (frame57), vbox107); hbox142 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox142, "hbox142"); gtk_widget_ref (hbox142); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "hbox142", hbox142, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox142); gtk_box_pack_start (GTK_BOX (vbox107), hbox142, FALSE, FALSE, 0); frame58 = gtk_frame_new (NULL); gtk_widget_set_name (frame58, "frame58"); gtk_widget_ref (frame58); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "frame58", frame58, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame58); gtk_box_pack_start (GTK_BOX (hbox142), frame58, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame58), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame58), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox107), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame59 = gtk_frame_new (_("Undo History")); gtk_widget_set_name (frame59, "frame59"); gtk_widget_ref (frame59); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "frame59", frame59, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame59); gtk_box_pack_start (GTK_BOX (hbox141), frame59, TRUE, TRUE, 0); scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow2, "scrolledwindow2"); gtk_widget_ref (scrolledwindow2); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "scrolledwindow2", scrolledwindow2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow2); gtk_container_add (GTK_CONTAINER (frame59), scrolledwindow2); gtk_widget_set_usize (scrolledwindow2, 220, 200); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 8); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); viewport1 = gtk_viewport_new (NULL, NULL); gtk_widget_set_name (viewport1, "viewport1"); gtk_widget_ref (viewport1); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "viewport1", viewport1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (viewport1); gtk_container_add (GTK_CONTAINER (scrolledwindow2), viewport1); tree = gtk_tree_new (); gtk_widget_set_name (tree, "tree"); gtk_widget_ref (tree); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "tree", tree, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (tree); gtk_container_add (GTK_CONTAINER (viewport1), tree); hseparator38 = gtk_hseparator_new (); gtk_widget_set_name (hseparator38, "hseparator38"); gtk_widget_ref (hseparator38); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "hseparator38", hseparator38, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator38); gtk_box_pack_start (GTK_BOX (vbox106), hseparator38, FALSE, FALSE, 0); hbox144 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox144, "hbox144"); gtk_widget_ref (hbox144); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "hbox144", hbox144, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox144); gtk_box_pack_start (GTK_BOX (vbox106), hbox144, FALSE, FALSE, 0); label172 = gtk_label_new (""); gtk_widget_set_name (label172, "label172"); gtk_widget_ref (label172); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "label172", label172, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label172); gtk_box_pack_start (GTK_BOX (hbox144), label172, TRUE, TRUE, 0); hbox145 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox145, "hbox145"); gtk_widget_ref (hbox145); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "hbox145", hbox145, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox145); gtk_box_pack_start (GTK_BOX (hbox144), hbox145, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox145), 8); undo_apply = gnome_stock_button (GNOME_STOCK_BUTTON_APPLY); gtk_widget_set_name (undo_apply, "undo_apply"); gtk_widget_ref (undo_apply); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "undo_apply", undo_apply, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (undo_apply); gtk_box_pack_start (GTK_BOX (hbox145), undo_apply, TRUE, TRUE, 0); gtk_widget_set_sensitive (undo_apply, FALSE); GTK_WIDGET_SET_FLAGS (undo_apply, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (undo_apply, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); undo_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (undo_ok, "undo_ok"); gtk_widget_ref (undo_ok); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "undo_ok", undo_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (undo_ok); gtk_box_pack_start (GTK_BOX (hbox145), undo_ok, TRUE, TRUE, 0); gtk_widget_set_sensitive (undo_ok, FALSE); GTK_WIDGET_SET_FLAGS (undo_ok, GTK_CAN_DEFAULT); undo_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CLOSE); gtk_widget_set_name (undo_cancel, "undo_cancel"); gtk_widget_ref (undo_cancel); gtk_object_set_data_full (GTK_OBJECT (undo_tree_window), "undo_cancel", undo_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (undo_cancel); gtk_box_pack_start (GTK_BOX (hbox145), undo_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (undo_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (undo_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (tree), "selection_changed", GTK_SIGNAL_FUNC (on_tree_selection_changed), NULL); gtk_signal_connect (GTK_OBJECT (undo_apply), "clicked", GTK_SIGNAL_FUNC (on_undo_apply_clicked), NULL); gtk_signal_connect (GTK_OBJECT (undo_ok), "clicked", GTK_SIGNAL_FUNC (on_undo_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (undo_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (undo_cancel); gtk_window_add_accel_group (GTK_WINDOW (undo_tree_window), accel_group); return undo_tree_window; } GtkWidget* create_execution_error_window (void) { GtkWidget *execution_error_window; GtkWidget *vbox109; GtkWidget *vbox110; GtkWidget *hbox261; GtkWidget *hbox262; gchar *pixmap2_filename; GtkWidget *pixmap2; GtkWidget *error_label; GtkWidget *error_log; GtkWidget *scrolledwindow3; GtkWidget *error_text; GtkWidget *hseparator39; GtkWidget *hbox147; GtkWidget *label177; GtkWidget *hbox148; GtkWidget *save_error_log; GtkWidget *details; GtkWidget *ok; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); execution_error_window = gtk_window_new (GTK_WINDOW_DIALOG); gtk_widget_set_name (execution_error_window, "execution_error_window"); gtk_object_set_data (GTK_OBJECT (execution_error_window), "execution_error_window", execution_error_window); gtk_window_set_title (GTK_WINDOW (execution_error_window), _("External Program Error")); gtk_window_set_modal (GTK_WINDOW (execution_error_window), TRUE); gtk_window_set_policy (GTK_WINDOW (execution_error_window), FALSE, FALSE, FALSE); vbox109 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox109, "vbox109"); gtk_widget_ref (vbox109); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "vbox109", vbox109, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox109); gtk_container_add (GTK_CONTAINER (execution_error_window), vbox109); vbox110 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox110, "vbox110"); gtk_widget_ref (vbox110); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "vbox110", vbox110, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox110); gtk_box_pack_start (GTK_BOX (vbox109), vbox110, TRUE, TRUE, 0); hbox261 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox261, "hbox261"); gtk_widget_ref (hbox261); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "hbox261", hbox261, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox261); gtk_box_pack_start (GTK_BOX (vbox110), hbox261, FALSE, FALSE, 0); hbox262 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox262, "hbox262"); gtk_widget_ref (hbox262); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "hbox262", hbox262, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox262); gtk_box_pack_start (GTK_BOX (hbox261), hbox262, TRUE, TRUE, 0); pixmap2 = gtk_type_new (gnome_pixmap_get_type ()); pixmap2_filename = gnome_pixmap_file ("terraform/gnome-warning.png"); if (pixmap2_filename) gnome_pixmap_load_file (GNOME_PIXMAP (pixmap2), pixmap2_filename); else g_warning (_("Couldn't find pixmap file: %s"), "gnome-warning.png"); g_free (pixmap2_filename); gtk_widget_set_name (pixmap2, "pixmap2"); gtk_widget_ref (pixmap2); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "pixmap2", pixmap2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (pixmap2); gtk_box_pack_start (GTK_BOX (hbox262), pixmap2, FALSE, FALSE, 0); error_label = gtk_label_new (_("A problem has been detected while starting POV-Ray.")); gtk_widget_set_name (error_label, "error_label"); gtk_widget_ref (error_label); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "error_label", error_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (error_label); gtk_box_pack_start (GTK_BOX (hbox262), error_label, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (error_label), GTK_JUSTIFY_LEFT); gtk_misc_set_padding (GTK_MISC (error_label), 8, 8); error_log = gtk_frame_new (_("Error log")); gtk_widget_set_name (error_log, "error_log"); gtk_widget_ref (error_log); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "error_log", error_log, (GtkDestroyNotify) gtk_widget_unref); gtk_box_pack_start (GTK_BOX (vbox110), error_log, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (error_log), 8); scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow3, "scrolledwindow3"); gtk_widget_ref (scrolledwindow3); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "scrolledwindow3", scrolledwindow3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow3); gtk_container_add (GTK_CONTAINER (error_log), scrolledwindow3); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow3), 8); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); error_text = gtk_text_new (NULL, NULL); gtk_widget_set_name (error_text, "error_text"); gtk_widget_ref (error_text); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "error_text", error_text, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (error_text); gtk_container_add (GTK_CONTAINER (scrolledwindow3), error_text); gtk_widget_set_usize (error_text, 410, 200); hseparator39 = gtk_hseparator_new (); gtk_widget_set_name (hseparator39, "hseparator39"); gtk_widget_ref (hseparator39); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "hseparator39", hseparator39, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator39); gtk_box_pack_start (GTK_BOX (vbox109), hseparator39, FALSE, FALSE, 8); hbox147 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox147, "hbox147"); gtk_widget_ref (hbox147); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "hbox147", hbox147, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox147); gtk_box_pack_start (GTK_BOX (vbox109), hbox147, FALSE, FALSE, 0); label177 = gtk_label_new (""); gtk_widget_set_name (label177, "label177"); gtk_widget_ref (label177); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "label177", label177, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label177); gtk_box_pack_start (GTK_BOX (hbox147), label177, TRUE, TRUE, 0); hbox148 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox148, "hbox148"); gtk_widget_ref (hbox148); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "hbox148", hbox148, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox148); gtk_box_pack_start (GTK_BOX (hbox147), hbox148, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox148), 8); save_error_log = gtk_button_new_with_label (_("Save Error Log")); gtk_widget_set_name (save_error_log, "save_error_log"); gtk_widget_ref (save_error_log); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "save_error_log", save_error_log, (GtkDestroyNotify) gtk_widget_unref); gtk_box_pack_start (GTK_BOX (hbox148), save_error_log, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (save_error_log, GTK_CAN_DEFAULT); details = gtk_button_new_with_label (_("Show Details")); gtk_widget_set_name (details, "details"); gtk_widget_ref (details); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "details", details, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (details); gtk_box_pack_start (GTK_BOX (hbox148), details, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (details, GTK_CAN_DEFAULT); ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (ok, "ok"); gtk_widget_ref (ok); gtk_object_set_data_full (GTK_OBJECT (execution_error_window), "ok", ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok); gtk_box_pack_start (GTK_BOX (hbox148), ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (ok, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (save_error_log), "clicked", GTK_SIGNAL_FUNC (on_save_error_log_clicked), NULL); gtk_signal_connect (GTK_OBJECT (details), "clicked", GTK_SIGNAL_FUNC (on_execution_error_details_click), NULL); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (ok); gtk_window_add_accel_group (GTK_WINDOW (execution_error_window), accel_group); return execution_error_window; } GtkWidget* create_merge_window (void) { GtkWidget *merge_window; GtkWidget *vbox112; GtkWidget *hbox160; GtkWidget *scrolledwindow4; GtkWidget *merge_list; GtkWidget *label180; GtkWidget *vbox114; GtkWidget *hbox163; GtkWidget *vbox120; GtkWidget *top_select; GtkWidget *top_frame; GtkWidget *vbox116; GtkWidget *hbox161; GtkWidget *frame67; GtkWidget *top_thumbnail; GtkWidget *top_amount; GtkWidget *merge_op; GtkWidget *merge_op_menu; GtkWidget *glade_menuitem; GtkWidget *hbox162; GtkWidget *vbox121; GtkWidget *bottom_select; GtkWidget *bottom_frame; GtkWidget *vbox117; GtkWidget *hbox157; GtkWidget *frame68; GtkWidget *bottom_thumbnail; GtkWidget *bottom_amount; GtkWidget *frame69; GtkWidget *vbox118; GtkWidget *hbox159; GtkWidget *frame70; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *hseparator40; GtkWidget *hbox154; GtkWidget *label179; GtkWidget *hbox155; GtkWidget *merge_ok; GtkWidget *merge_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); merge_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (merge_window, "merge_window"); gtk_object_set_data (GTK_OBJECT (merge_window), "merge_window", merge_window); gtk_window_set_title (GTK_WINDOW (merge_window), _("Merge")); gtk_window_set_modal (GTK_WINDOW (merge_window), TRUE); vbox112 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox112, "vbox112"); gtk_widget_ref (vbox112); gtk_object_set_data_full (GTK_OBJECT (merge_window), "vbox112", vbox112, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox112); gtk_container_add (GTK_CONTAINER (merge_window), vbox112); hbox160 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox160, "hbox160"); gtk_widget_ref (hbox160); gtk_object_set_data_full (GTK_OBJECT (merge_window), "hbox160", hbox160, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox160); gtk_box_pack_start (GTK_BOX (vbox112), hbox160, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox160), 8); scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow4, "scrolledwindow4"); gtk_widget_ref (scrolledwindow4); gtk_object_set_data_full (GTK_OBJECT (merge_window), "scrolledwindow4", scrolledwindow4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow4); gtk_box_pack_start (GTK_BOX (hbox160), scrolledwindow4, FALSE, FALSE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); merge_list = gtk_clist_new (1); gtk_widget_set_name (merge_list, "merge_list"); gtk_widget_ref (merge_list); gtk_object_set_data_full (GTK_OBJECT (merge_window), "merge_list", merge_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (merge_list); gtk_container_add (GTK_CONTAINER (scrolledwindow4), merge_list); gtk_widget_set_usize (merge_list, 200, -2); gtk_clist_set_column_width (GTK_CLIST (merge_list), 0, 80); gtk_clist_column_titles_show (GTK_CLIST (merge_list)); label180 = gtk_label_new (_("Terrain Object List")); gtk_widget_set_name (label180, "label180"); gtk_widget_ref (label180); gtk_object_set_data_full (GTK_OBJECT (merge_window), "label180", label180, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label180); gtk_clist_set_column_widget (GTK_CLIST (merge_list), 0, label180); vbox114 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox114, "vbox114"); gtk_widget_ref (vbox114); gtk_object_set_data_full (GTK_OBJECT (merge_window), "vbox114", vbox114, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox114); gtk_box_pack_start (GTK_BOX (hbox160), vbox114, FALSE, FALSE, 0); hbox163 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox163, "hbox163"); gtk_widget_ref (hbox163); gtk_object_set_data_full (GTK_OBJECT (merge_window), "hbox163", hbox163, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox163); gtk_box_pack_start (GTK_BOX (vbox114), hbox163, TRUE, TRUE, 0); vbox120 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox120, "vbox120"); gtk_widget_ref (vbox120); gtk_object_set_data_full (GTK_OBJECT (merge_window), "vbox120", vbox120, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox120); gtk_box_pack_start (GTK_BOX (hbox163), vbox120, FALSE, FALSE, 0); top_select = gtk_button_new_with_label (_(">>")); gtk_widget_set_name (top_select, "top_select"); gtk_widget_ref (top_select); gtk_object_set_data_full (GTK_OBJECT (merge_window), "top_select", top_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_select); gtk_box_pack_start (GTK_BOX (vbox120), top_select, TRUE, FALSE, 0); gtk_widget_set_sensitive (top_select, FALSE); top_frame = gtk_frame_new (_("Top Frame")); gtk_widget_set_name (top_frame, "top_frame"); gtk_widget_ref (top_frame); gtk_object_set_data_full (GTK_OBJECT (merge_window), "top_frame", top_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_frame); gtk_box_pack_start (GTK_BOX (hbox163), top_frame, TRUE, TRUE, 0); vbox116 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox116, "vbox116"); gtk_widget_ref (vbox116); gtk_object_set_data_full (GTK_OBJECT (merge_window), "vbox116", vbox116, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox116); gtk_container_add (GTK_CONTAINER (top_frame), vbox116); gtk_container_set_border_width (GTK_CONTAINER (vbox116), 8); hbox161 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox161, "hbox161"); gtk_widget_ref (hbox161); gtk_object_set_data_full (GTK_OBJECT (merge_window), "hbox161", hbox161, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox161); gtk_box_pack_start (GTK_BOX (vbox116), hbox161, TRUE, FALSE, 0); frame67 = gtk_frame_new (NULL); gtk_widget_set_name (frame67, "frame67"); gtk_widget_ref (frame67); gtk_object_set_data_full (GTK_OBJECT (merge_window), "frame67", frame67, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame67); gtk_box_pack_start (GTK_BOX (hbox161), frame67, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame67), GTK_SHADOW_IN); top_thumbnail = create_terrain_preview ("top_thumbnail", NULL, NULL, 0, 0); gtk_widget_set_name (top_thumbnail, "top_thumbnail"); gtk_widget_ref (top_thumbnail); gtk_object_set_data_full (GTK_OBJECT (merge_window), "top_thumbnail", top_thumbnail, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_thumbnail); gtk_container_add (GTK_CONTAINER (frame67), top_thumbnail); GTK_WIDGET_UNSET_FLAGS (top_thumbnail, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (top_thumbnail, GTK_CAN_DEFAULT); top_amount = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (top_amount, "top_amount"); gtk_widget_ref (top_amount); gtk_object_set_data_full (GTK_OBJECT (merge_window), "top_amount", top_amount, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_amount); gtk_box_pack_start (GTK_BOX (vbox116), top_amount, FALSE, FALSE, 0); gtk_widget_set_usize (top_amount, 150, -2); gtk_scale_set_digits (GTK_SCALE (top_amount), 2); merge_op = gtk_option_menu_new (); gtk_widget_set_name (merge_op, "merge_op"); gtk_widget_ref (merge_op); gtk_object_set_data_full (GTK_OBJECT (merge_window), "merge_op", merge_op, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (merge_op); gtk_box_pack_start (GTK_BOX (vbox114), merge_op, FALSE, FALSE, 0); merge_op_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("Add")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (merge_op_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Subtract")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (merge_op_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Multiply")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (merge_op_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Divide")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (merge_op_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Minimum")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (merge_op_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Maximum")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (merge_op_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (merge_op), merge_op_menu); hbox162 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox162, "hbox162"); gtk_widget_ref (hbox162); gtk_object_set_data_full (GTK_OBJECT (merge_window), "hbox162", hbox162, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox162); gtk_box_pack_start (GTK_BOX (vbox114), hbox162, TRUE, TRUE, 0); vbox121 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox121, "vbox121"); gtk_widget_ref (vbox121); gtk_object_set_data_full (GTK_OBJECT (merge_window), "vbox121", vbox121, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox121); gtk_box_pack_start (GTK_BOX (hbox162), vbox121, FALSE, FALSE, 0); bottom_select = gtk_button_new_with_label (_(">>")); gtk_widget_set_name (bottom_select, "bottom_select"); gtk_widget_ref (bottom_select); gtk_object_set_data_full (GTK_OBJECT (merge_window), "bottom_select", bottom_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_select); gtk_box_pack_start (GTK_BOX (vbox121), bottom_select, TRUE, FALSE, 0); gtk_widget_set_sensitive (bottom_select, FALSE); bottom_frame = gtk_frame_new (_("Bottom Frame")); gtk_widget_set_name (bottom_frame, "bottom_frame"); gtk_widget_ref (bottom_frame); gtk_object_set_data_full (GTK_OBJECT (merge_window), "bottom_frame", bottom_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_frame); gtk_box_pack_start (GTK_BOX (hbox162), bottom_frame, TRUE, TRUE, 0); vbox117 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox117, "vbox117"); gtk_widget_ref (vbox117); gtk_object_set_data_full (GTK_OBJECT (merge_window), "vbox117", vbox117, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox117); gtk_container_add (GTK_CONTAINER (bottom_frame), vbox117); gtk_container_set_border_width (GTK_CONTAINER (vbox117), 8); hbox157 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox157, "hbox157"); gtk_widget_ref (hbox157); gtk_object_set_data_full (GTK_OBJECT (merge_window), "hbox157", hbox157, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox157); gtk_box_pack_start (GTK_BOX (vbox117), hbox157, TRUE, FALSE, 0); frame68 = gtk_frame_new (NULL); gtk_widget_set_name (frame68, "frame68"); gtk_widget_ref (frame68); gtk_object_set_data_full (GTK_OBJECT (merge_window), "frame68", frame68, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame68); gtk_box_pack_start (GTK_BOX (hbox157), frame68, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame68), GTK_SHADOW_IN); bottom_thumbnail = create_terrain_preview ("bottom_thumbnail", NULL, NULL, 0, 0); gtk_widget_set_name (bottom_thumbnail, "bottom_thumbnail"); gtk_widget_ref (bottom_thumbnail); gtk_object_set_data_full (GTK_OBJECT (merge_window), "bottom_thumbnail", bottom_thumbnail, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_thumbnail); gtk_container_add (GTK_CONTAINER (frame68), bottom_thumbnail); GTK_WIDGET_UNSET_FLAGS (bottom_thumbnail, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (bottom_thumbnail, GTK_CAN_DEFAULT); bottom_amount = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (bottom_amount, "bottom_amount"); gtk_widget_ref (bottom_amount); gtk_object_set_data_full (GTK_OBJECT (merge_window), "bottom_amount", bottom_amount, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_amount); gtk_box_pack_start (GTK_BOX (vbox117), bottom_amount, FALSE, FALSE, 0); gtk_scale_set_digits (GTK_SCALE (bottom_amount), 2); frame69 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame69, "frame69"); gtk_widget_ref (frame69); gtk_object_set_data_full (GTK_OBJECT (merge_window), "frame69", frame69, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame69); gtk_box_pack_start (GTK_BOX (hbox160), frame69, TRUE, TRUE, 0); vbox118 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox118, "vbox118"); gtk_widget_ref (vbox118); gtk_object_set_data_full (GTK_OBJECT (merge_window), "vbox118", vbox118, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox118); gtk_container_add (GTK_CONTAINER (frame69), vbox118); gtk_widget_set_usize (vbox118, 170, -2); hbox159 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox159, "hbox159"); gtk_widget_ref (hbox159); gtk_object_set_data_full (GTK_OBJECT (merge_window), "hbox159", hbox159, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox159); gtk_box_pack_start (GTK_BOX (vbox118), hbox159, TRUE, FALSE, 0); frame70 = gtk_frame_new (NULL); gtk_widget_set_name (frame70, "frame70"); gtk_widget_ref (frame70); gtk_object_set_data_full (GTK_OBJECT (merge_window), "frame70", frame70, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame70); gtk_box_pack_start (GTK_BOX (hbox159), frame70, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame70), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (merge_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame70), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (merge_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox118), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); hseparator40 = gtk_hseparator_new (); gtk_widget_set_name (hseparator40, "hseparator40"); gtk_widget_ref (hseparator40); gtk_object_set_data_full (GTK_OBJECT (merge_window), "hseparator40", hseparator40, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator40); gtk_box_pack_start (GTK_BOX (vbox112), hseparator40, FALSE, FALSE, 0); hbox154 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox154, "hbox154"); gtk_widget_ref (hbox154); gtk_object_set_data_full (GTK_OBJECT (merge_window), "hbox154", hbox154, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox154); gtk_box_pack_start (GTK_BOX (vbox112), hbox154, FALSE, FALSE, 0); label179 = gtk_label_new (""); gtk_widget_set_name (label179, "label179"); gtk_widget_ref (label179); gtk_object_set_data_full (GTK_OBJECT (merge_window), "label179", label179, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label179); gtk_box_pack_start (GTK_BOX (hbox154), label179, TRUE, TRUE, 0); hbox155 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox155, "hbox155"); gtk_widget_ref (hbox155); gtk_object_set_data_full (GTK_OBJECT (merge_window), "hbox155", hbox155, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox155); gtk_box_pack_start (GTK_BOX (hbox154), hbox155, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox155), 8); merge_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (merge_ok, "merge_ok"); gtk_widget_ref (merge_ok); gtk_object_set_data_full (GTK_OBJECT (merge_window), "merge_ok", merge_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (merge_ok); gtk_box_pack_start (GTK_BOX (hbox155), merge_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (merge_ok, GTK_CAN_DEFAULT); merge_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (merge_cancel, "merge_cancel"); gtk_widget_ref (merge_cancel); gtk_object_set_data_full (GTK_OBJECT (merge_window), "merge_cancel", merge_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (merge_cancel); gtk_box_pack_start (GTK_BOX (hbox155), merge_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (merge_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (merge_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (merge_list), "select_row", GTK_SIGNAL_FUNC (on_merge_list_select_row), NULL); gtk_signal_connect (GTK_OBJECT (merge_list), "unselect_row", GTK_SIGNAL_FUNC (on_merge_list_unselect_row), NULL); gtk_signal_connect (GTK_OBJECT (top_select), "clicked", GTK_SIGNAL_FUNC (on_merge_top_select_clicked), NULL); gtk_signal_connect (GTK_OBJECT (bottom_select), "clicked", GTK_SIGNAL_FUNC (on_merge_bottom_select_clicked), NULL); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (merge_ok), "clicked", GTK_SIGNAL_FUNC (on_merge_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (merge_cancel), "clicked", GTK_SIGNAL_FUNC (on_merge_cancel_clicked), NULL); gtk_widget_grab_default (merge_cancel); gtk_window_add_accel_group (GTK_WINDOW (merge_window), accel_group); return merge_window; } GtkWidget* create_native_render_window (void) { GtkWidget *native_render_window; GtkWidget *vbox122; GtkWidget *hbox165; GtkWidget *label181; GtkWidget *cancel; GtkWidget *hbox164; GtkWidget *frame71; GtkWidget *image; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); native_render_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (native_render_window, "native_render_window"); gtk_object_set_data (GTK_OBJECT (native_render_window), "native_render_window", native_render_window); gtk_window_set_title (GTK_WINDOW (native_render_window), _("Native Render")); gtk_window_set_policy (GTK_WINDOW (native_render_window), FALSE, FALSE, FALSE); vbox122 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox122, "vbox122"); gtk_widget_ref (vbox122); gtk_object_set_data_full (GTK_OBJECT (native_render_window), "vbox122", vbox122, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox122); gtk_container_add (GTK_CONTAINER (native_render_window), vbox122); hbox165 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox165, "hbox165"); gtk_widget_ref (hbox165); gtk_object_set_data_full (GTK_OBJECT (native_render_window), "hbox165", hbox165, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox165); gtk_box_pack_start (GTK_BOX (vbox122), hbox165, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox165), 8); label181 = gtk_label_new (_("Not fully implemented")); gtk_widget_set_name (label181, "label181"); gtk_widget_ref (label181); gtk_object_set_data_full (GTK_OBJECT (native_render_window), "label181", label181, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label181); gtk_box_pack_start (GTK_BOX (hbox165), label181, FALSE, FALSE, 0); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (native_render_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_end (GTK_BOX (hbox165), cancel, FALSE, FALSE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); hbox164 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox164, "hbox164"); gtk_widget_ref (hbox164); gtk_object_set_data_full (GTK_OBJECT (native_render_window), "hbox164", hbox164, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox164); gtk_box_pack_start (GTK_BOX (vbox122), hbox164, TRUE, FALSE, 0); frame71 = gtk_frame_new (NULL); gtk_widget_set_name (frame71, "frame71"); gtk_widget_ref (frame71); gtk_object_set_data_full (GTK_OBJECT (native_render_window), "frame71", frame71, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame71); gtk_box_pack_start (GTK_BOX (hbox164), frame71, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame71), GTK_SHADOW_IN); image = create_native_image ("image", NULL, NULL, 0, 0); gtk_widget_set_name (image, "image"); gtk_widget_ref (image); gtk_object_set_data_full (GTK_OBJECT (native_render_window), "image", image, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (image); gtk_container_add (GTK_CONTAINER (frame71), image); GTK_WIDGET_UNSET_FLAGS (image, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (image, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); gtk_window_add_accel_group (GTK_WINDOW (native_render_window), accel_group); return native_render_window; } GtkWidget* create_move_window (void) { GtkWidget *move_window; GtkWidget *vbox123; GtkWidget *hbox166; GtkWidget *frame72; GtkWidget *vbox124; GtkWidget *hbox167; GtkWidget *frame73; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame74; GtkWidget *table20; GtkWidget *label182; GtkWidget *label183; GtkWidget *x_offset; GtkWidget *y_offset; GtkWidget *hseparator41; GtkWidget *hbox168; GtkWidget *label184; GtkWidget *hbox169; GtkWidget *ok; GtkWidget *cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); move_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (move_window, "move_window"); gtk_object_set_data (GTK_OBJECT (move_window), "move_window", move_window); gtk_window_set_title (GTK_WINDOW (move_window), _("Move")); vbox123 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox123, "vbox123"); gtk_widget_ref (vbox123); gtk_object_set_data_full (GTK_OBJECT (move_window), "vbox123", vbox123, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox123); gtk_container_add (GTK_CONTAINER (move_window), vbox123); hbox166 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox166, "hbox166"); gtk_widget_ref (hbox166); gtk_object_set_data_full (GTK_OBJECT (move_window), "hbox166", hbox166, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox166); gtk_box_pack_start (GTK_BOX (vbox123), hbox166, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox166), 8); frame72 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame72, "frame72"); gtk_widget_ref (frame72); gtk_object_set_data_full (GTK_OBJECT (move_window), "frame72", frame72, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame72); gtk_box_pack_start (GTK_BOX (hbox166), frame72, FALSE, FALSE, 0); vbox124 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox124, "vbox124"); gtk_widget_ref (vbox124); gtk_object_set_data_full (GTK_OBJECT (move_window), "vbox124", vbox124, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox124); gtk_container_add (GTK_CONTAINER (frame72), vbox124); hbox167 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox167, "hbox167"); gtk_widget_ref (hbox167); gtk_object_set_data_full (GTK_OBJECT (move_window), "hbox167", hbox167, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox167); gtk_box_pack_start (GTK_BOX (vbox124), hbox167, FALSE, FALSE, 0); frame73 = gtk_frame_new (NULL); gtk_widget_set_name (frame73, "frame73"); gtk_widget_ref (frame73); gtk_object_set_data_full (GTK_OBJECT (move_window), "frame73", frame73, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame73); gtk_box_pack_start (GTK_BOX (hbox167), frame73, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame73), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (move_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame73), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (move_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox124), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame74 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame74, "frame74"); gtk_widget_ref (frame74); gtk_object_set_data_full (GTK_OBJECT (move_window), "frame74", frame74, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame74); gtk_box_pack_start (GTK_BOX (hbox166), frame74, TRUE, TRUE, 0); table20 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table20, "table20"); gtk_widget_ref (table20); gtk_object_set_data_full (GTK_OBJECT (move_window), "table20", table20, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table20); gtk_container_add (GTK_CONTAINER (frame74), table20); gtk_container_set_border_width (GTK_CONTAINER (table20), 8); gtk_table_set_row_spacings (GTK_TABLE (table20), 4); gtk_table_set_col_spacings (GTK_TABLE (table20), 8); label182 = gtk_label_new (_("X offset")); gtk_widget_set_name (label182, "label182"); gtk_widget_ref (label182); gtk_object_set_data_full (GTK_OBJECT (move_window), "label182", label182, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label182); gtk_table_attach (GTK_TABLE (table20), label182, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label183 = gtk_label_new (_("Y offset")); gtk_widget_set_name (label183, "label183"); gtk_widget_ref (label183); gtk_object_set_data_full (GTK_OBJECT (move_window), "label183", label183, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label183); gtk_table_attach (GTK_TABLE (table20), label183, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); x_offset = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (x_offset, "x_offset"); gtk_widget_ref (x_offset); gtk_object_set_data_full (GTK_OBJECT (move_window), "x_offset", x_offset, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (x_offset); gtk_table_attach (GTK_TABLE (table20), x_offset, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (x_offset, 150, -2); gtk_scale_set_digits (GTK_SCALE (x_offset), 2); y_offset = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (y_offset, "y_offset"); gtk_widget_ref (y_offset); gtk_object_set_data_full (GTK_OBJECT (move_window), "y_offset", y_offset, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (y_offset); gtk_table_attach (GTK_TABLE (table20), y_offset, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (y_offset, 150, -2); gtk_scale_set_digits (GTK_SCALE (y_offset), 2); hseparator41 = gtk_hseparator_new (); gtk_widget_set_name (hseparator41, "hseparator41"); gtk_widget_ref (hseparator41); gtk_object_set_data_full (GTK_OBJECT (move_window), "hseparator41", hseparator41, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator41); gtk_box_pack_start (GTK_BOX (vbox123), hseparator41, FALSE, FALSE, 0); hbox168 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox168, "hbox168"); gtk_widget_ref (hbox168); gtk_object_set_data_full (GTK_OBJECT (move_window), "hbox168", hbox168, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox168); gtk_box_pack_start (GTK_BOX (vbox123), hbox168, FALSE, FALSE, 0); label184 = gtk_label_new (""); gtk_widget_set_name (label184, "label184"); gtk_widget_ref (label184); gtk_object_set_data_full (GTK_OBJECT (move_window), "label184", label184, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label184); gtk_box_pack_start (GTK_BOX (hbox168), label184, TRUE, TRUE, 0); hbox169 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox169, "hbox169"); gtk_widget_ref (hbox169); gtk_object_set_data_full (GTK_OBJECT (move_window), "hbox169", hbox169, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox169); gtk_box_pack_start (GTK_BOX (hbox168), hbox169, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox169), 8); ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (ok, "ok"); gtk_widget_ref (ok); gtk_object_set_data_full (GTK_OBJECT (move_window), "ok", ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok); gtk_box_pack_start (GTK_BOX (hbox169), ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (move_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox169), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); gtk_window_add_accel_group (GTK_WINDOW (move_window), accel_group); return move_window; } GtkWidget* create_print_preview_window (void) { GtkWidget *print_preview_window; GtkWidget *vbox125; GtkWidget *hbox170; GtkWidget *label185; GtkWidget *cancel; GtkWidget *scrolledwindow5; GtkWidget *preview_canvas; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); print_preview_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (print_preview_window, "print_preview_window"); gtk_object_set_data (GTK_OBJECT (print_preview_window), "print_preview_window", print_preview_window); gtk_window_set_title (GTK_WINDOW (print_preview_window), _("Print Preview")); vbox125 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox125, "vbox125"); gtk_widget_ref (vbox125); gtk_object_set_data_full (GTK_OBJECT (print_preview_window), "vbox125", vbox125, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox125); gtk_container_add (GTK_CONTAINER (print_preview_window), vbox125); hbox170 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox170, "hbox170"); gtk_widget_ref (hbox170); gtk_object_set_data_full (GTK_OBJECT (print_preview_window), "hbox170", hbox170, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox170); gtk_box_pack_start (GTK_BOX (vbox125), hbox170, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox170), 8); label185 = gtk_label_new (_("Not fully implemented")); gtk_widget_set_name (label185, "label185"); gtk_widget_ref (label185); gtk_object_set_data_full (GTK_OBJECT (print_preview_window), "label185", label185, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label185); gtk_box_pack_start (GTK_BOX (hbox170), label185, FALSE, FALSE, 0); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (print_preview_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_end (GTK_BOX (hbox170), cancel, FALSE, FALSE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow5, "scrolledwindow5"); gtk_widget_ref (scrolledwindow5); gtk_object_set_data_full (GTK_OBJECT (print_preview_window), "scrolledwindow5", scrolledwindow5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow5); gtk_box_pack_start (GTK_BOX (vbox125), scrolledwindow5, TRUE, TRUE, 0); gtk_widget_push_visual (gdk_imlib_get_visual ()); gtk_widget_push_colormap (gdk_imlib_get_colormap ()); preview_canvas = gnome_canvas_new (); gtk_widget_pop_colormap (); gtk_widget_pop_visual (); gtk_widget_set_name (preview_canvas, "preview_canvas"); gtk_widget_ref (preview_canvas); gtk_object_set_data_full (GTK_OBJECT (print_preview_window), "preview_canvas", preview_canvas, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview_canvas); gtk_container_add (GTK_CONTAINER (scrolledwindow5), preview_canvas); gnome_canvas_set_scroll_region (GNOME_CANVAS (preview_canvas), 0, 0, 100, 100); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); gtk_window_add_accel_group (GTK_WINDOW (print_preview_window), accel_group); return print_preview_window; } GtkWidget* create_select_by_height_window (void) { GtkWidget *select_by_height_window; GtkWidget *vbox129; GtkWidget *hbox172; GtkWidget *frame76; GtkWidget *vbox130; GtkWidget *hbox173; GtkWidget *frame77; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame78; GtkWidget *table21; GtkWidget *floor; GtkWidget *label188; GtkWidget *label190; GtkWidget *ceiling; GtkWidget *hseparator42; GtkWidget *hbox175; GtkWidget *label189; GtkWidget *hbox176; GtkWidget *ok; GtkWidget *cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); select_by_height_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (select_by_height_window, "select_by_height_window"); gtk_object_set_data (GTK_OBJECT (select_by_height_window), "select_by_height_window", select_by_height_window); gtk_window_set_title (GTK_WINDOW (select_by_height_window), _("Select By Height")); vbox129 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox129, "vbox129"); gtk_widget_ref (vbox129); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "vbox129", vbox129, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox129); gtk_container_add (GTK_CONTAINER (select_by_height_window), vbox129); hbox172 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox172, "hbox172"); gtk_widget_ref (hbox172); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "hbox172", hbox172, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox172); gtk_box_pack_start (GTK_BOX (vbox129), hbox172, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox172), 8); frame76 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame76, "frame76"); gtk_widget_ref (frame76); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "frame76", frame76, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame76); gtk_box_pack_start (GTK_BOX (hbox172), frame76, FALSE, FALSE, 0); vbox130 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox130, "vbox130"); gtk_widget_ref (vbox130); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "vbox130", vbox130, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox130); gtk_container_add (GTK_CONTAINER (frame76), vbox130); hbox173 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox173, "hbox173"); gtk_widget_ref (hbox173); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "hbox173", hbox173, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox173); gtk_box_pack_start (GTK_BOX (vbox130), hbox173, FALSE, FALSE, 0); frame77 = gtk_frame_new (NULL); gtk_widget_set_name (frame77, "frame77"); gtk_widget_ref (frame77); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "frame77", frame77, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame77); gtk_box_pack_start (GTK_BOX (hbox173), frame77, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame77), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame77), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox130), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame78 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame78, "frame78"); gtk_widget_ref (frame78); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "frame78", frame78, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame78); gtk_box_pack_start (GTK_BOX (hbox172), frame78, TRUE, TRUE, 0); table21 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table21, "table21"); gtk_widget_ref (table21); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "table21", table21, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table21); gtk_container_add (GTK_CONTAINER (frame78), table21); gtk_container_set_border_width (GTK_CONTAINER (table21), 8); gtk_table_set_row_spacings (GTK_TABLE (table21), 4); gtk_table_set_col_spacings (GTK_TABLE (table21), 8); floor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (floor, "floor"); gtk_widget_ref (floor); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "floor", floor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (floor); gtk_table_attach (GTK_TABLE (table21), floor, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (floor, 150, -2); gtk_scale_set_digits (GTK_SCALE (floor), 2); label188 = gtk_label_new (_("Floor")); gtk_widget_set_name (label188, "label188"); gtk_widget_ref (label188); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "label188", label188, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label188); gtk_table_attach (GTK_TABLE (table21), label188, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label190 = gtk_label_new (_("Ceiling")); gtk_widget_set_name (label190, "label190"); gtk_widget_ref (label190); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "label190", label190, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label190); gtk_table_attach (GTK_TABLE (table21), label190, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); ceiling = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (ceiling, "ceiling"); gtk_widget_ref (ceiling); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "ceiling", ceiling, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ceiling); gtk_table_attach (GTK_TABLE (table21), ceiling, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (ceiling), 2); hseparator42 = gtk_hseparator_new (); gtk_widget_set_name (hseparator42, "hseparator42"); gtk_widget_ref (hseparator42); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "hseparator42", hseparator42, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator42); gtk_box_pack_start (GTK_BOX (vbox129), hseparator42, FALSE, FALSE, 0); hbox175 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox175, "hbox175"); gtk_widget_ref (hbox175); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "hbox175", hbox175, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox175); gtk_box_pack_start (GTK_BOX (vbox129), hbox175, FALSE, FALSE, 0); label189 = gtk_label_new (""); gtk_widget_set_name (label189, "label189"); gtk_widget_ref (label189); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "label189", label189, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label189); gtk_box_pack_start (GTK_BOX (hbox175), label189, TRUE, TRUE, 0); hbox176 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox176, "hbox176"); gtk_widget_ref (hbox176); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "hbox176", hbox176, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox176); gtk_box_pack_start (GTK_BOX (hbox175), hbox176, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox176), 8); ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (ok, "ok"); gtk_widget_ref (ok); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "ok", ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok); gtk_box_pack_start (GTK_BOX (hbox176), ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (select_by_height_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox176), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); gtk_window_add_accel_group (GTK_WINDOW (select_by_height_window), accel_group); return select_by_height_window; } GtkWidget* create_feather_window (void) { GtkWidget *feather_window; GtkWidget *vbox131; GtkWidget *frame81; GtkWidget *table22; GtkWidget *label194; GtkObject *radius_adj; GtkWidget *radius; GtkWidget *hseparator43; GtkWidget *hbox179; GtkWidget *label193; GtkWidget *hbox180; GtkWidget *ok; GtkWidget *cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); feather_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (feather_window, "feather_window"); gtk_object_set_data (GTK_OBJECT (feather_window), "feather_window", feather_window); gtk_window_set_title (GTK_WINDOW (feather_window), _("Feather Selection")); vbox131 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox131, "vbox131"); gtk_widget_ref (vbox131); gtk_object_set_data_full (GTK_OBJECT (feather_window), "vbox131", vbox131, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox131); gtk_container_add (GTK_CONTAINER (feather_window), vbox131); frame81 = gtk_frame_new (_("Feather Options")); gtk_widget_set_name (frame81, "frame81"); gtk_widget_ref (frame81); gtk_object_set_data_full (GTK_OBJECT (feather_window), "frame81", frame81, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame81); gtk_box_pack_start (GTK_BOX (vbox131), frame81, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame81), 8); table22 = gtk_table_new (1, 2, FALSE); gtk_widget_set_name (table22, "table22"); gtk_widget_ref (table22); gtk_object_set_data_full (GTK_OBJECT (feather_window), "table22", table22, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table22); gtk_container_add (GTK_CONTAINER (frame81), table22); gtk_container_set_border_width (GTK_CONTAINER (table22), 8); gtk_table_set_row_spacings (GTK_TABLE (table22), 4); gtk_table_set_col_spacings (GTK_TABLE (table22), 8); label194 = gtk_label_new (_("Radius")); gtk_widget_set_name (label194, "label194"); gtk_widget_ref (label194); gtk_object_set_data_full (GTK_OBJECT (feather_window), "label194", label194, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label194); gtk_table_attach (GTK_TABLE (table22), label194, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (GTK_EXPAND), 0, 0); radius_adj = gtk_adjustment_new (10, 1, 100, 1, 2, 2); radius = gtk_spin_button_new (GTK_ADJUSTMENT (radius_adj), 1, 0); gtk_widget_set_name (radius, "radius"); gtk_widget_ref (radius); gtk_object_set_data_full (GTK_OBJECT (feather_window), "radius", radius, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (radius); gtk_table_attach (GTK_TABLE (table22), radius, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND), 0, 0); hseparator43 = gtk_hseparator_new (); gtk_widget_set_name (hseparator43, "hseparator43"); gtk_widget_ref (hseparator43); gtk_object_set_data_full (GTK_OBJECT (feather_window), "hseparator43", hseparator43, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator43); gtk_box_pack_start (GTK_BOX (vbox131), hseparator43, FALSE, FALSE, 0); hbox179 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox179, "hbox179"); gtk_widget_ref (hbox179); gtk_object_set_data_full (GTK_OBJECT (feather_window), "hbox179", hbox179, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox179); gtk_box_pack_start (GTK_BOX (vbox131), hbox179, FALSE, FALSE, 0); label193 = gtk_label_new (""); gtk_widget_set_name (label193, "label193"); gtk_widget_ref (label193); gtk_object_set_data_full (GTK_OBJECT (feather_window), "label193", label193, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label193); gtk_box_pack_start (GTK_BOX (hbox179), label193, TRUE, TRUE, 0); hbox180 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox180, "hbox180"); gtk_widget_ref (hbox180); gtk_object_set_data_full (GTK_OBJECT (feather_window), "hbox180", hbox180, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox180); gtk_box_pack_start (GTK_BOX (hbox179), hbox180, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox180), 8); ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (ok, "ok"); gtk_widget_ref (ok); gtk_object_set_data_full (GTK_OBJECT (feather_window), "ok", ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok); gtk_box_pack_start (GTK_BOX (hbox180), ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (feather_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox180), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); gtk_window_add_accel_group (GTK_WINDOW (feather_window), accel_group); return feather_window; } GtkWidget* create_place_objects_window (void) { GtkWidget *place_objects_window; GtkWidget *vbox132; GtkWidget *vbox133; GtkWidget *hbox184; GtkWidget *label198; GtkWidget *object; GtkWidget *object_menu; GtkWidget *glade_menuitem; GtkWidget *table23; GtkWidget *label199; GtkWidget *label200; GtkWidget *label201; GtkWidget *label202; GtkWidget *label203; GtkWidget *label204; GtkWidget *elevation_min; GtkWidget *density; GtkWidget *elevation_max; GtkWidget *variance; GtkWidget *table24; GtkWidget *label205; GtkWidget *label206; GtkWidget *label207; GtkWidget *label208; GtkWidget *scale_x; GtkWidget *variance_x; GtkWidget *scale_y; GtkWidget *variance_y; GtkWidget *scale_z; GtkWidget *variance_z; GtkWidget *label209; GtkWidget *label210; GtkWidget *label211; GtkWidget *label212; GtkWidget *table79; GtkWidget *uniform_scaling; GtkWidget *vary_direction; GtkWidget *decrease_density_bottom; GtkWidget *vary_bottom_edge; GtkWidget *decrease_density_top; GtkWidget *vary_top_edge; GtkWidget *terrain_info; GtkWidget *hseparator45; GtkWidget *new_seed; GtkWidget *hbox183; GtkWidget *seed_label; GtkWidget *seed; GtkWidget *hseparator44; GtkWidget *hbox181; GtkWidget *label196; GtkWidget *hbox182; GtkWidget *ok; GtkWidget *cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); place_objects_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (place_objects_window, "place_objects_window"); gtk_object_set_data (GTK_OBJECT (place_objects_window), "place_objects_window", place_objects_window); gtk_window_set_title (GTK_WINDOW (place_objects_window), _("Place Objects")); vbox132 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox132, "vbox132"); gtk_widget_ref (vbox132); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "vbox132", vbox132, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox132); gtk_container_add (GTK_CONTAINER (place_objects_window), vbox132); vbox133 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox133, "vbox133"); gtk_widget_ref (vbox133); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "vbox133", vbox133, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox133); gtk_box_pack_start (GTK_BOX (vbox132), vbox133, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox133), 8); hbox184 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox184, "hbox184"); gtk_widget_ref (hbox184); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "hbox184", hbox184, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox184); gtk_box_pack_start (GTK_BOX (vbox133), hbox184, FALSE, FALSE, 0); label198 = gtk_label_new (_("Object name")); gtk_widget_set_name (label198, "label198"); gtk_widget_ref (label198); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label198", label198, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label198); gtk_box_pack_start (GTK_BOX (hbox184), label198, FALSE, FALSE, 0); object = gtk_option_menu_new (); gtk_widget_set_name (object, "object"); gtk_widget_ref (object); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "object", object, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (object); gtk_box_pack_start (GTK_BOX (hbox184), object, TRUE, TRUE, 0); object_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("empty")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (object_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (object), object_menu); table23 = gtk_table_new (2, 5, FALSE); gtk_widget_set_name (table23, "table23"); gtk_widget_ref (table23); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "table23", table23, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table23); gtk_box_pack_start (GTK_BOX (vbox133), table23, FALSE, FALSE, 0); gtk_table_set_row_spacings (GTK_TABLE (table23), 4); gtk_table_set_col_spacings (GTK_TABLE (table23), 8); label199 = gtk_label_new (_("Elevation")); gtk_widget_set_name (label199, "label199"); gtk_widget_ref (label199); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label199", label199, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label199); gtk_table_attach (GTK_TABLE (table23), label199, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label200 = gtk_label_new (_("Placement")); gtk_widget_set_name (label200, "label200"); gtk_widget_ref (label200); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label200", label200, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label200); gtk_table_attach (GTK_TABLE (table23), label200, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label201 = gtk_label_new (_("Min")); gtk_widget_set_name (label201, "label201"); gtk_widget_ref (label201); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label201", label201, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label201); gtk_table_attach (GTK_TABLE (table23), label201, 1, 2, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label202 = gtk_label_new (_("Density")); gtk_widget_set_name (label202, "label202"); gtk_widget_ref (label202); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label202", label202, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label202); gtk_table_attach (GTK_TABLE (table23), label202, 1, 2, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label203 = gtk_label_new (_("Max")); gtk_widget_set_name (label203, "label203"); gtk_widget_ref (label203); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label203", label203, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label203); gtk_table_attach (GTK_TABLE (table23), label203, 3, 4, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label204 = gtk_label_new (_("Variance")); gtk_widget_set_name (label204, "label204"); gtk_widget_ref (label204); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label204", label204, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label204); gtk_table_attach (GTK_TABLE (table23), label204, 3, 4, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); elevation_min = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.33, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (elevation_min, "elevation_min"); gtk_widget_ref (elevation_min); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "elevation_min", elevation_min, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (elevation_min); gtk_table_attach (GTK_TABLE (table23), elevation_min, 2, 3, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (elevation_min, 150, -2); gtk_scale_set_digits (GTK_SCALE (elevation_min), 2); density = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0.1, 1, 0.1, 0, 0))); gtk_widget_set_name (density, "density"); gtk_widget_ref (density); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "density", density, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (density); gtk_table_attach (GTK_TABLE (table23), density, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); elevation_max = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.66, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (elevation_max, "elevation_max"); gtk_widget_ref (elevation_max); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "elevation_max", elevation_max, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (elevation_max); gtk_table_attach (GTK_TABLE (table23), elevation_max, 4, 5, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (elevation_max, 150, -2); gtk_scale_set_digits (GTK_SCALE (elevation_max), 2); variance = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.8, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (variance, "variance"); gtk_widget_ref (variance); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "variance", variance, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (variance); gtk_table_attach (GTK_TABLE (table23), variance, 4, 5, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); table24 = gtk_table_new (2, 7, FALSE); gtk_widget_set_name (table24, "table24"); gtk_widget_ref (table24); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "table24", table24, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table24); gtk_box_pack_start (GTK_BOX (vbox133), table24, FALSE, FALSE, 0); gtk_table_set_row_spacings (GTK_TABLE (table24), 4); gtk_table_set_col_spacings (GTK_TABLE (table24), 8); label205 = gtk_label_new (_("Object scale")); gtk_widget_set_name (label205, "label205"); gtk_widget_ref (label205); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label205", label205, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label205); gtk_table_attach (GTK_TABLE (table24), label205, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label206 = gtk_label_new (_("Variance")); gtk_widget_set_name (label206, "label206"); gtk_widget_ref (label206); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label206", label206, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label206); gtk_table_attach (GTK_TABLE (table24), label206, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label207 = gtk_label_new (_("X")); gtk_widget_set_name (label207, "label207"); gtk_widget_ref (label207); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label207", label207, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label207); gtk_table_attach (GTK_TABLE (table24), label207, 1, 2, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label208 = gtk_label_new (_("X")); gtk_widget_set_name (label208, "label208"); gtk_widget_ref (label208); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label208", label208, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label208); gtk_table_attach (GTK_TABLE (table24), label208, 1, 2, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); scale_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 100, 1, 0, 0))); gtk_widget_set_name (scale_x, "scale_x"); gtk_widget_ref (scale_x); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "scale_x", scale_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale_x); gtk_table_attach (GTK_TABLE (table24), scale_x, 2, 3, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (scale_x), 0); variance_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.2, 0, 1, 0.1, 0, 0))); gtk_widget_set_name (variance_x, "variance_x"); gtk_widget_ref (variance_x); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "variance_x", variance_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (variance_x); gtk_table_attach (GTK_TABLE (table24), variance_x, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); scale_y = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 100, 1, 0, 0))); gtk_widget_set_name (scale_y, "scale_y"); gtk_widget_ref (scale_y); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "scale_y", scale_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale_y); gtk_table_attach (GTK_TABLE (table24), scale_y, 4, 5, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (scale_y), 0); variance_y = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.2, 0, 1, 0.1, 0, 0))); gtk_widget_set_name (variance_y, "variance_y"); gtk_widget_ref (variance_y); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "variance_y", variance_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (variance_y); gtk_table_attach (GTK_TABLE (table24), variance_y, 4, 5, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); scale_z = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 100, 1, 0, 0))); gtk_widget_set_name (scale_z, "scale_z"); gtk_widget_ref (scale_z); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "scale_z", scale_z, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale_z); gtk_table_attach (GTK_TABLE (table24), scale_z, 6, 7, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (scale_z), 0); variance_z = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.2, 0, 1, 0.1, 0, 0))); gtk_widget_set_name (variance_z, "variance_z"); gtk_widget_ref (variance_z); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "variance_z", variance_z, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (variance_z); gtk_table_attach (GTK_TABLE (table24), variance_z, 6, 7, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label209 = gtk_label_new (_("Y")); gtk_widget_set_name (label209, "label209"); gtk_widget_ref (label209); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label209", label209, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label209); gtk_table_attach (GTK_TABLE (table24), label209, 3, 4, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label210 = gtk_label_new (_("Y")); gtk_widget_set_name (label210, "label210"); gtk_widget_ref (label210); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label210", label210, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label210); gtk_table_attach (GTK_TABLE (table24), label210, 3, 4, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label211 = gtk_label_new (_("Z")); gtk_widget_set_name (label211, "label211"); gtk_widget_ref (label211); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label211", label211, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label211); gtk_table_attach (GTK_TABLE (table24), label211, 5, 6, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label212 = gtk_label_new (_("Z")); gtk_widget_set_name (label212, "label212"); gtk_widget_ref (label212); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label212", label212, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label212); gtk_table_attach (GTK_TABLE (table24), label212, 5, 6, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); table79 = gtk_table_new (3, 2, TRUE); gtk_widget_set_name (table79, "table79"); gtk_widget_ref (table79); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "table79", table79, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table79); gtk_box_pack_start (GTK_BOX (vbox133), table79, TRUE, TRUE, 0); uniform_scaling = gtk_check_button_new_with_label (_("Vary object size uniformly")); gtk_widget_set_name (uniform_scaling, "uniform_scaling"); gtk_widget_ref (uniform_scaling); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "uniform_scaling", uniform_scaling, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (uniform_scaling); gtk_table_attach (GTK_TABLE (table79), uniform_scaling, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (uniform_scaling), TRUE); vary_direction = gtk_check_button_new_with_label (_("Vary the direction of placed objects")); gtk_widget_set_name (vary_direction, "vary_direction"); gtk_widget_ref (vary_direction); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "vary_direction", vary_direction, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vary_direction); gtk_table_attach (GTK_TABLE (table79), vary_direction, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (vary_direction), TRUE); decrease_density_bottom = gtk_check_button_new_with_label (_("Decrease Placement Density Bottom")); gtk_widget_set_name (decrease_density_bottom, "decrease_density_bottom"); gtk_widget_ref (decrease_density_bottom); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "decrease_density_bottom", decrease_density_bottom, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (decrease_density_bottom); gtk_table_attach (GTK_TABLE (table79), decrease_density_bottom, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (decrease_density_bottom), TRUE); vary_bottom_edge = gtk_check_button_new_with_label (_("Vary Bottom Placement Edge")); gtk_widget_set_name (vary_bottom_edge, "vary_bottom_edge"); gtk_widget_ref (vary_bottom_edge); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "vary_bottom_edge", vary_bottom_edge, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vary_bottom_edge); gtk_table_attach (GTK_TABLE (table79), vary_bottom_edge, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (vary_bottom_edge), TRUE); decrease_density_top = gtk_check_button_new_with_label (_("Decrease Placement Density Top")); gtk_widget_set_name (decrease_density_top, "decrease_density_top"); gtk_widget_ref (decrease_density_top); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "decrease_density_top", decrease_density_top, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (decrease_density_top); gtk_table_attach (GTK_TABLE (table79), decrease_density_top, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (decrease_density_top), TRUE); vary_top_edge = gtk_check_button_new_with_label (_("Vary Top Placement Edge")); gtk_widget_set_name (vary_top_edge, "vary_top_edge"); gtk_widget_ref (vary_top_edge); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "vary_top_edge", vary_top_edge, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vary_top_edge); gtk_table_attach (GTK_TABLE (table79), vary_top_edge, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (vary_top_edge), TRUE); terrain_info = gtk_label_new (_("The terrain size is (%i,%i,%i)")); gtk_widget_set_name (terrain_info, "terrain_info"); gtk_widget_ref (terrain_info); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "terrain_info", terrain_info, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain_info); gtk_box_pack_start (GTK_BOX (vbox133), terrain_info, FALSE, FALSE, 0); hseparator45 = gtk_hseparator_new (); gtk_widget_set_name (hseparator45, "hseparator45"); gtk_widget_ref (hseparator45); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "hseparator45", hseparator45, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator45); gtk_box_pack_start (GTK_BOX (vbox133), hseparator45, FALSE, FALSE, 0); new_seed = gtk_check_button_new_with_label (_("Generate new seed")); gtk_widget_set_name (new_seed, "new_seed"); gtk_widget_ref (new_seed); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "new_seed", new_seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (new_seed); gtk_box_pack_start (GTK_BOX (vbox133), new_seed, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_seed), TRUE); hbox183 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox183, "hbox183"); gtk_widget_ref (hbox183); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "hbox183", hbox183, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox183); gtk_box_pack_start (GTK_BOX (vbox133), hbox183, TRUE, TRUE, 0); seed_label = gtk_label_new (_("Specify seed")); gtk_widget_set_name (seed_label, "seed_label"); gtk_widget_ref (seed_label); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "seed_label", seed_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed_label); gtk_box_pack_start (GTK_BOX (hbox183), seed_label, FALSE, FALSE, 0); gtk_widget_set_sensitive (seed_label, FALSE); seed = gtk_entry_new (); gtk_widget_set_name (seed, "seed"); gtk_widget_ref (seed); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "seed", seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed); gtk_box_pack_start (GTK_BOX (hbox183), seed, TRUE, TRUE, 0); gtk_widget_set_sensitive (seed, FALSE); gtk_entry_set_text (GTK_ENTRY (seed), _("0")); hseparator44 = gtk_hseparator_new (); gtk_widget_set_name (hseparator44, "hseparator44"); gtk_widget_ref (hseparator44); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "hseparator44", hseparator44, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator44); gtk_box_pack_start (GTK_BOX (vbox132), hseparator44, FALSE, FALSE, 0); hbox181 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox181, "hbox181"); gtk_widget_ref (hbox181); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "hbox181", hbox181, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox181); gtk_box_pack_start (GTK_BOX (vbox132), hbox181, FALSE, FALSE, 0); label196 = gtk_label_new (""); gtk_widget_set_name (label196, "label196"); gtk_widget_ref (label196); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "label196", label196, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label196); gtk_box_pack_start (GTK_BOX (hbox181), label196, TRUE, TRUE, 0); hbox182 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox182, "hbox182"); gtk_widget_ref (hbox182); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "hbox182", hbox182, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox182); gtk_box_pack_start (GTK_BOX (hbox181), hbox182, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox182), 8); ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (ok, "ok"); gtk_widget_ref (ok); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "ok", ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok); gtk_box_pack_start (GTK_BOX (hbox182), ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (place_objects_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox182), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (new_seed), "toggled", GTK_SIGNAL_FUNC (on_generic_new_seed_toggled), NULL); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (on_place_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); gtk_window_add_accel_group (GTK_WINDOW (place_objects_window), accel_group); return place_objects_window; } GtkWidget* create_transform_window (void) { GtkWidget *transform_window; GtkWidget *vbox134; GtkWidget *hbox185; GtkWidget *frame82; GtkWidget *vbox135; GtkWidget *hbox186; GtkWidget *frame83; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame84; GtkWidget *table25; GtkWidget *label216; GtkWidget *sea_threshold; GtkWidget *label217; GtkWidget *sea_depth; GtkWidget *label215; GtkWidget *below_power; GtkWidget *label213; GtkWidget *above_power; GtkWidget *label218; GtkWidget *sea_dropoff; GtkWidget *frame85; GtkWidget *vbox136; GtkWidget *frame86; GtkWidget *transfer_function; GtkWidget *hseparator46; GtkWidget *hbox188; GtkWidget *label214; GtkWidget *hbox189; GtkWidget *ok; GtkWidget *cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); transform_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (transform_window, "transform_window"); gtk_object_set_data (GTK_OBJECT (transform_window), "transform_window", transform_window); gtk_window_set_title (GTK_WINDOW (transform_window), _("Transform")); vbox134 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox134, "vbox134"); gtk_widget_ref (vbox134); gtk_object_set_data_full (GTK_OBJECT (transform_window), "vbox134", vbox134, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox134); gtk_container_add (GTK_CONTAINER (transform_window), vbox134); hbox185 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox185, "hbox185"); gtk_widget_ref (hbox185); gtk_object_set_data_full (GTK_OBJECT (transform_window), "hbox185", hbox185, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox185); gtk_box_pack_start (GTK_BOX (vbox134), hbox185, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox185), 8); frame82 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame82, "frame82"); gtk_widget_ref (frame82); gtk_object_set_data_full (GTK_OBJECT (transform_window), "frame82", frame82, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame82); gtk_box_pack_start (GTK_BOX (hbox185), frame82, FALSE, FALSE, 0); vbox135 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox135, "vbox135"); gtk_widget_ref (vbox135); gtk_object_set_data_full (GTK_OBJECT (transform_window), "vbox135", vbox135, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox135); gtk_container_add (GTK_CONTAINER (frame82), vbox135); hbox186 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox186, "hbox186"); gtk_widget_ref (hbox186); gtk_object_set_data_full (GTK_OBJECT (transform_window), "hbox186", hbox186, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox186); gtk_box_pack_start (GTK_BOX (vbox135), hbox186, FALSE, FALSE, 0); frame83 = gtk_frame_new (NULL); gtk_widget_set_name (frame83, "frame83"); gtk_widget_ref (frame83); gtk_object_set_data_full (GTK_OBJECT (transform_window), "frame83", frame83, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame83); gtk_box_pack_start (GTK_BOX (hbox186), frame83, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame83), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (transform_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame83), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (transform_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox135), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame84 = gtk_frame_new (_("Parameters")); gtk_widget_set_name (frame84, "frame84"); gtk_widget_ref (frame84); gtk_object_set_data_full (GTK_OBJECT (transform_window), "frame84", frame84, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame84); gtk_box_pack_start (GTK_BOX (hbox185), frame84, TRUE, TRUE, 0); table25 = gtk_table_new (5, 2, FALSE); gtk_widget_set_name (table25, "table25"); gtk_widget_ref (table25); gtk_object_set_data_full (GTK_OBJECT (transform_window), "table25", table25, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table25); gtk_container_add (GTK_CONTAINER (frame84), table25); gtk_container_set_border_width (GTK_CONTAINER (table25), 8); gtk_table_set_row_spacings (GTK_TABLE (table25), 4); gtk_table_set_col_spacings (GTK_TABLE (table25), 8); label216 = gtk_label_new (_("Sea threshold")); gtk_widget_set_name (label216, "label216"); gtk_widget_ref (label216); gtk_object_set_data_full (GTK_OBJECT (transform_window), "label216", label216, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label216); gtk_table_attach (GTK_TABLE (table25), label216, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); sea_threshold = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.33, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (sea_threshold, "sea_threshold"); gtk_widget_ref (sea_threshold); gtk_object_set_data_full (GTK_OBJECT (transform_window), "sea_threshold", sea_threshold, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (sea_threshold); gtk_table_attach (GTK_TABLE (table25), sea_threshold, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (sea_threshold), 2); label217 = gtk_label_new (_("Sea depth")); gtk_widget_set_name (label217, "label217"); gtk_widget_ref (label217); gtk_object_set_data_full (GTK_OBJECT (transform_window), "label217", label217, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label217); gtk_table_attach (GTK_TABLE (table25), label217, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); sea_depth = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.33, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (sea_depth, "sea_depth"); gtk_widget_ref (sea_depth); gtk_object_set_data_full (GTK_OBJECT (transform_window), "sea_depth", sea_depth, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (sea_depth); gtk_table_attach (GTK_TABLE (table25), sea_depth, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (sea_depth), 2); label215 = gtk_label_new (_("Power factor (below sealevel)")); gtk_widget_set_name (label215, "label215"); gtk_widget_ref (label215); gtk_object_set_data_full (GTK_OBJECT (transform_window), "label215", label215, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label215); gtk_table_attach (GTK_TABLE (table25), label215, 0, 1, 4, 5, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); below_power = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (4, 0.05, 5, 0.01, 0, 0))); gtk_widget_set_name (below_power, "below_power"); gtk_widget_ref (below_power); gtk_object_set_data_full (GTK_OBJECT (transform_window), "below_power", below_power, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (below_power); gtk_table_attach (GTK_TABLE (table25), below_power, 1, 2, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (below_power, 150, -2); gtk_scale_set_digits (GTK_SCALE (below_power), 2); label213 = gtk_label_new (_("Power factor (above sealevel)")); gtk_widget_set_name (label213, "label213"); gtk_widget_ref (label213); gtk_object_set_data_full (GTK_OBJECT (transform_window), "label213", label213, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label213); gtk_table_attach (GTK_TABLE (table25), label213, 0, 1, 3, 4, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); above_power = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1.5, 0.05, 5, 0.01, 0, 0))); gtk_widget_set_name (above_power, "above_power"); gtk_widget_ref (above_power); gtk_object_set_data_full (GTK_OBJECT (transform_window), "above_power", above_power, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (above_power); gtk_table_attach (GTK_TABLE (table25), above_power, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (above_power, 150, -2); gtk_scale_set_digits (GTK_SCALE (above_power), 2); label218 = gtk_label_new (_("Sea drop-off")); gtk_widget_set_name (label218, "label218"); gtk_widget_ref (label218); gtk_object_set_data_full (GTK_OBJECT (transform_window), "label218", label218, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label218); gtk_table_attach (GTK_TABLE (table25), label218, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); sea_dropoff = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.75, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (sea_dropoff, "sea_dropoff"); gtk_widget_ref (sea_dropoff); gtk_object_set_data_full (GTK_OBJECT (transform_window), "sea_dropoff", sea_dropoff, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (sea_dropoff); gtk_table_attach (GTK_TABLE (table25), sea_dropoff, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (sea_dropoff), 2); frame85 = gtk_frame_new (_("Transfer Function")); gtk_widget_set_name (frame85, "frame85"); gtk_widget_ref (frame85); gtk_object_set_data_full (GTK_OBJECT (transform_window), "frame85", frame85, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame85); gtk_box_pack_start (GTK_BOX (hbox185), frame85, FALSE, FALSE, 0); vbox136 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox136, "vbox136"); gtk_widget_ref (vbox136); gtk_object_set_data_full (GTK_OBJECT (transform_window), "vbox136", vbox136, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox136); gtk_container_add (GTK_CONTAINER (frame85), vbox136); gtk_container_set_border_width (GTK_CONTAINER (vbox136), 4); frame86 = gtk_frame_new (NULL); gtk_widget_set_name (frame86, "frame86"); gtk_widget_ref (frame86); gtk_object_set_data_full (GTK_OBJECT (transform_window), "frame86", frame86, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame86); gtk_box_pack_start (GTK_BOX (vbox136), frame86, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame86), GTK_SHADOW_IN); transfer_function = create_transfer_function ("transfer_function", NULL, NULL, 0, 0); gtk_widget_set_name (transfer_function, "transfer_function"); gtk_widget_ref (transfer_function); gtk_object_set_data_full (GTK_OBJECT (transform_window), "transfer_function", transfer_function, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (transfer_function); gtk_container_add (GTK_CONTAINER (frame86), transfer_function); gtk_widget_set_usize (transfer_function, 250, 102); GTK_WIDGET_UNSET_FLAGS (transfer_function, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (transfer_function, GTK_CAN_DEFAULT); hseparator46 = gtk_hseparator_new (); gtk_widget_set_name (hseparator46, "hseparator46"); gtk_widget_ref (hseparator46); gtk_object_set_data_full (GTK_OBJECT (transform_window), "hseparator46", hseparator46, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator46); gtk_box_pack_start (GTK_BOX (vbox134), hseparator46, FALSE, FALSE, 0); hbox188 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox188, "hbox188"); gtk_widget_ref (hbox188); gtk_object_set_data_full (GTK_OBJECT (transform_window), "hbox188", hbox188, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox188); gtk_box_pack_start (GTK_BOX (vbox134), hbox188, FALSE, FALSE, 0); label214 = gtk_label_new (""); gtk_widget_set_name (label214, "label214"); gtk_widget_ref (label214); gtk_object_set_data_full (GTK_OBJECT (transform_window), "label214", label214, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label214); gtk_box_pack_start (GTK_BOX (hbox188), label214, TRUE, TRUE, 0); hbox189 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox189, "hbox189"); gtk_widget_ref (hbox189); gtk_object_set_data_full (GTK_OBJECT (transform_window), "hbox189", hbox189, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox189); gtk_box_pack_start (GTK_BOX (hbox188), hbox189, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox189), 8); ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (ok, "ok"); gtk_widget_ref (ok); gtk_object_set_data_full (GTK_OBJECT (transform_window), "ok", ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok); gtk_box_pack_start (GTK_BOX (hbox189), ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (transform_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox189), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (transfer_function), "realize", GTK_SIGNAL_FUNC (on_transfer_function_realize), NULL); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); gtk_window_add_accel_group (GTK_WINDOW (transform_window), accel_group); return transform_window; } GtkWidget* create_error_window (void) { GtkWidget *error_window; GtkWidget *vbox138; GtkWidget *error_label; GtkWidget *hseparator47; GtkWidget *hbox190; GtkWidget *label219; GtkWidget *button1; error_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (error_window, "error_window"); gtk_object_set_data (GTK_OBJECT (error_window), "error_window", error_window); gtk_window_set_title (GTK_WINDOW (error_window), _("Error")); gtk_window_set_modal (GTK_WINDOW (error_window), TRUE); gtk_window_set_policy (GTK_WINDOW (error_window), FALSE, FALSE, FALSE); vbox138 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox138, "vbox138"); gtk_widget_ref (vbox138); gtk_object_set_data_full (GTK_OBJECT (error_window), "vbox138", vbox138, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox138); gtk_container_add (GTK_CONTAINER (error_window), vbox138); error_label = gtk_label_new (_("error text")); gtk_widget_set_name (error_label, "error_label"); gtk_widget_ref (error_label); gtk_object_set_data_full (GTK_OBJECT (error_window), "error_label", error_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (error_label); gtk_box_pack_start (GTK_BOX (vbox138), error_label, TRUE, TRUE, 0); gtk_label_set_line_wrap (GTK_LABEL (error_label), TRUE); gtk_misc_set_padding (GTK_MISC (error_label), 8, 8); hseparator47 = gtk_hseparator_new (); gtk_widget_set_name (hseparator47, "hseparator47"); gtk_widget_ref (hseparator47); gtk_object_set_data_full (GTK_OBJECT (error_window), "hseparator47", hseparator47, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator47); gtk_box_pack_start (GTK_BOX (vbox138), hseparator47, FALSE, FALSE, 8); hbox190 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox190, "hbox190"); gtk_widget_ref (hbox190); gtk_object_set_data_full (GTK_OBJECT (error_window), "hbox190", hbox190, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox190); gtk_box_pack_start (GTK_BOX (vbox138), hbox190, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox190), 8); label219 = gtk_label_new (""); gtk_widget_set_name (label219, "label219"); gtk_widget_ref (label219); gtk_object_set_data_full (GTK_OBJECT (error_window), "label219", label219, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label219); gtk_box_pack_start (GTK_BOX (hbox190), label219, TRUE, TRUE, 0); button1 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button1, "button1"); gtk_widget_ref (button1); gtk_object_set_data_full (GTK_OBJECT (error_window), "button1", button1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button1); gtk_box_pack_start (GTK_BOX (hbox190), button1, FALSE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (button1), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (button1); return error_window; } GtkWidget* create_file_options_window (void) { GtkWidget *file_options_window; GtkWidget *file_options; GtkWidget *label222; GtkWidget *type_menu; GtkWidget *type_menu_menu; file_options_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (file_options_window, "file_options_window"); gtk_object_set_data (GTK_OBJECT (file_options_window), "file_options_window", file_options_window); gtk_window_set_title (GTK_WINDOW (file_options_window), _("File Options")); file_options = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (file_options, "file_options"); gtk_widget_ref (file_options); gtk_object_set_data_full (GTK_OBJECT (file_options_window), "file_options", file_options, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (file_options); gtk_container_add (GTK_CONTAINER (file_options_window), file_options); label222 = gtk_label_new (_("File type:")); gtk_widget_set_name (label222, "label222"); gtk_widget_ref (label222); gtk_object_set_data_full (GTK_OBJECT (file_options_window), "label222", label222, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label222); gtk_box_pack_start (GTK_BOX (file_options), label222, FALSE, FALSE, 0); type_menu = gtk_option_menu_new (); gtk_widget_set_name (type_menu, "type_menu"); gtk_widget_ref (type_menu); gtk_object_set_data_full (GTK_OBJECT (file_options_window), "type_menu", type_menu, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (type_menu); gtk_box_pack_start (GTK_BOX (file_options), type_menu, TRUE, TRUE, 0); type_menu_menu = gtk_menu_new (); gtk_option_menu_set_menu (GTK_OPTION_MENU (type_menu), type_menu_menu); return file_options_window; } GtkWidget* create_export_view_window (void) { GtkWidget *export_view_window; GtkWidget *export_view_ok; GtkWidget *export_view_cancel; export_view_window = gtk_file_selection_new (_("Export View")); gtk_widget_set_name (export_view_window, "export_view_window"); gtk_object_set_data (GTK_OBJECT (export_view_window), "export_view_window", export_view_window); gtk_container_set_border_width (GTK_CONTAINER (export_view_window), 10); export_view_ok = GTK_FILE_SELECTION (export_view_window)->ok_button; gtk_widget_set_name (export_view_ok, "export_view_ok"); gtk_object_set_data (GTK_OBJECT (export_view_window), "export_view_ok", export_view_ok); gtk_widget_show (export_view_ok); GTK_WIDGET_SET_FLAGS (export_view_ok, GTK_CAN_DEFAULT); export_view_cancel = GTK_FILE_SELECTION (export_view_window)->cancel_button; gtk_widget_set_name (export_view_cancel, "export_view_cancel"); gtk_object_set_data (GTK_OBJECT (export_view_window), "export_view_cancel", export_view_cancel); gtk_widget_show (export_view_cancel); GTK_WIDGET_SET_FLAGS (export_view_cancel, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (export_view_ok), "clicked", GTK_SIGNAL_FUNC (on_export_view_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (export_view_cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); return export_view_window; } GtkWidget* create_chooser_window (void) { GtkWidget *chooser_window; GtkWidget *vbox139; GtkWidget *table26; GtkWidget *terrain1; GtkWidget *terrain2; GtkWidget *terrain3; GtkWidget *terrain4; GtkWidget *terrain5; GtkWidget *terrain6; GtkWidget *terrain7; GtkWidget *terrain8; GtkWidget *terrain9; GtkWidget *hseparator48; GtkWidget *hbox195; GtkWidget *label223; GtkWidget *hbox196; GtkWidget *randomize; GtkWidget *cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); chooser_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (chooser_window, "chooser_window"); gtk_object_set_data (GTK_OBJECT (chooser_window), "chooser_window", chooser_window); gtk_window_set_title (GTK_WINDOW (chooser_window), _("Choose Terrain")); vbox139 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox139, "vbox139"); gtk_widget_ref (vbox139); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "vbox139", vbox139, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox139); gtk_container_add (GTK_CONTAINER (chooser_window), vbox139); table26 = gtk_table_new (3, 3, FALSE); gtk_widget_set_name (table26, "table26"); gtk_widget_ref (table26); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "table26", table26, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table26); gtk_box_pack_start (GTK_BOX (vbox139), table26, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table26), 8); gtk_table_set_row_spacings (GTK_TABLE (table26), 8); gtk_table_set_col_spacings (GTK_TABLE (table26), 8); terrain1 = create_choose_terrain ("terrain1", NULL, NULL, 0, 0); gtk_widget_set_name (terrain1, "terrain1"); gtk_widget_ref (terrain1); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "terrain1", terrain1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain1); gtk_table_attach (GTK_TABLE (table26), terrain1, 0, 1, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); gtk_widget_set_usize (terrain1, 100, 100); GTK_WIDGET_SET_FLAGS (terrain1, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (terrain1, GTK_CAN_DEFAULT); terrain2 = create_choose_terrain ("terrain2", NULL, NULL, 0, 0); gtk_widget_set_name (terrain2, "terrain2"); gtk_widget_ref (terrain2); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "terrain2", terrain2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain2); gtk_table_attach (GTK_TABLE (table26), terrain2, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (terrain2, 100, 100); GTK_WIDGET_SET_FLAGS (terrain2, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (terrain2, GTK_CAN_DEFAULT); terrain3 = create_choose_terrain ("terrain3", NULL, NULL, 0, 0); gtk_widget_set_name (terrain3, "terrain3"); gtk_widget_ref (terrain3); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "terrain3", terrain3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain3); gtk_table_attach (GTK_TABLE (table26), terrain3, 2, 3, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (terrain3, 100, 100); GTK_WIDGET_SET_FLAGS (terrain3, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (terrain3, GTK_CAN_DEFAULT); terrain4 = create_choose_terrain ("terrain4", NULL, NULL, 0, 0); gtk_widget_set_name (terrain4, "terrain4"); gtk_widget_ref (terrain4); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "terrain4", terrain4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain4); gtk_table_attach (GTK_TABLE (table26), terrain4, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); gtk_widget_set_usize (terrain4, 100, 100); GTK_WIDGET_SET_FLAGS (terrain4, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (terrain4, GTK_CAN_DEFAULT); terrain5 = create_choose_terrain ("terrain5", NULL, NULL, 0, 0); gtk_widget_set_name (terrain5, "terrain5"); gtk_widget_ref (terrain5); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "terrain5", terrain5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain5); gtk_table_attach (GTK_TABLE (table26), terrain5, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (terrain5, 100, 100); GTK_WIDGET_SET_FLAGS (terrain5, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (terrain5, GTK_CAN_DEFAULT); terrain6 = create_choose_terrain ("terrain6", NULL, NULL, 0, 0); gtk_widget_set_name (terrain6, "terrain6"); gtk_widget_ref (terrain6); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "terrain6", terrain6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain6); gtk_table_attach (GTK_TABLE (table26), terrain6, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (terrain6, 100, 100); GTK_WIDGET_SET_FLAGS (terrain6, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (terrain6, GTK_CAN_DEFAULT); terrain7 = create_choose_terrain ("terrain7", NULL, NULL, 0, 0); gtk_widget_set_name (terrain7, "terrain7"); gtk_widget_ref (terrain7); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "terrain7", terrain7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain7); gtk_table_attach (GTK_TABLE (table26), terrain7, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); gtk_widget_set_usize (terrain7, 100, 100); GTK_WIDGET_SET_FLAGS (terrain7, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (terrain7, GTK_CAN_DEFAULT); terrain8 = create_choose_terrain ("terrain8", NULL, NULL, 0, 0); gtk_widget_set_name (terrain8, "terrain8"); gtk_widget_ref (terrain8); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "terrain8", terrain8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain8); gtk_table_attach (GTK_TABLE (table26), terrain8, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (terrain8, 100, 100); GTK_WIDGET_SET_FLAGS (terrain8, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (terrain8, GTK_CAN_DEFAULT); terrain9 = create_choose_terrain ("terrain9", NULL, NULL, 0, 0); gtk_widget_set_name (terrain9, "terrain9"); gtk_widget_ref (terrain9); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "terrain9", terrain9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (terrain9); gtk_table_attach (GTK_TABLE (table26), terrain9, 2, 3, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (terrain9, 100, 100); GTK_WIDGET_SET_FLAGS (terrain9, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (terrain9, GTK_CAN_DEFAULT); hseparator48 = gtk_hseparator_new (); gtk_widget_set_name (hseparator48, "hseparator48"); gtk_widget_ref (hseparator48); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "hseparator48", hseparator48, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator48); gtk_box_pack_start (GTK_BOX (vbox139), hseparator48, FALSE, FALSE, 0); hbox195 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox195, "hbox195"); gtk_widget_ref (hbox195); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "hbox195", hbox195, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox195); gtk_box_pack_start (GTK_BOX (vbox139), hbox195, FALSE, FALSE, 0); label223 = gtk_label_new (""); gtk_widget_set_name (label223, "label223"); gtk_widget_ref (label223); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "label223", label223, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label223); gtk_box_pack_start (GTK_BOX (hbox195), label223, TRUE, TRUE, 0); hbox196 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox196, "hbox196"); gtk_widget_ref (hbox196); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "hbox196", hbox196, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox196); gtk_box_pack_start (GTK_BOX (hbox195), hbox196, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox196), 8); randomize = create_randomize ("randomize", NULL, NULL, 0, 0); gtk_widget_set_name (randomize, "randomize"); gtk_widget_ref (randomize); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "randomize", randomize, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (randomize); gtk_box_pack_start (GTK_BOX (hbox196), randomize, FALSE, FALSE, 0); GTK_WIDGET_SET_FLAGS (randomize, GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS (randomize, GTK_CAN_DEFAULT); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CLOSE); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (chooser_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox196), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); gtk_window_add_accel_group (GTK_WINDOW (chooser_window), accel_group); return chooser_window; } GtkWidget* create_faulting_window (void) { GtkWidget *faulting_window; GtkWidget *vbox140; GtkWidget *sub_parameters; GtkWidget *vbox141; GtkWidget *vbox142; GtkWidget *hbox198; GtkWidget *label226; GtkWidget *fault_method; GtkWidget *fault_method_menu; GtkWidget *glade_menuitem; GtkWidget *hbox199; GtkWidget *label227; GtkObject *fault_size_adj; GtkWidget *fault_size; GtkWidget *hbox204; GtkWidget *label231; GtkObject *fault_iterations_adj; GtkWidget *fault_iterations; GtkWidget *hbox200; GtkWidget *label228; GtkObject *fault_scale_factor_adj; GtkWidget *fault_scale_factor; GtkWidget *hbox205; GtkWidget *fault_cycles_label; GtkObject *fault_cycles_adj; GtkWidget *fault_cycles; GtkWidget *hbox246; GtkWidget *constant_size_label; GtkWidget *constant_size; GtkWidget *hseparator49; GtkWidget *vbox143; GtkWidget *new_seed; GtkWidget *hbox201; GtkWidget *seed_label; GtkWidget *seed; GtkWidget *hseparator50; GtkWidget *hbox202; GtkWidget *label230; GtkWidget *hbox203; GtkWidget *generate; GtkWidget *cancel; faulting_window = gtk_window_new (GTK_WINDOW_DIALOG); gtk_widget_set_name (faulting_window, "faulting_window"); gtk_object_set_data (GTK_OBJECT (faulting_window), "faulting_window", faulting_window); gtk_window_set_title (GTK_WINDOW (faulting_window), _("Faulting Synthesis")); gtk_window_set_modal (GTK_WINDOW (faulting_window), TRUE); vbox140 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox140, "vbox140"); gtk_widget_ref (vbox140); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "vbox140", vbox140, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox140); gtk_container_add (GTK_CONTAINER (faulting_window), vbox140); sub_parameters = gtk_frame_new (_("Parameters")); gtk_widget_set_name (sub_parameters, "sub_parameters"); gtk_widget_ref (sub_parameters); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "sub_parameters", sub_parameters, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (sub_parameters); gtk_box_pack_start (GTK_BOX (vbox140), sub_parameters, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (sub_parameters), 8); vbox141 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox141, "vbox141"); gtk_widget_ref (vbox141); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "vbox141", vbox141, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox141); gtk_container_add (GTK_CONTAINER (sub_parameters), vbox141); vbox142 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox142, "vbox142"); gtk_widget_ref (vbox142); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "vbox142", vbox142, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox142); gtk_box_pack_start (GTK_BOX (vbox141), vbox142, TRUE, TRUE, 0); hbox198 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox198, "hbox198"); gtk_widget_ref (hbox198); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hbox198", hbox198, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox198); gtk_box_pack_start (GTK_BOX (vbox142), hbox198, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox198), 8); label226 = gtk_label_new (_("Faulting Method")); gtk_widget_set_name (label226, "label226"); gtk_widget_ref (label226); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "label226", label226, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label226); gtk_box_pack_start (GTK_BOX (hbox198), label226, FALSE, FALSE, 0); fault_method = gtk_option_menu_new (); gtk_widget_set_name (fault_method, "fault_method"); gtk_widget_ref (fault_method); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "fault_method", fault_method, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fault_method); gtk_box_pack_start (GTK_BOX (hbox198), fault_method, TRUE, TRUE, 0); fault_method_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("Line")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fault_method_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("sin Line")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fault_method_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("cos Line")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fault_method_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Circles")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fault_method_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Squares")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fault_method_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("Particles")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (fault_method_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (fault_method), fault_method_menu); hbox199 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox199, "hbox199"); gtk_widget_ref (hbox199); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hbox199", hbox199, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox199); gtk_box_pack_start (GTK_BOX (vbox142), hbox199, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox199), 8); label227 = gtk_label_new (_("Size")); gtk_widget_set_name (label227, "label227"); gtk_widget_ref (label227); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "label227", label227, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label227); gtk_box_pack_start (GTK_BOX (hbox199), label227, FALSE, FALSE, 0); fault_size_adj = gtk_adjustment_new (400, 10, 2000, 1, 10, 10); fault_size = gtk_spin_button_new (GTK_ADJUSTMENT (fault_size_adj), 1, 0); gtk_widget_set_name (fault_size, "fault_size"); gtk_widget_ref (fault_size); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "fault_size", fault_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fault_size); gtk_box_pack_start (GTK_BOX (hbox199), fault_size, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (fault_size), TRUE); hbox204 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox204, "hbox204"); gtk_widget_ref (hbox204); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hbox204", hbox204, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox204); gtk_box_pack_start (GTK_BOX (vbox142), hbox204, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox204), 8); label231 = gtk_label_new (_("Iterations")); gtk_widget_set_name (label231, "label231"); gtk_widget_ref (label231); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "label231", label231, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label231); gtk_box_pack_start (GTK_BOX (hbox204), label231, FALSE, FALSE, 0); fault_iterations_adj = gtk_adjustment_new (1000, 10, 5000, 1, 10, 10); fault_iterations = gtk_spin_button_new (GTK_ADJUSTMENT (fault_iterations_adj), 1, 0); gtk_widget_set_name (fault_iterations, "fault_iterations"); gtk_widget_ref (fault_iterations); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "fault_iterations", fault_iterations, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fault_iterations); gtk_box_pack_start (GTK_BOX (hbox204), fault_iterations, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (fault_iterations), TRUE); hbox200 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox200, "hbox200"); gtk_widget_ref (hbox200); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hbox200", hbox200, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox200); gtk_box_pack_start (GTK_BOX (vbox142), hbox200, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox200), 8); label228 = gtk_label_new (_("Scale Factor")); gtk_widget_set_name (label228, "label228"); gtk_widget_ref (label228); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "label228", label228, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label228); gtk_box_pack_start (GTK_BOX (hbox200), label228, FALSE, FALSE, 0); fault_scale_factor_adj = gtk_adjustment_new (0.5, 0.01, 1, 0.01, 10, 10); fault_scale_factor = gtk_spin_button_new (GTK_ADJUSTMENT (fault_scale_factor_adj), 1, 2); gtk_widget_set_name (fault_scale_factor, "fault_scale_factor"); gtk_widget_ref (fault_scale_factor); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "fault_scale_factor", fault_scale_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fault_scale_factor); gtk_box_pack_start (GTK_BOX (hbox200), fault_scale_factor, TRUE, TRUE, 0); hbox205 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox205, "hbox205"); gtk_widget_ref (hbox205); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hbox205", hbox205, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox205); gtk_box_pack_start (GTK_BOX (vbox142), hbox205, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox205), 8); fault_cycles_label = gtk_label_new (_("Cycles")); gtk_widget_set_name (fault_cycles_label, "fault_cycles_label"); gtk_widget_ref (fault_cycles_label); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "fault_cycles_label", fault_cycles_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fault_cycles_label); gtk_box_pack_start (GTK_BOX (hbox205), fault_cycles_label, FALSE, FALSE, 0); gtk_widget_set_sensitive (fault_cycles_label, FALSE); fault_cycles_adj = gtk_adjustment_new (5, 1, 100, 1, 5, 10); fault_cycles = gtk_spin_button_new (GTK_ADJUSTMENT (fault_cycles_adj), 1, 0); gtk_widget_set_name (fault_cycles, "fault_cycles"); gtk_widget_ref (fault_cycles); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "fault_cycles", fault_cycles, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fault_cycles); gtk_box_pack_start (GTK_BOX (hbox205), fault_cycles, TRUE, TRUE, 0); gtk_widget_set_sensitive (fault_cycles, FALSE); hbox246 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox246, "hbox246"); gtk_widget_ref (hbox246); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hbox246", hbox246, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox246); gtk_box_pack_start (GTK_BOX (vbox142), hbox246, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox246), 8); constant_size_label = gtk_label_new (_("Use Constant Size")); gtk_widget_set_name (constant_size_label, "constant_size_label"); gtk_widget_ref (constant_size_label); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "constant_size_label", constant_size_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (constant_size_label); gtk_box_pack_start (GTK_BOX (hbox246), constant_size_label, FALSE, FALSE, 0); gtk_widget_set_sensitive (constant_size_label, FALSE); constant_size = gtk_check_button_new_with_label (""); gtk_widget_set_name (constant_size, "constant_size"); gtk_widget_ref (constant_size); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "constant_size", constant_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (constant_size); gtk_box_pack_start (GTK_BOX (hbox246), constant_size, TRUE, TRUE, 0); gtk_widget_set_sensitive (constant_size, FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (constant_size), TRUE); hseparator49 = gtk_hseparator_new (); gtk_widget_set_name (hseparator49, "hseparator49"); gtk_widget_ref (hseparator49); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hseparator49", hseparator49, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator49); gtk_box_pack_start (GTK_BOX (vbox141), hseparator49, FALSE, FALSE, 0); vbox143 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox143, "vbox143"); gtk_widget_ref (vbox143); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "vbox143", vbox143, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox143); gtk_box_pack_start (GTK_BOX (vbox141), vbox143, TRUE, TRUE, 0); new_seed = gtk_check_button_new_with_label (_("Generate new seed")); gtk_widget_set_name (new_seed, "new_seed"); gtk_widget_ref (new_seed); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "new_seed", new_seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (new_seed); gtk_box_pack_start (GTK_BOX (vbox143), new_seed, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (new_seed), 8); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_seed), TRUE); hbox201 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox201, "hbox201"); gtk_widget_ref (hbox201); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hbox201", hbox201, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox201); gtk_box_pack_start (GTK_BOX (vbox143), hbox201, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox201), 8); seed_label = gtk_label_new (_("Seed")); gtk_widget_set_name (seed_label, "seed_label"); gtk_widget_ref (seed_label); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "seed_label", seed_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed_label); gtk_box_pack_start (GTK_BOX (hbox201), seed_label, FALSE, FALSE, 0); gtk_widget_set_sensitive (seed_label, FALSE); seed = gtk_entry_new_with_max_length (10); gtk_widget_set_name (seed, "seed"); gtk_widget_ref (seed); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "seed", seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed); gtk_box_pack_start (GTK_BOX (hbox201), seed, TRUE, TRUE, 0); gtk_widget_set_sensitive (seed, FALSE); gtk_entry_set_text (GTK_ENTRY (seed), _("0")); hseparator50 = gtk_hseparator_new (); gtk_widget_set_name (hseparator50, "hseparator50"); gtk_widget_ref (hseparator50); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hseparator50", hseparator50, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator50); gtk_box_pack_start (GTK_BOX (vbox140), hseparator50, FALSE, FALSE, 0); hbox202 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox202, "hbox202"); gtk_widget_ref (hbox202); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hbox202", hbox202, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox202); gtk_box_pack_start (GTK_BOX (vbox140), hbox202, FALSE, FALSE, 0); label230 = gtk_label_new (""); gtk_widget_set_name (label230, "label230"); gtk_widget_ref (label230); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "label230", label230, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label230); gtk_box_pack_start (GTK_BOX (hbox202), label230, TRUE, TRUE, 0); hbox203 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox203, "hbox203"); gtk_widget_ref (hbox203); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "hbox203", hbox203, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox203); gtk_box_pack_start (GTK_BOX (hbox202), hbox203, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox203), 8); generate = gtk_button_new_with_label (_("Generate")); gtk_widget_set_name (generate, "generate"); gtk_widget_ref (generate); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "generate", generate, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (generate); gtk_box_pack_start (GTK_BOX (hbox203), generate, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (generate, GTK_CAN_DEFAULT); cancel = gtk_button_new_with_label (_("Cancel")); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (faulting_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox203), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (new_seed), "toggled", GTK_SIGNAL_FUNC (on_generic_new_seed_toggled), NULL); gtk_signal_connect (GTK_OBJECT (generate), "clicked", GTK_SIGNAL_FUNC (on_fault_generate_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_fault_cancel_clicked), NULL); gtk_widget_grab_default (cancel); return faulting_window; } GtkWidget* create_info_window (void) { GtkWidget *info_window; GtkWidget *vbox145; GtkWidget *vbox146; GtkWidget *frame87; GtkWidget *vbox147; GtkWidget *hbox208; GtkWidget *frame88; GtkWidget *preview; GtkWidget *frame90; GtkWidget *hbox209; GtkWidget *vbox148; GtkWidget *label243; GtkWidget *label245; GtkWidget *label246; GtkWidget *label249; GtkWidget *label270; GtkWidget *label272; GtkWidget *label271; GtkWidget *vbox149; GtkWidget *label_points; GtkWidget *label_width; GtkWidget *label_height; GtkWidget *label_average; GtkWidget *label_variance; GtkWidget *label_skewness; GtkWidget *label_dimension; GtkWidget *hseparator51; GtkWidget *hbox206; GtkWidget *hbox207; GtkWidget *info_ok; info_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (info_window, "info_window"); gtk_object_set_data (GTK_OBJECT (info_window), "info_window", info_window); gtk_window_set_title (GTK_WINDOW (info_window), _("Terrain Information")); vbox145 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox145, "vbox145"); gtk_widget_ref (vbox145); gtk_object_set_data_full (GTK_OBJECT (info_window), "vbox145", vbox145, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox145); gtk_container_add (GTK_CONTAINER (info_window), vbox145); vbox146 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox146, "vbox146"); gtk_widget_ref (vbox146); gtk_object_set_data_full (GTK_OBJECT (info_window), "vbox146", vbox146, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox146); gtk_box_pack_start (GTK_BOX (vbox145), vbox146, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox146), 8); frame87 = gtk_frame_new (_("Histogram")); gtk_widget_set_name (frame87, "frame87"); gtk_widget_ref (frame87); gtk_object_set_data_full (GTK_OBJECT (info_window), "frame87", frame87, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame87); gtk_box_pack_start (GTK_BOX (vbox146), frame87, TRUE, TRUE, 0); vbox147 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox147, "vbox147"); gtk_widget_ref (vbox147); gtk_object_set_data_full (GTK_OBJECT (info_window), "vbox147", vbox147, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox147); gtk_container_add (GTK_CONTAINER (frame87), vbox147); hbox208 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox208, "hbox208"); gtk_widget_ref (hbox208); gtk_object_set_data_full (GTK_OBJECT (info_window), "hbox208", hbox208, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox208); gtk_box_pack_start (GTK_BOX (vbox147), hbox208, FALSE, FALSE, 0); frame88 = gtk_frame_new (NULL); gtk_widget_set_name (frame88, "frame88"); gtk_widget_ref (frame88); gtk_object_set_data_full (GTK_OBJECT (info_window), "frame88", frame88, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame88); gtk_box_pack_start (GTK_BOX (hbox208), frame88, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame88), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (info_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame88), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); frame90 = gtk_frame_new (_("General Information")); gtk_widget_set_name (frame90, "frame90"); gtk_widget_ref (frame90); gtk_object_set_data_full (GTK_OBJECT (info_window), "frame90", frame90, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame90); gtk_box_pack_start (GTK_BOX (vbox146), frame90, TRUE, TRUE, 0); gtk_widget_set_usize (frame90, 190, -2); hbox209 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox209, "hbox209"); gtk_widget_ref (hbox209); gtk_object_set_data_full (GTK_OBJECT (info_window), "hbox209", hbox209, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox209); gtk_container_add (GTK_CONTAINER (frame90), hbox209); vbox148 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox148, "vbox148"); gtk_widget_ref (vbox148); gtk_object_set_data_full (GTK_OBJECT (info_window), "vbox148", vbox148, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox148); gtk_box_pack_start (GTK_BOX (hbox209), vbox148, TRUE, TRUE, 0); label243 = gtk_label_new (_("Number of Points")); gtk_widget_set_name (label243, "label243"); gtk_widget_ref (label243); gtk_object_set_data_full (GTK_OBJECT (info_window), "label243", label243, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label243); gtk_box_pack_start (GTK_BOX (vbox148), label243, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label243), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label243), 0.0999999, 0.5); label245 = gtk_label_new (_("Width")); gtk_widget_set_name (label245, "label245"); gtk_widget_ref (label245); gtk_object_set_data_full (GTK_OBJECT (info_window), "label245", label245, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label245); gtk_box_pack_start (GTK_BOX (vbox148), label245, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label245), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label245), 0.1, 0.5); label246 = gtk_label_new (_("Height")); gtk_widget_set_name (label246, "label246"); gtk_widget_ref (label246); gtk_object_set_data_full (GTK_OBJECT (info_window), "label246", label246, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label246); gtk_box_pack_start (GTK_BOX (vbox148), label246, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label246), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label246), 0.1, 0.5); label249 = gtk_label_new (_("Average")); gtk_widget_set_name (label249, "label249"); gtk_widget_ref (label249); gtk_object_set_data_full (GTK_OBJECT (info_window), "label249", label249, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label249); gtk_box_pack_start (GTK_BOX (vbox148), label249, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label249), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label249), 0.1, 0.5); label270 = gtk_label_new (_("Variance")); gtk_widget_set_name (label270, "label270"); gtk_widget_ref (label270); gtk_object_set_data_full (GTK_OBJECT (info_window), "label270", label270, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label270); gtk_box_pack_start (GTK_BOX (vbox148), label270, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label270), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label270), 0.1, 0.5); label272 = gtk_label_new (_("Skewness")); gtk_widget_set_name (label272, "label272"); gtk_widget_ref (label272); gtk_object_set_data_full (GTK_OBJECT (info_window), "label272", label272, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label272); gtk_box_pack_start (GTK_BOX (vbox148), label272, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label272), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label272), 0.1, 0.5); label271 = gtk_label_new (_("Fractal Dimension")); gtk_widget_set_name (label271, "label271"); gtk_widget_ref (label271); gtk_object_set_data_full (GTK_OBJECT (info_window), "label271", label271, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label271); gtk_box_pack_start (GTK_BOX (vbox148), label271, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label271), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label271), 0.1, 0.5); vbox149 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox149, "vbox149"); gtk_widget_ref (vbox149); gtk_object_set_data_full (GTK_OBJECT (info_window), "vbox149", vbox149, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox149); gtk_box_pack_start (GTK_BOX (hbox209), vbox149, TRUE, TRUE, 0); label_points = gtk_label_new (_("label244")); gtk_widget_set_name (label_points, "label_points"); gtk_widget_ref (label_points); gtk_object_set_data_full (GTK_OBJECT (info_window), "label_points", label_points, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_points); gtk_box_pack_start (GTK_BOX (vbox149), label_points, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label_points), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label_points), 0.1, 0.5); label_width = gtk_label_new (_("label247")); gtk_widget_set_name (label_width, "label_width"); gtk_widget_ref (label_width); gtk_object_set_data_full (GTK_OBJECT (info_window), "label_width", label_width, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_width); gtk_box_pack_start (GTK_BOX (vbox149), label_width, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label_width), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label_width), 0.1, 0.5); label_height = gtk_label_new (_("label248")); gtk_widget_set_name (label_height, "label_height"); gtk_widget_ref (label_height); gtk_object_set_data_full (GTK_OBJECT (info_window), "label_height", label_height, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_height); gtk_box_pack_start (GTK_BOX (vbox149), label_height, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label_height), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label_height), 0.1, 0.5); label_average = gtk_label_new (_("label250")); gtk_widget_set_name (label_average, "label_average"); gtk_widget_ref (label_average); gtk_object_set_data_full (GTK_OBJECT (info_window), "label_average", label_average, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_average); gtk_box_pack_start (GTK_BOX (vbox149), label_average, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label_average), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label_average), 0.1, 0.5); label_variance = gtk_label_new (_("label272")); gtk_widget_set_name (label_variance, "label_variance"); gtk_widget_ref (label_variance); gtk_object_set_data_full (GTK_OBJECT (info_window), "label_variance", label_variance, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_variance); gtk_box_pack_start (GTK_BOX (vbox149), label_variance, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label_variance), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label_variance), 0.1, 0.5); label_skewness = gtk_label_new (_("label272")); gtk_widget_set_name (label_skewness, "label_skewness"); gtk_widget_ref (label_skewness); gtk_object_set_data_full (GTK_OBJECT (info_window), "label_skewness", label_skewness, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_skewness); gtk_box_pack_start (GTK_BOX (vbox149), label_skewness, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label_skewness), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label_skewness), 0.1, 0.5); label_dimension = gtk_label_new (_("label273")); gtk_widget_set_name (label_dimension, "label_dimension"); gtk_widget_ref (label_dimension); gtk_object_set_data_full (GTK_OBJECT (info_window), "label_dimension", label_dimension, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_dimension); gtk_box_pack_start (GTK_BOX (vbox149), label_dimension, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label_dimension), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label_dimension), 0.1, 0.5); hseparator51 = gtk_hseparator_new (); gtk_widget_set_name (hseparator51, "hseparator51"); gtk_widget_ref (hseparator51); gtk_object_set_data_full (GTK_OBJECT (info_window), "hseparator51", hseparator51, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator51); gtk_box_pack_start (GTK_BOX (vbox145), hseparator51, FALSE, FALSE, 0); hbox206 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox206, "hbox206"); gtk_widget_ref (hbox206); gtk_object_set_data_full (GTK_OBJECT (info_window), "hbox206", hbox206, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox206); gtk_box_pack_start (GTK_BOX (vbox145), hbox206, FALSE, FALSE, 0); hbox207 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox207, "hbox207"); gtk_widget_ref (hbox207); gtk_object_set_data_full (GTK_OBJECT (info_window), "hbox207", hbox207, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox207); gtk_box_pack_start (GTK_BOX (hbox206), hbox207, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox207), 8); info_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (info_ok, "info_ok"); gtk_widget_ref (info_ok); gtk_object_set_data_full (GTK_OBJECT (info_window), "info_ok", info_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (info_ok); gtk_box_pack_start (GTK_BOX (hbox207), info_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (info_ok, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (info_ok), "clicked", GTK_SIGNAL_FUNC (on_info_ok_clicked), NULL); return info_window; } GtkWidget* create_close_terrain_dialog (void) { GtkWidget *close_terrain_dialog; GtkWidget *dialog_vbox1; GtkWidget *hbox210; gchar *pixmap1_filename; GtkWidget *pixmap1; GtkWidget *label; GtkWidget *dialog_action_area1; GtkWidget *button2; GtkWidget *button3; GtkWidget *button4; close_terrain_dialog = gnome_dialog_new (NULL, NULL); gtk_widget_set_name (close_terrain_dialog, "close_terrain_dialog"); gtk_object_set_data (GTK_OBJECT (close_terrain_dialog), "close_terrain_dialog", close_terrain_dialog); gtk_window_set_modal (GTK_WINDOW (close_terrain_dialog), TRUE); gtk_window_set_policy (GTK_WINDOW (close_terrain_dialog), FALSE, FALSE, FALSE); dialog_vbox1 = GNOME_DIALOG (close_terrain_dialog)->vbox; gtk_widget_set_name (dialog_vbox1, "dialog_vbox1"); gtk_object_set_data (GTK_OBJECT (close_terrain_dialog), "dialog_vbox1", dialog_vbox1); gtk_widget_show (dialog_vbox1); hbox210 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox210, "hbox210"); gtk_widget_ref (hbox210); gtk_object_set_data_full (GTK_OBJECT (close_terrain_dialog), "hbox210", hbox210, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox210); gtk_box_pack_start (GTK_BOX (dialog_vbox1), hbox210, TRUE, TRUE, 0); pixmap1 = gtk_type_new (gnome_pixmap_get_type ()); pixmap1_filename = gnome_pixmap_file ("terraform/gnome-question.png"); if (pixmap1_filename) gnome_pixmap_load_file (GNOME_PIXMAP (pixmap1), pixmap1_filename); else g_warning (_("Couldn't find pixmap file: %s"), "gnome-question.png"); g_free (pixmap1_filename); gtk_widget_set_name (pixmap1, "pixmap1"); gtk_widget_ref (pixmap1); gtk_object_set_data_full (GTK_OBJECT (close_terrain_dialog), "pixmap1", pixmap1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (pixmap1); gtk_box_pack_start (GTK_BOX (hbox210), pixmap1, TRUE, TRUE, 0); label = gtk_label_new (_("default text")); gtk_widget_set_name (label, "label"); gtk_widget_ref (label); gtk_object_set_data_full (GTK_OBJECT (close_terrain_dialog), "label", label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (hbox210), label, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); dialog_action_area1 = GNOME_DIALOG (close_terrain_dialog)->action_area; gtk_widget_set_name (dialog_action_area1, "dialog_action_area1"); gtk_object_set_data (GTK_OBJECT (close_terrain_dialog), "dialog_action_area1", dialog_action_area1); gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area1), 8); gnome_dialog_append_button (GNOME_DIALOG (close_terrain_dialog), GNOME_STOCK_BUTTON_OK); button2 = GTK_WIDGET (g_list_last (GNOME_DIALOG (close_terrain_dialog)->buttons)->data); gtk_widget_set_name (button2, "button2"); gtk_widget_ref (button2); gtk_object_set_data_full (GTK_OBJECT (close_terrain_dialog), "button2", button2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button2); GTK_WIDGET_SET_FLAGS (button2, GTK_CAN_DEFAULT); gnome_dialog_append_button (GNOME_DIALOG (close_terrain_dialog), GNOME_STOCK_BUTTON_NO); button3 = GTK_WIDGET (g_list_last (GNOME_DIALOG (close_terrain_dialog)->buttons)->data); gtk_widget_set_name (button3, "button3"); gtk_widget_ref (button3); gtk_object_set_data_full (GTK_OBJECT (close_terrain_dialog), "button3", button3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button3); GTK_WIDGET_SET_FLAGS (button3, GTK_CAN_DEFAULT); gnome_dialog_append_button (GNOME_DIALOG (close_terrain_dialog), GNOME_STOCK_BUTTON_CANCEL); button4 = GTK_WIDGET (g_list_last (GNOME_DIALOG (close_terrain_dialog)->buttons)->data); gtk_widget_set_name (button4, "button4"); gtk_widget_ref (button4); gtk_object_set_data_full (GTK_OBJECT (close_terrain_dialog), "button4", button4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button4); GTK_WIDGET_SET_FLAGS (button4, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (button2), "clicked", GTK_SIGNAL_FUNC (on_save_terrain_yes_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button3), "clicked", GTK_SIGNAL_FUNC (on_save_terrain_no_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button4), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); return close_terrain_dialog; } GtkWidget* create_join_window (void) { GtkWidget *join_window; GtkWidget *vbox150; GtkWidget *hbox211; GtkWidget *scrolledwindow6; GtkWidget *join_list; GtkWidget *label247; GtkWidget *vbox151; GtkWidget *hbox212; GtkWidget *vbox152; GtkWidget *top_select; GtkWidget *top_frame; GtkWidget *vbox153; GtkWidget *hbox213; GtkWidget *frame92; GtkWidget *top_thumbnail; GtkWidget *hbox214; GtkWidget *vbox154; GtkWidget *bottom_select; GtkWidget *bottom_frame; GtkWidget *vbox155; GtkWidget *hbox215; GtkWidget *frame94; GtkWidget *bottom_thumbnail; GtkWidget *hseparator53; GtkWidget *hbox219; GtkWidget *option_frame; GtkWidget *vbox158; GtkWidget *distance; GtkWidget *reverse_axis; GtkWidget *reverse_direction; GtkWidget *frame95; GtkWidget *vbox156; GtkWidget *hbox216; GtkWidget *frame96; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *hseparator52; GtkWidget *hbox217; GtkWidget *label248; GtkWidget *hbox218; GtkWidget *join_ok; GtkWidget *join_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); join_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (join_window, "join_window"); gtk_object_set_data (GTK_OBJECT (join_window), "join_window", join_window); gtk_window_set_title (GTK_WINDOW (join_window), _("Join")); gtk_window_set_modal (GTK_WINDOW (join_window), TRUE); vbox150 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox150, "vbox150"); gtk_widget_ref (vbox150); gtk_object_set_data_full (GTK_OBJECT (join_window), "vbox150", vbox150, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox150); gtk_container_add (GTK_CONTAINER (join_window), vbox150); hbox211 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox211, "hbox211"); gtk_widget_ref (hbox211); gtk_object_set_data_full (GTK_OBJECT (join_window), "hbox211", hbox211, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox211); gtk_box_pack_start (GTK_BOX (vbox150), hbox211, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox211), 8); scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow6, "scrolledwindow6"); gtk_widget_ref (scrolledwindow6); gtk_object_set_data_full (GTK_OBJECT (join_window), "scrolledwindow6", scrolledwindow6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow6); gtk_box_pack_start (GTK_BOX (hbox211), scrolledwindow6, FALSE, FALSE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); join_list = gtk_clist_new (1); gtk_widget_set_name (join_list, "join_list"); gtk_widget_ref (join_list); gtk_object_set_data_full (GTK_OBJECT (join_window), "join_list", join_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (join_list); gtk_container_add (GTK_CONTAINER (scrolledwindow6), join_list); gtk_widget_set_usize (join_list, 200, -2); gtk_clist_set_column_width (GTK_CLIST (join_list), 0, 80); gtk_clist_column_titles_show (GTK_CLIST (join_list)); label247 = gtk_label_new (_("Terrain Object List")); gtk_widget_set_name (label247, "label247"); gtk_widget_ref (label247); gtk_object_set_data_full (GTK_OBJECT (join_window), "label247", label247, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label247); gtk_clist_set_column_widget (GTK_CLIST (join_list), 0, label247); vbox151 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox151, "vbox151"); gtk_widget_ref (vbox151); gtk_object_set_data_full (GTK_OBJECT (join_window), "vbox151", vbox151, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox151); gtk_box_pack_start (GTK_BOX (hbox211), vbox151, FALSE, FALSE, 0); hbox212 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox212, "hbox212"); gtk_widget_ref (hbox212); gtk_object_set_data_full (GTK_OBJECT (join_window), "hbox212", hbox212, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox212); gtk_box_pack_start (GTK_BOX (vbox151), hbox212, TRUE, TRUE, 0); vbox152 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox152, "vbox152"); gtk_widget_ref (vbox152); gtk_object_set_data_full (GTK_OBJECT (join_window), "vbox152", vbox152, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox152); gtk_box_pack_start (GTK_BOX (hbox212), vbox152, FALSE, FALSE, 0); top_select = gtk_button_new_with_label (_(">>")); gtk_widget_set_name (top_select, "top_select"); gtk_widget_ref (top_select); gtk_object_set_data_full (GTK_OBJECT (join_window), "top_select", top_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_select); gtk_box_pack_start (GTK_BOX (vbox152), top_select, TRUE, FALSE, 0); gtk_widget_set_sensitive (top_select, FALSE); top_frame = gtk_frame_new (_("Top Frame")); gtk_widget_set_name (top_frame, "top_frame"); gtk_widget_ref (top_frame); gtk_object_set_data_full (GTK_OBJECT (join_window), "top_frame", top_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_frame); gtk_box_pack_start (GTK_BOX (hbox212), top_frame, TRUE, TRUE, 0); vbox153 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox153, "vbox153"); gtk_widget_ref (vbox153); gtk_object_set_data_full (GTK_OBJECT (join_window), "vbox153", vbox153, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox153); gtk_container_add (GTK_CONTAINER (top_frame), vbox153); gtk_container_set_border_width (GTK_CONTAINER (vbox153), 8); hbox213 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox213, "hbox213"); gtk_widget_ref (hbox213); gtk_object_set_data_full (GTK_OBJECT (join_window), "hbox213", hbox213, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox213); gtk_box_pack_start (GTK_BOX (vbox153), hbox213, TRUE, FALSE, 0); frame92 = gtk_frame_new (NULL); gtk_widget_set_name (frame92, "frame92"); gtk_widget_ref (frame92); gtk_object_set_data_full (GTK_OBJECT (join_window), "frame92", frame92, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame92); gtk_box_pack_start (GTK_BOX (hbox213), frame92, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame92), GTK_SHADOW_IN); top_thumbnail = create_terrain_preview ("top_thumbnail", NULL, NULL, 0, 0); gtk_widget_set_name (top_thumbnail, "top_thumbnail"); gtk_widget_ref (top_thumbnail); gtk_object_set_data_full (GTK_OBJECT (join_window), "top_thumbnail", top_thumbnail, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_thumbnail); gtk_container_add (GTK_CONTAINER (frame92), top_thumbnail); GTK_WIDGET_UNSET_FLAGS (top_thumbnail, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (top_thumbnail, GTK_CAN_DEFAULT); hbox214 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox214, "hbox214"); gtk_widget_ref (hbox214); gtk_object_set_data_full (GTK_OBJECT (join_window), "hbox214", hbox214, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox214); gtk_box_pack_start (GTK_BOX (vbox151), hbox214, TRUE, TRUE, 0); vbox154 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox154, "vbox154"); gtk_widget_ref (vbox154); gtk_object_set_data_full (GTK_OBJECT (join_window), "vbox154", vbox154, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox154); gtk_box_pack_start (GTK_BOX (hbox214), vbox154, FALSE, FALSE, 0); bottom_select = gtk_button_new_with_label (_(">>")); gtk_widget_set_name (bottom_select, "bottom_select"); gtk_widget_ref (bottom_select); gtk_object_set_data_full (GTK_OBJECT (join_window), "bottom_select", bottom_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_select); gtk_box_pack_start (GTK_BOX (vbox154), bottom_select, TRUE, FALSE, 0); gtk_widget_set_sensitive (bottom_select, FALSE); bottom_frame = gtk_frame_new (_("Bottom Frame")); gtk_widget_set_name (bottom_frame, "bottom_frame"); gtk_widget_ref (bottom_frame); gtk_object_set_data_full (GTK_OBJECT (join_window), "bottom_frame", bottom_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_frame); gtk_box_pack_start (GTK_BOX (hbox214), bottom_frame, TRUE, TRUE, 0); vbox155 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox155, "vbox155"); gtk_widget_ref (vbox155); gtk_object_set_data_full (GTK_OBJECT (join_window), "vbox155", vbox155, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox155); gtk_container_add (GTK_CONTAINER (bottom_frame), vbox155); gtk_container_set_border_width (GTK_CONTAINER (vbox155), 8); hbox215 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox215, "hbox215"); gtk_widget_ref (hbox215); gtk_object_set_data_full (GTK_OBJECT (join_window), "hbox215", hbox215, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox215); gtk_box_pack_start (GTK_BOX (vbox155), hbox215, TRUE, FALSE, 0); frame94 = gtk_frame_new (NULL); gtk_widget_set_name (frame94, "frame94"); gtk_widget_ref (frame94); gtk_object_set_data_full (GTK_OBJECT (join_window), "frame94", frame94, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame94); gtk_box_pack_start (GTK_BOX (hbox215), frame94, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame94), GTK_SHADOW_IN); bottom_thumbnail = create_terrain_preview ("bottom_thumbnail", NULL, NULL, 0, 0); gtk_widget_set_name (bottom_thumbnail, "bottom_thumbnail"); gtk_widget_ref (bottom_thumbnail); gtk_object_set_data_full (GTK_OBJECT (join_window), "bottom_thumbnail", bottom_thumbnail, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_thumbnail); gtk_container_add (GTK_CONTAINER (frame94), bottom_thumbnail); GTK_WIDGET_UNSET_FLAGS (bottom_thumbnail, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (bottom_thumbnail, GTK_CAN_DEFAULT); hseparator53 = gtk_hseparator_new (); gtk_widget_set_name (hseparator53, "hseparator53"); gtk_widget_ref (hseparator53); gtk_object_set_data_full (GTK_OBJECT (join_window), "hseparator53", hseparator53, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator53); gtk_box_pack_start (GTK_BOX (vbox151), hseparator53, TRUE, TRUE, 0); hbox219 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox219, "hbox219"); gtk_widget_ref (hbox219); gtk_object_set_data_full (GTK_OBJECT (join_window), "hbox219", hbox219, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox219); gtk_box_pack_start (GTK_BOX (vbox151), hbox219, TRUE, TRUE, 0); option_frame = gtk_frame_new (_("Distance")); gtk_widget_set_name (option_frame, "option_frame"); gtk_widget_ref (option_frame); gtk_object_set_data_full (GTK_OBJECT (join_window), "option_frame", option_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (option_frame); gtk_box_pack_start (GTK_BOX (hbox219), option_frame, TRUE, TRUE, 0); vbox158 = gtk_vbox_new (TRUE, 0); gtk_widget_set_name (vbox158, "vbox158"); gtk_widget_ref (vbox158); gtk_object_set_data_full (GTK_OBJECT (join_window), "vbox158", vbox158, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox158); gtk_container_add (GTK_CONTAINER (option_frame), vbox158); gtk_container_set_border_width (GTK_CONTAINER (vbox158), 8); distance = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (distance, "distance"); gtk_widget_ref (distance); gtk_object_set_data_full (GTK_OBJECT (join_window), "distance", distance, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (distance); gtk_box_pack_start (GTK_BOX (vbox158), distance, TRUE, TRUE, 0); gtk_scale_set_digits (GTK_SCALE (distance), 2); reverse_axis = gtk_check_button_new_with_label (_("Join along Y axis")); gtk_widget_set_name (reverse_axis, "reverse_axis"); gtk_widget_ref (reverse_axis); gtk_object_set_data_full (GTK_OBJECT (join_window), "reverse_axis", reverse_axis, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (reverse_axis); gtk_box_pack_start (GTK_BOX (vbox158), reverse_axis, TRUE, TRUE, 0); reverse_direction = gtk_check_button_new_with_label (_("Reverse Directoin")); gtk_widget_set_name (reverse_direction, "reverse_direction"); gtk_widget_ref (reverse_direction); gtk_object_set_data_full (GTK_OBJECT (join_window), "reverse_direction", reverse_direction, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (reverse_direction); gtk_box_pack_start (GTK_BOX (vbox158), reverse_direction, TRUE, TRUE, 0); frame95 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame95, "frame95"); gtk_widget_ref (frame95); gtk_object_set_data_full (GTK_OBJECT (join_window), "frame95", frame95, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame95); gtk_box_pack_start (GTK_BOX (hbox211), frame95, TRUE, TRUE, 0); vbox156 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox156, "vbox156"); gtk_widget_ref (vbox156); gtk_object_set_data_full (GTK_OBJECT (join_window), "vbox156", vbox156, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox156); gtk_container_add (GTK_CONTAINER (frame95), vbox156); gtk_widget_set_usize (vbox156, 170, -2); hbox216 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox216, "hbox216"); gtk_widget_ref (hbox216); gtk_object_set_data_full (GTK_OBJECT (join_window), "hbox216", hbox216, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox216); gtk_box_pack_start (GTK_BOX (vbox156), hbox216, TRUE, FALSE, 0); frame96 = gtk_frame_new (NULL); gtk_widget_set_name (frame96, "frame96"); gtk_widget_ref (frame96); gtk_object_set_data_full (GTK_OBJECT (join_window), "frame96", frame96, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame96); gtk_box_pack_start (GTK_BOX (hbox216), frame96, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame96), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (join_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame96), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (join_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox156), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); hseparator52 = gtk_hseparator_new (); gtk_widget_set_name (hseparator52, "hseparator52"); gtk_widget_ref (hseparator52); gtk_object_set_data_full (GTK_OBJECT (join_window), "hseparator52", hseparator52, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator52); gtk_box_pack_start (GTK_BOX (vbox150), hseparator52, FALSE, FALSE, 0); hbox217 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox217, "hbox217"); gtk_widget_ref (hbox217); gtk_object_set_data_full (GTK_OBJECT (join_window), "hbox217", hbox217, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox217); gtk_box_pack_start (GTK_BOX (vbox150), hbox217, FALSE, FALSE, 0); label248 = gtk_label_new (""); gtk_widget_set_name (label248, "label248"); gtk_widget_ref (label248); gtk_object_set_data_full (GTK_OBJECT (join_window), "label248", label248, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label248); gtk_box_pack_start (GTK_BOX (hbox217), label248, TRUE, TRUE, 0); hbox218 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox218, "hbox218"); gtk_widget_ref (hbox218); gtk_object_set_data_full (GTK_OBJECT (join_window), "hbox218", hbox218, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox218); gtk_box_pack_start (GTK_BOX (hbox217), hbox218, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox218), 8); join_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (join_ok, "join_ok"); gtk_widget_ref (join_ok); gtk_object_set_data_full (GTK_OBJECT (join_window), "join_ok", join_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (join_ok); gtk_box_pack_start (GTK_BOX (hbox218), join_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (join_ok, GTK_CAN_DEFAULT); join_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (join_cancel, "join_cancel"); gtk_widget_ref (join_cancel); gtk_object_set_data_full (GTK_OBJECT (join_window), "join_cancel", join_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (join_cancel); gtk_box_pack_start (GTK_BOX (hbox218), join_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (join_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (join_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (join_list), "select_row", GTK_SIGNAL_FUNC (on_join_list_select_row), NULL); gtk_signal_connect (GTK_OBJECT (join_list), "unselect_row", GTK_SIGNAL_FUNC (on_join_list_unselect_row), NULL); gtk_signal_connect (GTK_OBJECT (top_select), "clicked", GTK_SIGNAL_FUNC (on_join_top_select_clicked), NULL); gtk_signal_connect (GTK_OBJECT (bottom_select), "clicked", GTK_SIGNAL_FUNC (on_join_bottom_select_clicked), NULL); gtk_signal_connect (GTK_OBJECT (reverse_axis), "clicked", GTK_SIGNAL_FUNC (on_join_reverse_toggled), NULL); gtk_signal_connect (GTK_OBJECT (reverse_direction), "clicked", GTK_SIGNAL_FUNC (on_join_reverse_toggled), NULL); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (join_ok), "clicked", GTK_SIGNAL_FUNC (on_join_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (join_cancel), "clicked", GTK_SIGNAL_FUNC (on_join_cancel_clicked), NULL); gtk_widget_grab_default (join_cancel); gtk_window_add_accel_group (GTK_WINDOW (join_window), accel_group); return join_window; } GtkWidget* create_digital_filter_window (void) { GtkWidget *digital_filter_window; GtkWidget *vbox162; GtkWidget *hbox225; GtkWidget *frame99; GtkWidget *vbox163; GtkWidget *hbox226; GtkWidget *frame100; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *vbox164; GtkWidget *frame102; GtkWidget *vbox165; GtkWidget *table29; GtkObject *filter_val_1_adj; GtkWidget *filter_val_1; GtkObject *filter_val_6_adj; GtkWidget *filter_val_6; GtkObject *filter_val_11_adj; GtkWidget *filter_val_11; GtkObject *filter_val_16_adj; GtkWidget *filter_val_16; GtkObject *filter_val_21_adj; GtkWidget *filter_val_21; GtkObject *filter_val_22_adj; GtkWidget *filter_val_22; GtkObject *filter_val_17_adj; GtkWidget *filter_val_17; GtkObject *filter_val_12_adj; GtkWidget *filter_val_12; GtkObject *filter_val_7_adj; GtkWidget *filter_val_7; GtkObject *filter_val_2_adj; GtkWidget *filter_val_2; GtkObject *filter_val_3_adj; GtkWidget *filter_val_3; GtkObject *filter_val_8_adj; GtkWidget *filter_val_8; GtkObject *filter_val_13_adj; GtkWidget *filter_val_13; GtkObject *filter_val_18_adj; GtkWidget *filter_val_18; GtkObject *filter_val_23_adj; GtkWidget *filter_val_23; GtkObject *filter_val_4_adj; GtkWidget *filter_val_4; GtkObject *filter_val_9_adj; GtkWidget *filter_val_9; GtkObject *filter_val_14_adj; GtkWidget *filter_val_14; GtkObject *filter_val_19_adj; GtkWidget *filter_val_19; GtkObject *filter_val_24_adj; GtkWidget *filter_val_24; GtkObject *filter_val_5_adj; GtkWidget *filter_val_5; GtkObject *filter_val_10_adj; GtkWidget *filter_val_10; GtkObject *filter_val_15_adj; GtkWidget *filter_val_15; GtkObject *filter_val_20_adj; GtkWidget *filter_val_20; GtkObject *filter_val_25_adj; GtkWidget *filter_val_25; GtkWidget *hseparator58; GtkWidget *hbox230; GtkWidget *label268; GtkWidget *min_elevation; GtkWidget *hbox231; GtkWidget *label269; GtkWidget *max_elevation; GtkWidget *hseparator57; GtkWidget *hbox227; GtkWidget *label266; GtkWidget *hbox228; GtkWidget *button8; GtkWidget *button9; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); digital_filter_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (digital_filter_window, "digital_filter_window"); gtk_object_set_data (GTK_OBJECT (digital_filter_window), "digital_filter_window", digital_filter_window); gtk_window_set_title (GTK_WINDOW (digital_filter_window), _("Digital Filter")); vbox162 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox162, "vbox162"); gtk_widget_ref (vbox162); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "vbox162", vbox162, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox162); gtk_container_add (GTK_CONTAINER (digital_filter_window), vbox162); hbox225 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox225, "hbox225"); gtk_widget_ref (hbox225); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "hbox225", hbox225, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox225); gtk_box_pack_start (GTK_BOX (vbox162), hbox225, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox225), 8); frame99 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame99, "frame99"); gtk_widget_ref (frame99); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "frame99", frame99, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame99); gtk_box_pack_start (GTK_BOX (hbox225), frame99, FALSE, FALSE, 0); vbox163 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox163, "vbox163"); gtk_widget_ref (vbox163); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "vbox163", vbox163, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox163); gtk_container_add (GTK_CONTAINER (frame99), vbox163); hbox226 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox226, "hbox226"); gtk_widget_ref (hbox226); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "hbox226", hbox226, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox226); gtk_box_pack_start (GTK_BOX (vbox163), hbox226, FALSE, FALSE, 0); frame100 = gtk_frame_new (NULL); gtk_widget_set_name (frame100, "frame100"); gtk_widget_ref (frame100); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "frame100", frame100, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame100); gtk_box_pack_start (GTK_BOX (hbox226), frame100, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame100), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame100), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox163), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); vbox164 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox164, "vbox164"); gtk_widget_ref (vbox164); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "vbox164", vbox164, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox164); gtk_box_pack_start (GTK_BOX (hbox225), vbox164, TRUE, TRUE, 0); frame102 = gtk_frame_new (_("Filter Values")); gtk_widget_set_name (frame102, "frame102"); gtk_widget_ref (frame102); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "frame102", frame102, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame102); gtk_box_pack_start (GTK_BOX (vbox164), frame102, TRUE, TRUE, 0); vbox165 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox165, "vbox165"); gtk_widget_ref (vbox165); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "vbox165", vbox165, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox165); gtk_container_add (GTK_CONTAINER (frame102), vbox165); table29 = gtk_table_new (5, 5, TRUE); gtk_widget_set_name (table29, "table29"); gtk_widget_ref (table29); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "table29", table29, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table29); gtk_box_pack_start (GTK_BOX (vbox165), table29, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table29), 8); gtk_table_set_row_spacings (GTK_TABLE (table29), 4); gtk_table_set_col_spacings (GTK_TABLE (table29), 8); filter_val_1_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_1 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_1_adj), 1, 2); gtk_widget_set_name (filter_val_1, "filter_val_1"); gtk_widget_ref (filter_val_1); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_1", filter_val_1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_1); gtk_table_attach (GTK_TABLE (table29), filter_val_1, 0, 1, 0, 1, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_6_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_6 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_6_adj), 1, 2); gtk_widget_set_name (filter_val_6, "filter_val_6"); gtk_widget_ref (filter_val_6); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_6", filter_val_6, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_6); gtk_table_attach (GTK_TABLE (table29), filter_val_6, 0, 1, 1, 2, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_11_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_11 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_11_adj), 1, 2); gtk_widget_set_name (filter_val_11, "filter_val_11"); gtk_widget_ref (filter_val_11); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_11", filter_val_11, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_11); gtk_table_attach (GTK_TABLE (table29), filter_val_11, 0, 1, 2, 3, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_16_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_16 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_16_adj), 1, 2); gtk_widget_set_name (filter_val_16, "filter_val_16"); gtk_widget_ref (filter_val_16); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_16", filter_val_16, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_16); gtk_table_attach (GTK_TABLE (table29), filter_val_16, 0, 1, 3, 4, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_21_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_21 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_21_adj), 1, 2); gtk_widget_set_name (filter_val_21, "filter_val_21"); gtk_widget_ref (filter_val_21); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_21", filter_val_21, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_21); gtk_table_attach (GTK_TABLE (table29), filter_val_21, 0, 1, 4, 5, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_22_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_22 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_22_adj), 1, 2); gtk_widget_set_name (filter_val_22, "filter_val_22"); gtk_widget_ref (filter_val_22); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_22", filter_val_22, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_22); gtk_table_attach (GTK_TABLE (table29), filter_val_22, 1, 2, 4, 5, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_17_adj = gtk_adjustment_new (1, 0, 5, 0.01, 0.05, 0.05); filter_val_17 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_17_adj), 1, 2); gtk_widget_set_name (filter_val_17, "filter_val_17"); gtk_widget_ref (filter_val_17); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_17", filter_val_17, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_17); gtk_table_attach (GTK_TABLE (table29), filter_val_17, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_12_adj = gtk_adjustment_new (2, 0, 5, 0.01, 0.05, 0.05); filter_val_12 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_12_adj), 1, 2); gtk_widget_set_name (filter_val_12, "filter_val_12"); gtk_widget_ref (filter_val_12); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_12", filter_val_12, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_12); gtk_table_attach (GTK_TABLE (table29), filter_val_12, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_7_adj = gtk_adjustment_new (1, 0, 5, 0.01, 0.05, 0.05); filter_val_7 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_7_adj), 1, 2); gtk_widget_set_name (filter_val_7, "filter_val_7"); gtk_widget_ref (filter_val_7); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_7", filter_val_7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_7); gtk_table_attach (GTK_TABLE (table29), filter_val_7, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_2_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.001); filter_val_2 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_2_adj), 1, 2); gtk_widget_set_name (filter_val_2, "filter_val_2"); gtk_widget_ref (filter_val_2); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_2", filter_val_2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_2); gtk_table_attach (GTK_TABLE (table29), filter_val_2, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_3_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_3 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_3_adj), 1, 2); gtk_widget_set_name (filter_val_3, "filter_val_3"); gtk_widget_ref (filter_val_3); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_3", filter_val_3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_3); gtk_table_attach (GTK_TABLE (table29), filter_val_3, 2, 3, 0, 1, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_8_adj = gtk_adjustment_new (2, 0, 5, 0.01, 0.05, 0.05); filter_val_8 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_8_adj), 1, 2); gtk_widget_set_name (filter_val_8, "filter_val_8"); gtk_widget_ref (filter_val_8); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_8", filter_val_8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_8); gtk_table_attach (GTK_TABLE (table29), filter_val_8, 2, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_13_adj = gtk_adjustment_new (5, 0, 5, 0.01, 0.05, 0.05); filter_val_13 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_13_adj), 1, 2); gtk_widget_set_name (filter_val_13, "filter_val_13"); gtk_widget_ref (filter_val_13); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_13", filter_val_13, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_13); gtk_table_attach (GTK_TABLE (table29), filter_val_13, 2, 3, 2, 3, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_18_adj = gtk_adjustment_new (2, 0, 5, 0.01, 0.05, 0.05); filter_val_18 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_18_adj), 1, 2); gtk_widget_set_name (filter_val_18, "filter_val_18"); gtk_widget_ref (filter_val_18); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_18", filter_val_18, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_18); gtk_table_attach (GTK_TABLE (table29), filter_val_18, 2, 3, 3, 4, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_23_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_23 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_23_adj), 1, 2); gtk_widget_set_name (filter_val_23, "filter_val_23"); gtk_widget_ref (filter_val_23); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_23", filter_val_23, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_23); gtk_table_attach (GTK_TABLE (table29), filter_val_23, 2, 3, 4, 5, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_4_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_4 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_4_adj), 1, 2); gtk_widget_set_name (filter_val_4, "filter_val_4"); gtk_widget_ref (filter_val_4); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_4", filter_val_4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_4); gtk_table_attach (GTK_TABLE (table29), filter_val_4, 3, 4, 0, 1, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_9_adj = gtk_adjustment_new (1, 0, 5, 0.01, 0.05, 0.05); filter_val_9 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_9_adj), 1, 2); gtk_widget_set_name (filter_val_9, "filter_val_9"); gtk_widget_ref (filter_val_9); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_9", filter_val_9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_9); gtk_table_attach (GTK_TABLE (table29), filter_val_9, 3, 4, 1, 2, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_14_adj = gtk_adjustment_new (2, 0, 5, 0.01, 0.05, 0.05); filter_val_14 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_14_adj), 1, 2); gtk_widget_set_name (filter_val_14, "filter_val_14"); gtk_widget_ref (filter_val_14); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_14", filter_val_14, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_14); gtk_table_attach (GTK_TABLE (table29), filter_val_14, 3, 4, 2, 3, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_19_adj = gtk_adjustment_new (1, 0, 5, 0.01, 0.05, 0.05); filter_val_19 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_19_adj), 1, 2); gtk_widget_set_name (filter_val_19, "filter_val_19"); gtk_widget_ref (filter_val_19); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_19", filter_val_19, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_19); gtk_table_attach (GTK_TABLE (table29), filter_val_19, 3, 4, 3, 4, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_24_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_24 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_24_adj), 1, 2); gtk_widget_set_name (filter_val_24, "filter_val_24"); gtk_widget_ref (filter_val_24); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_24", filter_val_24, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_24); gtk_table_attach (GTK_TABLE (table29), filter_val_24, 3, 4, 4, 5, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_5_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_5 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_5_adj), 1, 2); gtk_widget_set_name (filter_val_5, "filter_val_5"); gtk_widget_ref (filter_val_5); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_5", filter_val_5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_5); gtk_table_attach (GTK_TABLE (table29), filter_val_5, 4, 5, 0, 1, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_10_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_10 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_10_adj), 1, 2); gtk_widget_set_name (filter_val_10, "filter_val_10"); gtk_widget_ref (filter_val_10); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_10", filter_val_10, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_10); gtk_table_attach (GTK_TABLE (table29), filter_val_10, 4, 5, 1, 2, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_15_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_15 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_15_adj), 1, 2); gtk_widget_set_name (filter_val_15, "filter_val_15"); gtk_widget_ref (filter_val_15); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_15", filter_val_15, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_15); gtk_table_attach (GTK_TABLE (table29), filter_val_15, 4, 5, 2, 3, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_20_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_20 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_20_adj), 1, 2); gtk_widget_set_name (filter_val_20, "filter_val_20"); gtk_widget_ref (filter_val_20); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_20", filter_val_20, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_20); gtk_table_attach (GTK_TABLE (table29), filter_val_20, 4, 5, 3, 4, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); filter_val_25_adj = gtk_adjustment_new (0.25, 0, 5, 0.01, 0.05, 0.05); filter_val_25 = gtk_spin_button_new (GTK_ADJUSTMENT (filter_val_25_adj), 1, 2); gtk_widget_set_name (filter_val_25, "filter_val_25"); gtk_widget_ref (filter_val_25); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "filter_val_25", filter_val_25, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filter_val_25); gtk_table_attach (GTK_TABLE (table29), filter_val_25, 4, 5, 4, 5, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); hseparator58 = gtk_hseparator_new (); gtk_widget_set_name (hseparator58, "hseparator58"); gtk_widget_ref (hseparator58); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "hseparator58", hseparator58, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator58); gtk_box_pack_start (GTK_BOX (vbox165), hseparator58, TRUE, TRUE, 0); hbox230 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox230, "hbox230"); gtk_widget_ref (hbox230); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "hbox230", hbox230, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox230); gtk_box_pack_start (GTK_BOX (vbox165), hbox230, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox230), 8); label268 = gtk_label_new (_("Min Elevation")); gtk_widget_set_name (label268, "label268"); gtk_widget_ref (label268); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "label268", label268, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label268); gtk_box_pack_start (GTK_BOX (hbox230), label268, FALSE, FALSE, 0); min_elevation = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.33, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (min_elevation, "min_elevation"); gtk_widget_ref (min_elevation); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "min_elevation", min_elevation, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (min_elevation); gtk_box_pack_start (GTK_BOX (hbox230), min_elevation, TRUE, TRUE, 0); gtk_widget_set_usize (min_elevation, 150, -2); gtk_scale_set_digits (GTK_SCALE (min_elevation), 2); hbox231 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox231, "hbox231"); gtk_widget_ref (hbox231); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "hbox231", hbox231, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox231); gtk_box_pack_start (GTK_BOX (vbox165), hbox231, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox231), 8); label269 = gtk_label_new (_("Max Elevation")); gtk_widget_set_name (label269, "label269"); gtk_widget_ref (label269); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "label269", label269, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label269); gtk_box_pack_start (GTK_BOX (hbox231), label269, FALSE, FALSE, 0); max_elevation = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.51, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (max_elevation, "max_elevation"); gtk_widget_ref (max_elevation); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "max_elevation", max_elevation, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (max_elevation); gtk_box_pack_start (GTK_BOX (hbox231), max_elevation, TRUE, TRUE, 0); gtk_widget_set_usize (max_elevation, 150, -2); gtk_scale_set_digits (GTK_SCALE (max_elevation), 2); hseparator57 = gtk_hseparator_new (); gtk_widget_set_name (hseparator57, "hseparator57"); gtk_widget_ref (hseparator57); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "hseparator57", hseparator57, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator57); gtk_box_pack_start (GTK_BOX (vbox162), hseparator57, FALSE, FALSE, 0); hbox227 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox227, "hbox227"); gtk_widget_ref (hbox227); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "hbox227", hbox227, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox227); gtk_box_pack_start (GTK_BOX (vbox162), hbox227, FALSE, FALSE, 0); label266 = gtk_label_new (""); gtk_widget_set_name (label266, "label266"); gtk_widget_ref (label266); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "label266", label266, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label266); gtk_box_pack_start (GTK_BOX (hbox227), label266, TRUE, TRUE, 0); hbox228 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox228, "hbox228"); gtk_widget_ref (hbox228); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "hbox228", hbox228, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox228); gtk_box_pack_start (GTK_BOX (hbox227), hbox228, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox228), 8); button8 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button8, "button8"); gtk_widget_ref (button8); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "button8", button8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button8); gtk_box_pack_start (GTK_BOX (hbox228), button8, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button8, GTK_CAN_DEFAULT); button9 = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (button9, "button9"); gtk_widget_ref (button9); gtk_object_set_data_full (GTK_OBJECT (digital_filter_window), "button9", button9, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button9); gtk_box_pack_start (GTK_BOX (hbox228), button9, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button9, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button9, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (button8), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button9), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (button9); gtk_window_add_accel_group (GTK_WINDOW (digital_filter_window), accel_group); return digital_filter_window; } GtkWidget* create_close_terraform_dialog (void) { GtkWidget *close_terraform_dialog; GtkWidget *vbox166; GtkWidget *hbox232; gchar *pixmap_filename; GtkWidget *pixmap; GtkWidget *label; GtkWidget *hbuttonbox1; GtkWidget *button10; GtkWidget *button11; GtkWidget *button12; close_terraform_dialog = gnome_dialog_new (NULL, NULL); gtk_widget_set_name (close_terraform_dialog, "close_terraform_dialog"); gtk_object_set_data (GTK_OBJECT (close_terraform_dialog), "close_terraform_dialog", close_terraform_dialog); gtk_window_set_modal (GTK_WINDOW (close_terraform_dialog), TRUE); gtk_window_set_policy (GTK_WINDOW (close_terraform_dialog), FALSE, FALSE, FALSE); vbox166 = GNOME_DIALOG (close_terraform_dialog)->vbox; gtk_widget_set_name (vbox166, "vbox166"); gtk_object_set_data (GTK_OBJECT (close_terraform_dialog), "vbox166", vbox166); gtk_widget_show (vbox166); hbox232 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox232, "hbox232"); gtk_widget_ref (hbox232); gtk_object_set_data_full (GTK_OBJECT (close_terraform_dialog), "hbox232", hbox232, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox232); gtk_box_pack_start (GTK_BOX (vbox166), hbox232, TRUE, TRUE, 0); pixmap = gtk_type_new (gnome_pixmap_get_type ()); pixmap_filename = gnome_pixmap_file ("terraform/gnome-question.png"); if (pixmap_filename) gnome_pixmap_load_file (GNOME_PIXMAP (pixmap), pixmap_filename); else g_warning (_("Couldn't find pixmap file: %s"), "gnome-question.png"); g_free (pixmap_filename); gtk_widget_set_name (pixmap, "pixmap"); gtk_widget_ref (pixmap); gtk_object_set_data_full (GTK_OBJECT (close_terraform_dialog), "pixmap", pixmap, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (pixmap); gtk_box_pack_start (GTK_BOX (hbox232), pixmap, TRUE, TRUE, 0); label = gtk_label_new (_("default text")); gtk_widget_set_name (label, "label"); gtk_widget_ref (label); gtk_object_set_data_full (GTK_OBJECT (close_terraform_dialog), "label", label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (hbox232), label, TRUE, TRUE, 0); hbuttonbox1 = GNOME_DIALOG (close_terraform_dialog)->action_area; gtk_widget_set_name (hbuttonbox1, "hbuttonbox1"); gtk_object_set_data (GTK_OBJECT (close_terraform_dialog), "hbuttonbox1", hbuttonbox1); gtk_widget_show (hbuttonbox1); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END); gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbuttonbox1), 8); gnome_dialog_append_button (GNOME_DIALOG (close_terraform_dialog), GNOME_STOCK_BUTTON_OK); button10 = GTK_WIDGET (g_list_last (GNOME_DIALOG (close_terraform_dialog)->buttons)->data); gtk_widget_set_name (button10, "button10"); gtk_widget_ref (button10); gtk_object_set_data_full (GTK_OBJECT (close_terraform_dialog), "button10", button10, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button10); GTK_WIDGET_SET_FLAGS (button10, GTK_CAN_DEFAULT); gnome_dialog_append_button (GNOME_DIALOG (close_terraform_dialog), GNOME_STOCK_BUTTON_NO); button11 = GTK_WIDGET (g_list_last (GNOME_DIALOG (close_terraform_dialog)->buttons)->data); gtk_widget_set_name (button11, "button11"); gtk_widget_ref (button11); gtk_object_set_data_full (GTK_OBJECT (close_terraform_dialog), "button11", button11, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button11); GTK_WIDGET_SET_FLAGS (button11, GTK_CAN_DEFAULT); gnome_dialog_append_button (GNOME_DIALOG (close_terraform_dialog), GNOME_STOCK_BUTTON_CANCEL); button12 = GTK_WIDGET (g_list_last (GNOME_DIALOG (close_terraform_dialog)->buttons)->data); gtk_widget_set_name (button12, "button12"); gtk_widget_ref (button12); gtk_object_set_data_full (GTK_OBJECT (close_terraform_dialog), "button12", button12, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button12); GTK_WIDGET_SET_FLAGS (button12, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (button10), "clicked", GTK_SIGNAL_FUNC (on_save_all_terrains_yes_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button11), "clicked", GTK_SIGNAL_FUNC (on_save_all_terrains_no_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button12), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); return close_terraform_dialog; } GtkWidget* create_erode_flowmap_window (void) { GtkWidget *erode_flowmap_window; GtkWidget *vbox167; GtkWidget *hbox233; GtkWidget *scrolledwindow7; GtkWidget *erode_list; GtkWidget *label273; GtkWidget *vbox168; GtkWidget *hbox234; GtkWidget *vbox169; GtkWidget *top_select; GtkWidget *top_frame; GtkWidget *vbox170; GtkWidget *hbox235; GtkWidget *frame104; GtkWidget *top_thumbnail; GtkWidget *hbox236; GtkWidget *vbox171; GtkWidget *bottom_select; GtkWidget *bottom_frame; GtkWidget *vbox172; GtkWidget *hbox237; GtkWidget *frame106; GtkWidget *bottom_thumbnail; GtkWidget *vbox174; GtkWidget *frame109; GtkWidget *vbox175; GtkWidget *table30; GtkWidget *erode_iterations; GtkWidget *label280; GtkWidget *label282; GtkWidget *erode_threshold; GtkWidget *erode_trim; GtkWidget *hseparator60; GtkWidget *hbox240; GtkWidget *label274; GtkWidget *hbox241; GtkWidget *button15; GtkWidget *button16; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); erode_flowmap_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (erode_flowmap_window, "erode_flowmap_window"); gtk_object_set_data (GTK_OBJECT (erode_flowmap_window), "erode_flowmap_window", erode_flowmap_window); gtk_window_set_title (GTK_WINDOW (erode_flowmap_window), _("Erode terrain")); gtk_window_set_modal (GTK_WINDOW (erode_flowmap_window), TRUE); vbox167 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox167, "vbox167"); gtk_widget_ref (vbox167); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "vbox167", vbox167, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox167); gtk_container_add (GTK_CONTAINER (erode_flowmap_window), vbox167); hbox233 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox233, "hbox233"); gtk_widget_ref (hbox233); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "hbox233", hbox233, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox233); gtk_box_pack_start (GTK_BOX (vbox167), hbox233, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox233), 8); scrolledwindow7 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow7, "scrolledwindow7"); gtk_widget_ref (scrolledwindow7); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "scrolledwindow7", scrolledwindow7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow7); gtk_box_pack_start (GTK_BOX (hbox233), scrolledwindow7, FALSE, FALSE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); erode_list = gtk_clist_new (1); gtk_widget_set_name (erode_list, "erode_list"); gtk_widget_ref (erode_list); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "erode_list", erode_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_list); gtk_container_add (GTK_CONTAINER (scrolledwindow7), erode_list); gtk_widget_set_usize (erode_list, 200, -2); gtk_clist_set_column_width (GTK_CLIST (erode_list), 0, 80); gtk_clist_column_titles_show (GTK_CLIST (erode_list)); label273 = gtk_label_new (_("Terrain Object List")); gtk_widget_set_name (label273, "label273"); gtk_widget_ref (label273); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "label273", label273, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label273); gtk_clist_set_column_widget (GTK_CLIST (erode_list), 0, label273); vbox168 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox168, "vbox168"); gtk_widget_ref (vbox168); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "vbox168", vbox168, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox168); gtk_box_pack_start (GTK_BOX (hbox233), vbox168, FALSE, FALSE, 0); hbox234 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox234, "hbox234"); gtk_widget_ref (hbox234); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "hbox234", hbox234, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox234); gtk_box_pack_start (GTK_BOX (vbox168), hbox234, TRUE, TRUE, 0); vbox169 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox169, "vbox169"); gtk_widget_ref (vbox169); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "vbox169", vbox169, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox169); gtk_box_pack_start (GTK_BOX (hbox234), vbox169, FALSE, FALSE, 0); top_select = gtk_button_new_with_label (_(">>")); gtk_widget_set_name (top_select, "top_select"); gtk_widget_ref (top_select); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "top_select", top_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_select); gtk_box_pack_start (GTK_BOX (vbox169), top_select, TRUE, FALSE, 0); gtk_widget_set_sensitive (top_select, FALSE); top_frame = gtk_frame_new (_("Top Frame")); gtk_widget_set_name (top_frame, "top_frame"); gtk_widget_ref (top_frame); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "top_frame", top_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_frame); gtk_box_pack_start (GTK_BOX (hbox234), top_frame, TRUE, TRUE, 0); vbox170 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox170, "vbox170"); gtk_widget_ref (vbox170); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "vbox170", vbox170, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox170); gtk_container_add (GTK_CONTAINER (top_frame), vbox170); gtk_container_set_border_width (GTK_CONTAINER (vbox170), 8); hbox235 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox235, "hbox235"); gtk_widget_ref (hbox235); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "hbox235", hbox235, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox235); gtk_box_pack_start (GTK_BOX (vbox170), hbox235, TRUE, FALSE, 0); frame104 = gtk_frame_new (NULL); gtk_widget_set_name (frame104, "frame104"); gtk_widget_ref (frame104); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "frame104", frame104, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame104); gtk_box_pack_start (GTK_BOX (hbox235), frame104, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame104), GTK_SHADOW_IN); top_thumbnail = create_terrain_preview ("top_thumbnail", NULL, NULL, 0, 0); gtk_widget_set_name (top_thumbnail, "top_thumbnail"); gtk_widget_ref (top_thumbnail); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "top_thumbnail", top_thumbnail, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_thumbnail); gtk_container_add (GTK_CONTAINER (frame104), top_thumbnail); GTK_WIDGET_UNSET_FLAGS (top_thumbnail, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (top_thumbnail, GTK_CAN_DEFAULT); hbox236 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox236, "hbox236"); gtk_widget_ref (hbox236); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "hbox236", hbox236, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox236); gtk_box_pack_start (GTK_BOX (vbox168), hbox236, TRUE, TRUE, 0); vbox171 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox171, "vbox171"); gtk_widget_ref (vbox171); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "vbox171", vbox171, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox171); gtk_box_pack_start (GTK_BOX (hbox236), vbox171, FALSE, FALSE, 0); bottom_select = gtk_button_new_with_label (_(">>")); gtk_widget_set_name (bottom_select, "bottom_select"); gtk_widget_ref (bottom_select); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "bottom_select", bottom_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_select); gtk_box_pack_start (GTK_BOX (vbox171), bottom_select, TRUE, FALSE, 0); gtk_widget_set_sensitive (bottom_select, FALSE); bottom_frame = gtk_frame_new (_("Flowmap")); gtk_widget_set_name (bottom_frame, "bottom_frame"); gtk_widget_ref (bottom_frame); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "bottom_frame", bottom_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_frame); gtk_box_pack_start (GTK_BOX (hbox236), bottom_frame, TRUE, TRUE, 0); vbox172 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox172, "vbox172"); gtk_widget_ref (vbox172); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "vbox172", vbox172, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox172); gtk_container_add (GTK_CONTAINER (bottom_frame), vbox172); gtk_container_set_border_width (GTK_CONTAINER (vbox172), 8); hbox237 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox237, "hbox237"); gtk_widget_ref (hbox237); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "hbox237", hbox237, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox237); gtk_box_pack_start (GTK_BOX (vbox172), hbox237, TRUE, FALSE, 0); frame106 = gtk_frame_new (NULL); gtk_widget_set_name (frame106, "frame106"); gtk_widget_ref (frame106); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "frame106", frame106, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame106); gtk_box_pack_start (GTK_BOX (hbox237), frame106, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame106), GTK_SHADOW_IN); bottom_thumbnail = create_terrain_preview ("bottom_thumbnail", NULL, NULL, 0, 0); gtk_widget_set_name (bottom_thumbnail, "bottom_thumbnail"); gtk_widget_ref (bottom_thumbnail); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "bottom_thumbnail", bottom_thumbnail, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_thumbnail); gtk_container_add (GTK_CONTAINER (frame106), bottom_thumbnail); GTK_WIDGET_UNSET_FLAGS (bottom_thumbnail, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (bottom_thumbnail, GTK_CAN_DEFAULT); vbox174 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox174, "vbox174"); gtk_widget_ref (vbox174); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "vbox174", vbox174, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox174); gtk_box_pack_start (GTK_BOX (hbox233), vbox174, TRUE, TRUE, 0); frame109 = gtk_frame_new (_("Erosion Parameters")); gtk_widget_set_name (frame109, "frame109"); gtk_widget_ref (frame109); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "frame109", frame109, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame109); gtk_box_pack_start (GTK_BOX (vbox174), frame109, TRUE, TRUE, 0); vbox175 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox175, "vbox175"); gtk_widget_ref (vbox175); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "vbox175", vbox175, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox175); gtk_container_add (GTK_CONTAINER (frame109), vbox175); gtk_container_set_border_width (GTK_CONTAINER (vbox175), 8); table30 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table30, "table30"); gtk_widget_ref (table30); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "table30", table30, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table30); gtk_box_pack_start (GTK_BOX (vbox175), table30, FALSE, FALSE, 0); gtk_table_set_row_spacings (GTK_TABLE (table30), 4); gtk_table_set_col_spacings (GTK_TABLE (table30), 8); erode_iterations = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (20, 1, 100, 1, 0, 0))); gtk_widget_set_name (erode_iterations, "erode_iterations"); gtk_widget_ref (erode_iterations); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "erode_iterations", erode_iterations, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_iterations); gtk_table_attach (GTK_TABLE (table30), erode_iterations, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (erode_iterations, 150, -2); gtk_scale_set_digits (GTK_SCALE (erode_iterations), 0); label280 = gtk_label_new (_("Number of iterations")); gtk_widget_set_name (label280, "label280"); gtk_widget_ref (label280); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "label280", label280, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label280); gtk_table_attach (GTK_TABLE (table30), label280, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label282 = gtk_label_new (_("Elevation threshold")); gtk_widget_set_name (label282, "label282"); gtk_widget_ref (label282); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "label282", label282, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label282); gtk_table_attach (GTK_TABLE (table30), label282, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); erode_threshold = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.95, 0.1, 1, 0, 0, 0))); gtk_widget_set_name (erode_threshold, "erode_threshold"); gtk_widget_ref (erode_threshold); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "erode_threshold", erode_threshold, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_threshold); gtk_table_attach (GTK_TABLE (table30), erode_threshold, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (erode_threshold), 2); erode_trim = gtk_check_button_new_with_label (_("Trim local peaks")); gtk_widget_set_name (erode_trim, "erode_trim"); gtk_widget_ref (erode_trim); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "erode_trim", erode_trim, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (erode_trim); gtk_box_pack_start (GTK_BOX (vbox175), erode_trim, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (erode_trim), TRUE); hseparator60 = gtk_hseparator_new (); gtk_widget_set_name (hseparator60, "hseparator60"); gtk_widget_ref (hseparator60); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "hseparator60", hseparator60, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator60); gtk_box_pack_start (GTK_BOX (vbox167), hseparator60, FALSE, FALSE, 0); hbox240 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox240, "hbox240"); gtk_widget_ref (hbox240); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "hbox240", hbox240, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox240); gtk_box_pack_start (GTK_BOX (vbox167), hbox240, FALSE, FALSE, 0); label274 = gtk_label_new (""); gtk_widget_set_name (label274, "label274"); gtk_widget_ref (label274); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "label274", label274, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label274); gtk_box_pack_start (GTK_BOX (hbox240), label274, TRUE, TRUE, 0); hbox241 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox241, "hbox241"); gtk_widget_ref (hbox241); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "hbox241", hbox241, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox241); gtk_box_pack_start (GTK_BOX (hbox240), hbox241, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox241), 8); button15 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button15, "button15"); gtk_widget_ref (button15); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "button15", button15, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button15); gtk_box_pack_start (GTK_BOX (hbox241), button15, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button15, GTK_CAN_DEFAULT); button16 = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (button16, "button16"); gtk_widget_ref (button16); gtk_object_set_data_full (GTK_OBJECT (erode_flowmap_window), "button16", button16, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button16); gtk_box_pack_start (GTK_BOX (hbox241), button16, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button16, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button16, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (erode_list), "select_row", GTK_SIGNAL_FUNC (on_join_list_select_row), NULL); gtk_signal_connect (GTK_OBJECT (erode_list), "unselect_row", GTK_SIGNAL_FUNC (on_join_list_unselect_row), NULL); gtk_signal_connect (GTK_OBJECT (top_select), "clicked", GTK_SIGNAL_FUNC (on_erode_flowmap_top_select_clicked), NULL); gtk_signal_connect (GTK_OBJECT (bottom_select), "clicked", GTK_SIGNAL_FUNC (on_erode_flowmap_bottom_select_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button15), "clicked", GTK_SIGNAL_FUNC (on_erode_flowmap_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button16), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (button16); gtk_window_add_accel_group (GTK_WINDOW (erode_flowmap_window), accel_group); return erode_flowmap_window; } GtkWidget* create_rasterize_window (void) { GtkWidget *rasterize_window; GtkWidget *vbox176; GtkWidget *hbox242; GtkWidget *frame110; GtkWidget *vbox177; GtkWidget *hbox243; GtkWidget *frame111; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame112; GtkWidget *vbox178; GtkWidget *table31; GtkWidget *rasterize_xsize; GtkWidget *rasterize_do_adjust_size; GtkWidget *label368; GtkWidget *label366; GtkWidget *rasterize_factor; GtkWidget *label367; GtkWidget *label369; GtkWidget *rasterize_ysize; GtkWidget *hseparator61; GtkWidget *hbox244; GtkWidget *label285; GtkWidget *hbox245; GtkWidget *button17; GtkWidget *button18; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); rasterize_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (rasterize_window, "rasterize_window"); gtk_object_set_data (GTK_OBJECT (rasterize_window), "rasterize_window", rasterize_window); gtk_window_set_title (GTK_WINDOW (rasterize_window), _("Rasterize")); vbox176 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox176, "vbox176"); gtk_widget_ref (vbox176); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "vbox176", vbox176, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox176); gtk_container_add (GTK_CONTAINER (rasterize_window), vbox176); hbox242 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox242, "hbox242"); gtk_widget_ref (hbox242); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "hbox242", hbox242, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox242); gtk_box_pack_start (GTK_BOX (vbox176), hbox242, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox242), 8); frame110 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame110, "frame110"); gtk_widget_ref (frame110); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "frame110", frame110, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame110); gtk_box_pack_start (GTK_BOX (hbox242), frame110, FALSE, FALSE, 0); vbox177 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox177, "vbox177"); gtk_widget_ref (vbox177); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "vbox177", vbox177, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox177); gtk_container_add (GTK_CONTAINER (frame110), vbox177); hbox243 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox243, "hbox243"); gtk_widget_ref (hbox243); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "hbox243", hbox243, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox243); gtk_box_pack_start (GTK_BOX (vbox177), hbox243, FALSE, FALSE, 0); frame111 = gtk_frame_new (NULL); gtk_widget_set_name (frame111, "frame111"); gtk_widget_ref (frame111); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "frame111", frame111, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame111); gtk_box_pack_start (GTK_BOX (hbox243), frame111, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame111), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame111), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox177), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame112 = gtk_frame_new (_("Parameters")); gtk_widget_set_name (frame112, "frame112"); gtk_widget_ref (frame112); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "frame112", frame112, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame112); gtk_box_pack_start (GTK_BOX (hbox242), frame112, TRUE, TRUE, 0); vbox178 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox178, "vbox178"); gtk_widget_ref (vbox178); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "vbox178", vbox178, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox178); gtk_container_add (GTK_CONTAINER (frame112), vbox178); gtk_container_set_border_width (GTK_CONTAINER (vbox178), 8); table31 = gtk_table_new (4, 2, FALSE); gtk_widget_set_name (table31, "table31"); gtk_widget_ref (table31); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "table31", table31, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table31); gtk_box_pack_start (GTK_BOX (vbox178), table31, FALSE, FALSE, 0); gtk_table_set_row_spacings (GTK_TABLE (table31), 4); gtk_table_set_col_spacings (GTK_TABLE (table31), 8); rasterize_xsize = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 50, 1, 0, 0))); gtk_widget_set_name (rasterize_xsize, "rasterize_xsize"); gtk_widget_ref (rasterize_xsize); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "rasterize_xsize", rasterize_xsize, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rasterize_xsize); gtk_table_attach (GTK_TABLE (table31), rasterize_xsize, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (rasterize_xsize, 150, -2); gtk_scale_set_digits (GTK_SCALE (rasterize_xsize), 0); rasterize_do_adjust_size = gtk_check_button_new_with_label (_("Adjust size parameter")); gtk_widget_set_name (rasterize_do_adjust_size, "rasterize_do_adjust_size"); gtk_widget_ref (rasterize_do_adjust_size); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "rasterize_do_adjust_size", rasterize_do_adjust_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rasterize_do_adjust_size); gtk_table_attach (GTK_TABLE (table31), rasterize_do_adjust_size, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rasterize_do_adjust_size), TRUE); label368 = gtk_label_new (_("Preview")); gtk_widget_set_name (label368, "label368"); gtk_widget_ref (label368); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "label368", label368, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label368); gtk_table_attach (GTK_TABLE (table31), label368, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); label366 = gtk_label_new (_("Tightness factor")); gtk_widget_set_name (label366, "label366"); gtk_widget_ref (label366); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "label366", label366, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label366); gtk_table_attach (GTK_TABLE (table31), label366, 0, 1, 3, 4, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); rasterize_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (rasterize_factor, "rasterize_factor"); gtk_widget_ref (rasterize_factor); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "rasterize_factor", rasterize_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rasterize_factor); gtk_table_attach (GTK_TABLE (table31), rasterize_factor, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (rasterize_factor), 2); label367 = gtk_label_new (_("Width")); gtk_widget_set_name (label367, "label367"); gtk_widget_ref (label367); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "label367", label367, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label367); gtk_table_attach (GTK_TABLE (table31), label367, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label369 = gtk_label_new (_("Depth")); gtk_widget_set_name (label369, "label369"); gtk_widget_ref (label369); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "label369", label369, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label369); gtk_table_attach (GTK_TABLE (table31), label369, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); rasterize_ysize = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 50, 0, 0, 0))); gtk_widget_set_name (rasterize_ysize, "rasterize_ysize"); gtk_widget_ref (rasterize_ysize); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "rasterize_ysize", rasterize_ysize, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (rasterize_ysize); gtk_table_attach (GTK_TABLE (table31), rasterize_ysize, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (rasterize_ysize), 0); hseparator61 = gtk_hseparator_new (); gtk_widget_set_name (hseparator61, "hseparator61"); gtk_widget_ref (hseparator61); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "hseparator61", hseparator61, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator61); gtk_box_pack_start (GTK_BOX (vbox176), hseparator61, FALSE, FALSE, 0); hbox244 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox244, "hbox244"); gtk_widget_ref (hbox244); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "hbox244", hbox244, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox244); gtk_box_pack_start (GTK_BOX (vbox176), hbox244, FALSE, FALSE, 0); label285 = gtk_label_new (""); gtk_widget_set_name (label285, "label285"); gtk_widget_ref (label285); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "label285", label285, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label285); gtk_box_pack_start (GTK_BOX (hbox244), label285, TRUE, TRUE, 0); hbox245 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox245, "hbox245"); gtk_widget_ref (hbox245); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "hbox245", hbox245, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox245); gtk_box_pack_start (GTK_BOX (hbox244), hbox245, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox245), 8); button17 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button17, "button17"); gtk_widget_ref (button17); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "button17", button17, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button17); gtk_box_pack_start (GTK_BOX (hbox245), button17, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button17, GTK_CAN_DEFAULT); button18 = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (button18, "button18"); gtk_widget_ref (button18); gtk_object_set_data_full (GTK_OBJECT (rasterize_window), "button18", button18, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button18); gtk_box_pack_start (GTK_BOX (hbox245), button18, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button18, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button18, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (button17), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button18), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (button18); gtk_window_add_accel_group (GTK_WINDOW (rasterize_window), accel_group); return rasterize_window; } GtkWidget* create_warp_window (void) { GtkWidget *warp_window; GtkWidget *vbox179; GtkWidget *hbox247; GtkWidget *scrolledwindow8; GtkWidget *warp_list; GtkWidget *label287; GtkWidget *vbox180; GtkWidget *hbox248; GtkWidget *vbox181; GtkWidget *top_select; GtkWidget *top_frame; GtkWidget *vbox182; GtkWidget *hbox249; GtkWidget *frame114; GtkWidget *top_thumbnail; GtkWidget *hbox250; GtkWidget *vbox183; GtkWidget *bottom_select; GtkWidget *bottom_frame; GtkWidget *vbox184; GtkWidget *hbox251; GtkWidget *frame116; GtkWidget *bottom_thumbnail; GtkWidget *hseparator62; GtkWidget *hbox252; GtkWidget *frame117; GtkWidget *vbox185; GtkWidget *hbox256; GtkWidget *label289; GtkWidget *center_x; GtkWidget *hbox257; GtkWidget *label290; GtkWidget *center_y; GtkWidget *hbox259; GtkWidget *label292; GtkWidget *factor; GtkWidget *hbox260; GtkWidget *mode; GtkWidget *frame118; GtkWidget *vbox186; GtkWidget *hbox253; GtkWidget *frame119; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *hseparator63; GtkWidget *hbox254; GtkWidget *label288; GtkWidget *hbox255; GtkWidget *wrap_ok; GtkWidget *wrap_cancel; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); warp_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (warp_window, "warp_window"); gtk_object_set_data (GTK_OBJECT (warp_window), "warp_window", warp_window); gtk_window_set_title (GTK_WINDOW (warp_window), _("Warp")); gtk_window_set_modal (GTK_WINDOW (warp_window), TRUE); vbox179 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox179, "vbox179"); gtk_widget_ref (vbox179); gtk_object_set_data_full (GTK_OBJECT (warp_window), "vbox179", vbox179, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox179); gtk_container_add (GTK_CONTAINER (warp_window), vbox179); hbox247 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox247, "hbox247"); gtk_widget_ref (hbox247); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox247", hbox247, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox247); gtk_box_pack_start (GTK_BOX (vbox179), hbox247, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox247), 8); scrolledwindow8 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow8, "scrolledwindow8"); gtk_widget_ref (scrolledwindow8); gtk_object_set_data_full (GTK_OBJECT (warp_window), "scrolledwindow8", scrolledwindow8, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow8); gtk_box_pack_start (GTK_BOX (hbox247), scrolledwindow8, FALSE, FALSE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow8), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); warp_list = gtk_clist_new (1); gtk_widget_set_name (warp_list, "warp_list"); gtk_widget_ref (warp_list); gtk_object_set_data_full (GTK_OBJECT (warp_window), "warp_list", warp_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (warp_list); gtk_container_add (GTK_CONTAINER (scrolledwindow8), warp_list); gtk_widget_set_usize (warp_list, 200, -2); gtk_clist_set_column_width (GTK_CLIST (warp_list), 0, 80); gtk_clist_column_titles_show (GTK_CLIST (warp_list)); label287 = gtk_label_new (_("Terrain Object List")); gtk_widget_set_name (label287, "label287"); gtk_widget_ref (label287); gtk_object_set_data_full (GTK_OBJECT (warp_window), "label287", label287, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label287); gtk_clist_set_column_widget (GTK_CLIST (warp_list), 0, label287); vbox180 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox180, "vbox180"); gtk_widget_ref (vbox180); gtk_object_set_data_full (GTK_OBJECT (warp_window), "vbox180", vbox180, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox180); gtk_box_pack_start (GTK_BOX (hbox247), vbox180, FALSE, FALSE, 0); hbox248 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox248, "hbox248"); gtk_widget_ref (hbox248); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox248", hbox248, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox248); gtk_box_pack_start (GTK_BOX (vbox180), hbox248, TRUE, TRUE, 0); vbox181 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox181, "vbox181"); gtk_widget_ref (vbox181); gtk_object_set_data_full (GTK_OBJECT (warp_window), "vbox181", vbox181, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox181); gtk_box_pack_start (GTK_BOX (hbox248), vbox181, FALSE, FALSE, 0); top_select = gtk_button_new_with_label (_(">>")); gtk_widget_set_name (top_select, "top_select"); gtk_widget_ref (top_select); gtk_object_set_data_full (GTK_OBJECT (warp_window), "top_select", top_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_select); gtk_box_pack_start (GTK_BOX (vbox181), top_select, TRUE, FALSE, 0); gtk_widget_set_sensitive (top_select, FALSE); top_frame = gtk_frame_new (_("Top Frame")); gtk_widget_set_name (top_frame, "top_frame"); gtk_widget_ref (top_frame); gtk_object_set_data_full (GTK_OBJECT (warp_window), "top_frame", top_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_frame); gtk_box_pack_start (GTK_BOX (hbox248), top_frame, TRUE, TRUE, 0); vbox182 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox182, "vbox182"); gtk_widget_ref (vbox182); gtk_object_set_data_full (GTK_OBJECT (warp_window), "vbox182", vbox182, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox182); gtk_container_add (GTK_CONTAINER (top_frame), vbox182); gtk_container_set_border_width (GTK_CONTAINER (vbox182), 8); hbox249 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox249, "hbox249"); gtk_widget_ref (hbox249); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox249", hbox249, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox249); gtk_box_pack_start (GTK_BOX (vbox182), hbox249, TRUE, FALSE, 0); frame114 = gtk_frame_new (NULL); gtk_widget_set_name (frame114, "frame114"); gtk_widget_ref (frame114); gtk_object_set_data_full (GTK_OBJECT (warp_window), "frame114", frame114, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame114); gtk_box_pack_start (GTK_BOX (hbox249), frame114, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame114), GTK_SHADOW_IN); top_thumbnail = create_terrain_preview ("top_thumbnail", NULL, NULL, 0, 0); gtk_widget_set_name (top_thumbnail, "top_thumbnail"); gtk_widget_ref (top_thumbnail); gtk_object_set_data_full (GTK_OBJECT (warp_window), "top_thumbnail", top_thumbnail, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (top_thumbnail); gtk_container_add (GTK_CONTAINER (frame114), top_thumbnail); GTK_WIDGET_UNSET_FLAGS (top_thumbnail, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (top_thumbnail, GTK_CAN_DEFAULT); gtk_widget_set_events (top_thumbnail, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK); hbox250 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox250, "hbox250"); gtk_widget_ref (hbox250); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox250", hbox250, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox250); gtk_box_pack_start (GTK_BOX (vbox180), hbox250, TRUE, TRUE, 0); vbox183 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox183, "vbox183"); gtk_widget_ref (vbox183); gtk_object_set_data_full (GTK_OBJECT (warp_window), "vbox183", vbox183, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox183); gtk_box_pack_start (GTK_BOX (hbox250), vbox183, FALSE, FALSE, 0); bottom_select = gtk_button_new_with_label (_(">>")); gtk_widget_set_name (bottom_select, "bottom_select"); gtk_widget_ref (bottom_select); gtk_object_set_data_full (GTK_OBJECT (warp_window), "bottom_select", bottom_select, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_select); gtk_box_pack_start (GTK_BOX (vbox183), bottom_select, TRUE, FALSE, 0); gtk_widget_set_sensitive (bottom_select, FALSE); bottom_frame = gtk_frame_new (_("Bottom Frame")); gtk_widget_set_name (bottom_frame, "bottom_frame"); gtk_widget_ref (bottom_frame); gtk_object_set_data_full (GTK_OBJECT (warp_window), "bottom_frame", bottom_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_frame); gtk_box_pack_start (GTK_BOX (hbox250), bottom_frame, TRUE, TRUE, 0); vbox184 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox184, "vbox184"); gtk_widget_ref (vbox184); gtk_object_set_data_full (GTK_OBJECT (warp_window), "vbox184", vbox184, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox184); gtk_container_add (GTK_CONTAINER (bottom_frame), vbox184); gtk_container_set_border_width (GTK_CONTAINER (vbox184), 8); hbox251 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox251, "hbox251"); gtk_widget_ref (hbox251); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox251", hbox251, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox251); gtk_box_pack_start (GTK_BOX (vbox184), hbox251, TRUE, FALSE, 0); frame116 = gtk_frame_new (NULL); gtk_widget_set_name (frame116, "frame116"); gtk_widget_ref (frame116); gtk_object_set_data_full (GTK_OBJECT (warp_window), "frame116", frame116, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame116); gtk_box_pack_start (GTK_BOX (hbox251), frame116, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame116), GTK_SHADOW_IN); bottom_thumbnail = create_terrain_preview ("bottom_thumbnail", NULL, NULL, 0, 0); gtk_widget_set_name (bottom_thumbnail, "bottom_thumbnail"); gtk_widget_ref (bottom_thumbnail); gtk_object_set_data_full (GTK_OBJECT (warp_window), "bottom_thumbnail", bottom_thumbnail, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (bottom_thumbnail); gtk_container_add (GTK_CONTAINER (frame116), bottom_thumbnail); GTK_WIDGET_UNSET_FLAGS (bottom_thumbnail, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (bottom_thumbnail, GTK_CAN_DEFAULT); hseparator62 = gtk_hseparator_new (); gtk_widget_set_name (hseparator62, "hseparator62"); gtk_widget_ref (hseparator62); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hseparator62", hseparator62, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator62); gtk_box_pack_start (GTK_BOX (vbox180), hseparator62, TRUE, TRUE, 0); hbox252 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox252, "hbox252"); gtk_widget_ref (hbox252); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox252", hbox252, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox252); gtk_box_pack_start (GTK_BOX (vbox180), hbox252, TRUE, TRUE, 0); frame117 = gtk_frame_new (_("Controls")); gtk_widget_set_name (frame117, "frame117"); gtk_widget_ref (frame117); gtk_object_set_data_full (GTK_OBJECT (warp_window), "frame117", frame117, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame117); gtk_box_pack_start (GTK_BOX (hbox252), frame117, TRUE, TRUE, 0); vbox185 = gtk_vbox_new (TRUE, 0); gtk_widget_set_name (vbox185, "vbox185"); gtk_widget_ref (vbox185); gtk_object_set_data_full (GTK_OBJECT (warp_window), "vbox185", vbox185, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox185); gtk_container_add (GTK_CONTAINER (frame117), vbox185); gtk_container_set_border_width (GTK_CONTAINER (vbox185), 8); hbox256 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox256, "hbox256"); gtk_widget_ref (hbox256); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox256", hbox256, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox256); gtk_box_pack_start (GTK_BOX (vbox185), hbox256, TRUE, TRUE, 0); label289 = gtk_label_new (_("Center X")); gtk_widget_set_name (label289, "label289"); gtk_widget_ref (label289); gtk_object_set_data_full (GTK_OBJECT (warp_window), "label289", label289, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label289); gtk_box_pack_start (GTK_BOX (hbox256), label289, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label289), GTK_JUSTIFY_LEFT); center_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (center_x, "center_x"); gtk_widget_ref (center_x); gtk_object_set_data_full (GTK_OBJECT (warp_window), "center_x", center_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_x); gtk_box_pack_start (GTK_BOX (hbox256), center_x, TRUE, TRUE, 0); gtk_scale_set_digits (GTK_SCALE (center_x), 2); hbox257 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox257, "hbox257"); gtk_widget_ref (hbox257); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox257", hbox257, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox257); gtk_box_pack_start (GTK_BOX (vbox185), hbox257, TRUE, TRUE, 0); label290 = gtk_label_new (_("Center Y")); gtk_widget_set_name (label290, "label290"); gtk_widget_ref (label290); gtk_object_set_data_full (GTK_OBJECT (warp_window), "label290", label290, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label290); gtk_box_pack_start (GTK_BOX (hbox257), label290, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label290), GTK_JUSTIFY_LEFT); center_y = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (center_y, "center_y"); gtk_widget_ref (center_y); gtk_object_set_data_full (GTK_OBJECT (warp_window), "center_y", center_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_y); gtk_box_pack_start (GTK_BOX (hbox257), center_y, TRUE, TRUE, 0); gtk_scale_set_digits (GTK_SCALE (center_y), 2); hbox259 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox259, "hbox259"); gtk_widget_ref (hbox259); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox259", hbox259, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox259); gtk_box_pack_start (GTK_BOX (vbox185), hbox259, TRUE, TRUE, 0); label292 = gtk_label_new (_("Scalefac")); gtk_widget_set_name (label292, "label292"); gtk_widget_ref (label292); gtk_object_set_data_full (GTK_OBJECT (warp_window), "label292", label292, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label292); gtk_box_pack_start (GTK_BOX (hbox259), label292, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label292), GTK_JUSTIFY_LEFT); factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (factor, "factor"); gtk_widget_ref (factor); gtk_object_set_data_full (GTK_OBJECT (warp_window), "factor", factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (factor); gtk_box_pack_start (GTK_BOX (hbox259), factor, TRUE, TRUE, 0); gtk_scale_set_digits (GTK_SCALE (factor), 2); hbox260 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox260, "hbox260"); gtk_widget_ref (hbox260); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox260", hbox260, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox260); gtk_box_pack_start (GTK_BOX (vbox185), hbox260, TRUE, TRUE, 0); mode = gtk_check_button_new_with_label (_("Bloom instead of Twist")); gtk_widget_set_name (mode, "mode"); gtk_widget_ref (mode); gtk_object_set_data_full (GTK_OBJECT (warp_window), "mode", mode, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (mode); gtk_box_pack_start (GTK_BOX (hbox260), mode, FALSE, FALSE, 0); frame118 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame118, "frame118"); gtk_widget_ref (frame118); gtk_object_set_data_full (GTK_OBJECT (warp_window), "frame118", frame118, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame118); gtk_box_pack_start (GTK_BOX (hbox247), frame118, TRUE, TRUE, 0); vbox186 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox186, "vbox186"); gtk_widget_ref (vbox186); gtk_object_set_data_full (GTK_OBJECT (warp_window), "vbox186", vbox186, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox186); gtk_container_add (GTK_CONTAINER (frame118), vbox186); gtk_widget_set_usize (vbox186, 170, -2); hbox253 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox253, "hbox253"); gtk_widget_ref (hbox253); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox253", hbox253, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox253); gtk_box_pack_start (GTK_BOX (vbox186), hbox253, TRUE, FALSE, 0); frame119 = gtk_frame_new (NULL); gtk_widget_set_name (frame119, "frame119"); gtk_widget_ref (frame119); gtk_object_set_data_full (GTK_OBJECT (warp_window), "frame119", frame119, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame119); gtk_box_pack_start (GTK_BOX (hbox253), frame119, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame119), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (warp_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame119), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (warp_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox186), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); hseparator63 = gtk_hseparator_new (); gtk_widget_set_name (hseparator63, "hseparator63"); gtk_widget_ref (hseparator63); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hseparator63", hseparator63, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator63); gtk_box_pack_start (GTK_BOX (vbox179), hseparator63, FALSE, FALSE, 0); hbox254 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox254, "hbox254"); gtk_widget_ref (hbox254); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox254", hbox254, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox254); gtk_box_pack_start (GTK_BOX (vbox179), hbox254, FALSE, FALSE, 0); label288 = gtk_label_new (""); gtk_widget_set_name (label288, "label288"); gtk_widget_ref (label288); gtk_object_set_data_full (GTK_OBJECT (warp_window), "label288", label288, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label288); gtk_box_pack_start (GTK_BOX (hbox254), label288, TRUE, TRUE, 0); hbox255 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox255, "hbox255"); gtk_widget_ref (hbox255); gtk_object_set_data_full (GTK_OBJECT (warp_window), "hbox255", hbox255, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox255); gtk_box_pack_start (GTK_BOX (hbox254), hbox255, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox255), 8); wrap_ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (wrap_ok, "wrap_ok"); gtk_widget_ref (wrap_ok); gtk_object_set_data_full (GTK_OBJECT (warp_window), "wrap_ok", wrap_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (wrap_ok); gtk_box_pack_start (GTK_BOX (hbox255), wrap_ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (wrap_ok, GTK_CAN_DEFAULT); wrap_cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (wrap_cancel, "wrap_cancel"); gtk_widget_ref (wrap_cancel); gtk_object_set_data_full (GTK_OBJECT (warp_window), "wrap_cancel", wrap_cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (wrap_cancel); gtk_box_pack_start (GTK_BOX (hbox255), wrap_cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (wrap_cancel, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (wrap_cancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (warp_list), "select_row", GTK_SIGNAL_FUNC (on_warp_list_select_row), NULL); gtk_signal_connect (GTK_OBJECT (warp_list), "unselect_row", GTK_SIGNAL_FUNC (on_warp_list_unselect_row), NULL); gtk_signal_connect (GTK_OBJECT (top_select), "clicked", GTK_SIGNAL_FUNC (on_warp_top_select_clicked), NULL); gtk_signal_connect (GTK_OBJECT (bottom_select), "clicked", GTK_SIGNAL_FUNC (on_warp_bottom_select_clicked), NULL); gtk_signal_connect (GTK_OBJECT (mode), "toggled", GTK_SIGNAL_FUNC (on_warp_mode_toggled), NULL); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (wrap_ok), "clicked", GTK_SIGNAL_FUNC (on_warp_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (wrap_cancel), "clicked", GTK_SIGNAL_FUNC (on_warp_cancel_clicked), NULL); gtk_widget_grab_default (wrap_cancel); gtk_window_add_accel_group (GTK_WINDOW (warp_window), accel_group); return warp_window; } GtkWidget* create_error_log_filesel (void) { GtkWidget *error_log_filesel; GtkWidget *save_error_log_ok; GtkWidget *cancel_button1; error_log_filesel = gtk_file_selection_new (_("Save Error Log")); gtk_widget_set_name (error_log_filesel, "error_log_filesel"); gtk_object_set_data (GTK_OBJECT (error_log_filesel), "error_log_filesel", error_log_filesel); gtk_container_set_border_width (GTK_CONTAINER (error_log_filesel), 10); gtk_window_set_modal (GTK_WINDOW (error_log_filesel), TRUE); save_error_log_ok = GTK_FILE_SELECTION (error_log_filesel)->ok_button; gtk_widget_set_name (save_error_log_ok, "save_error_log_ok"); gtk_object_set_data (GTK_OBJECT (error_log_filesel), "save_error_log_ok", save_error_log_ok); gtk_widget_show (save_error_log_ok); GTK_WIDGET_SET_FLAGS (save_error_log_ok, GTK_CAN_DEFAULT); cancel_button1 = GTK_FILE_SELECTION (error_log_filesel)->cancel_button; gtk_widget_set_name (cancel_button1, "cancel_button1"); gtk_object_set_data (GTK_OBJECT (error_log_filesel), "cancel_button1", cancel_button1); gtk_widget_show (cancel_button1); GTK_WIDGET_SET_FLAGS (cancel_button1, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (save_error_log_ok), "clicked", GTK_SIGNAL_FUNC (on_save_error_log_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel_button1), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); return error_log_filesel; } GtkWidget* create_spherical_map_window (void) { GtkWidget *spherical_map_window; GtkWidget *vbox189; GtkWidget *hbox267; GtkWidget *frame122; GtkWidget *vbox190; GtkWidget *hbox268; GtkWidget *frame123; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame124; GtkWidget *hbox269; GtkWidget *label298; GtkWidget *offset; GtkWidget *hseparator64; GtkWidget *hbox270; GtkWidget *label299; GtkWidget *hbox271; GtkWidget *ok; GtkWidget *cancel; spherical_map_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (spherical_map_window, "spherical_map_window"); gtk_object_set_data (GTK_OBJECT (spherical_map_window), "spherical_map_window", spherical_map_window); gtk_window_set_title (GTK_WINDOW (spherical_map_window), _("Spherical Map")); vbox189 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox189, "vbox189"); gtk_widget_ref (vbox189); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "vbox189", vbox189, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox189); gtk_container_add (GTK_CONTAINER (spherical_map_window), vbox189); hbox267 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox267, "hbox267"); gtk_widget_ref (hbox267); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "hbox267", hbox267, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox267); gtk_box_pack_start (GTK_BOX (vbox189), hbox267, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox267), 8); frame122 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame122, "frame122"); gtk_widget_ref (frame122); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "frame122", frame122, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame122); gtk_box_pack_start (GTK_BOX (hbox267), frame122, FALSE, FALSE, 0); vbox190 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox190, "vbox190"); gtk_widget_ref (vbox190); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "vbox190", vbox190, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox190); gtk_container_add (GTK_CONTAINER (frame122), vbox190); hbox268 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox268, "hbox268"); gtk_widget_ref (hbox268); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "hbox268", hbox268, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox268); gtk_box_pack_start (GTK_BOX (vbox190), hbox268, FALSE, FALSE, 0); frame123 = gtk_frame_new (NULL); gtk_widget_set_name (frame123, "frame123"); gtk_widget_ref (frame123); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "frame123", frame123, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame123); gtk_box_pack_start (GTK_BOX (hbox268), frame123, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame123), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame123), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox190), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame124 = gtk_frame_new (_("Parameters")); gtk_widget_set_name (frame124, "frame124"); gtk_widget_ref (frame124); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "frame124", frame124, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame124); gtk_box_pack_start (GTK_BOX (hbox267), frame124, TRUE, TRUE, 0); hbox269 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox269, "hbox269"); gtk_widget_ref (hbox269); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "hbox269", hbox269, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox269); gtk_container_add (GTK_CONTAINER (frame124), hbox269); gtk_container_set_border_width (GTK_CONTAINER (hbox269), 8); label298 = gtk_label_new (_("Edge tile offset")); gtk_widget_set_name (label298, "label298"); gtk_widget_ref (label298); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "label298", label298, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label298); gtk_box_pack_start (GTK_BOX (hbox269), label298, FALSE, FALSE, 0); offset = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.1, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (offset, "offset"); gtk_widget_ref (offset); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "offset", offset, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (offset); gtk_box_pack_start (GTK_BOX (hbox269), offset, TRUE, TRUE, 0); gtk_widget_set_usize (offset, 150, -2); gtk_scale_set_digits (GTK_SCALE (offset), 2); hseparator64 = gtk_hseparator_new (); gtk_widget_set_name (hseparator64, "hseparator64"); gtk_widget_ref (hseparator64); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "hseparator64", hseparator64, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator64); gtk_box_pack_start (GTK_BOX (vbox189), hseparator64, FALSE, FALSE, 0); hbox270 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox270, "hbox270"); gtk_widget_ref (hbox270); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "hbox270", hbox270, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox270); gtk_box_pack_start (GTK_BOX (vbox189), hbox270, FALSE, FALSE, 0); label299 = gtk_label_new (""); gtk_widget_set_name (label299, "label299"); gtk_widget_ref (label299); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "label299", label299, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label299); gtk_box_pack_start (GTK_BOX (hbox270), label299, TRUE, TRUE, 0); hbox271 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox271, "hbox271"); gtk_widget_ref (hbox271); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "hbox271", hbox271, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox271); gtk_box_pack_start (GTK_BOX (hbox270), hbox271, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox271), 8); ok = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (ok, "ok"); gtk_widget_ref (ok); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "ok", ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (ok); gtk_box_pack_start (GTK_BOX (hbox271), ok, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT); cancel = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (cancel, "cancel"); gtk_widget_ref (cancel); gtk_object_set_data_full (GTK_OBJECT (spherical_map_window), "cancel", cancel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cancel); gtk_box_pack_start (GTK_BOX (hbox271), cancel, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (ok), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cancel), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (cancel); return spherical_map_window; } GtkWidget* create_basins_window (void) { GtkWidget *basins_window; GtkWidget *vbox233; GtkWidget *hbox308; GtkWidget *frame147; GtkWidget *vbox234; GtkWidget *hbox309; GtkWidget *frame148; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame149; GtkWidget *vbox235; GtkWidget *hbox310; GtkWidget *label375; GtkWidget *iterations; GtkWidget *big_grid; GtkWidget *hseparator66; GtkWidget *hbox311; GtkWidget *label376; GtkWidget *hbox312; GtkWidget *button19; GtkWidget *button20; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); basins_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (basins_window, "basins_window"); gtk_object_set_data (GTK_OBJECT (basins_window), "basins_window", basins_window); gtk_window_set_title (GTK_WINDOW (basins_window), _("Fill Basins")); vbox233 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox233, "vbox233"); gtk_widget_ref (vbox233); gtk_object_set_data_full (GTK_OBJECT (basins_window), "vbox233", vbox233, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox233); gtk_container_add (GTK_CONTAINER (basins_window), vbox233); hbox308 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox308, "hbox308"); gtk_widget_ref (hbox308); gtk_object_set_data_full (GTK_OBJECT (basins_window), "hbox308", hbox308, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox308); gtk_box_pack_start (GTK_BOX (vbox233), hbox308, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox308), 8); frame147 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame147, "frame147"); gtk_widget_ref (frame147); gtk_object_set_data_full (GTK_OBJECT (basins_window), "frame147", frame147, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame147); gtk_box_pack_start (GTK_BOX (hbox308), frame147, FALSE, FALSE, 0); vbox234 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox234, "vbox234"); gtk_widget_ref (vbox234); gtk_object_set_data_full (GTK_OBJECT (basins_window), "vbox234", vbox234, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox234); gtk_container_add (GTK_CONTAINER (frame147), vbox234); hbox309 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox309, "hbox309"); gtk_widget_ref (hbox309); gtk_object_set_data_full (GTK_OBJECT (basins_window), "hbox309", hbox309, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox309); gtk_box_pack_start (GTK_BOX (vbox234), hbox309, FALSE, FALSE, 0); frame148 = gtk_frame_new (NULL); gtk_widget_set_name (frame148, "frame148"); gtk_widget_ref (frame148); gtk_object_set_data_full (GTK_OBJECT (basins_window), "frame148", frame148, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame148); gtk_box_pack_start (GTK_BOX (hbox309), frame148, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (frame148), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (basins_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame148), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (basins_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox234), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame149 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame149, "frame149"); gtk_widget_ref (frame149); gtk_object_set_data_full (GTK_OBJECT (basins_window), "frame149", frame149, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame149); gtk_box_pack_start (GTK_BOX (hbox308), frame149, TRUE, TRUE, 0); vbox235 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox235, "vbox235"); gtk_widget_ref (vbox235); gtk_object_set_data_full (GTK_OBJECT (basins_window), "vbox235", vbox235, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox235); gtk_container_add (GTK_CONTAINER (frame149), vbox235); gtk_container_set_border_width (GTK_CONTAINER (vbox235), 8); hbox310 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox310, "hbox310"); gtk_widget_ref (hbox310); gtk_object_set_data_full (GTK_OBJECT (basins_window), "hbox310", hbox310, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox310); gtk_box_pack_start (GTK_BOX (vbox235), hbox310, FALSE, FALSE, 0); label375 = gtk_label_new (_("Iterations")); gtk_widget_set_name (label375, "label375"); gtk_widget_ref (label375); gtk_object_set_data_full (GTK_OBJECT (basins_window), "label375", label375, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label375); gtk_box_pack_start (GTK_BOX (hbox310), label375, FALSE, FALSE, 0); iterations = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 100, 1, 0, 0))); gtk_widget_set_name (iterations, "iterations"); gtk_widget_ref (iterations); gtk_object_set_data_full (GTK_OBJECT (basins_window), "iterations", iterations, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (iterations); gtk_box_pack_start (GTK_BOX (hbox310), iterations, TRUE, TRUE, 0); gtk_widget_set_usize (iterations, 150, -2); gtk_scale_set_digits (GTK_SCALE (iterations), 0); big_grid = gtk_check_button_new_with_label (_("Big sampling grid")); gtk_widget_set_name (big_grid, "big_grid"); gtk_widget_ref (big_grid); gtk_object_set_data_full (GTK_OBJECT (basins_window), "big_grid", big_grid, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (big_grid); gtk_box_pack_start (GTK_BOX (vbox235), big_grid, FALSE, FALSE, 0); hseparator66 = gtk_hseparator_new (); gtk_widget_set_name (hseparator66, "hseparator66"); gtk_widget_ref (hseparator66); gtk_object_set_data_full (GTK_OBJECT (basins_window), "hseparator66", hseparator66, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator66); gtk_box_pack_start (GTK_BOX (vbox233), hseparator66, FALSE, FALSE, 0); hbox311 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox311, "hbox311"); gtk_widget_ref (hbox311); gtk_object_set_data_full (GTK_OBJECT (basins_window), "hbox311", hbox311, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox311); gtk_box_pack_start (GTK_BOX (vbox233), hbox311, FALSE, FALSE, 0); label376 = gtk_label_new (""); gtk_widget_set_name (label376, "label376"); gtk_widget_ref (label376); gtk_object_set_data_full (GTK_OBJECT (basins_window), "label376", label376, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label376); gtk_box_pack_start (GTK_BOX (hbox311), label376, TRUE, TRUE, 0); hbox312 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox312, "hbox312"); gtk_widget_ref (hbox312); gtk_object_set_data_full (GTK_OBJECT (basins_window), "hbox312", hbox312, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox312); gtk_box_pack_start (GTK_BOX (hbox311), hbox312, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox312), 8); button19 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button19, "button19"); gtk_widget_ref (button19); gtk_object_set_data_full (GTK_OBJECT (basins_window), "button19", button19, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button19); gtk_box_pack_start (GTK_BOX (hbox312), button19, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button19, GTK_CAN_DEFAULT); button20 = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (button20, "button20"); gtk_widget_ref (button20); gtk_object_set_data_full (GTK_OBJECT (basins_window), "button20", button20, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button20); gtk_box_pack_start (GTK_BOX (hbox312), button20, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button20, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button20, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (big_grid), "toggled", GTK_SIGNAL_FUNC (on_generic_toggled), NULL); gtk_signal_connect (GTK_OBJECT (button19), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button20), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (button20); gtk_window_add_accel_group (GTK_WINDOW (basins_window), accel_group); return basins_window; } GtkWidget* create_rescale_placed_objects_window (void) { GtkWidget *rescale_placed_objects_window; GtkWidget *vbox236; GtkWidget *vbox237; GtkWidget *table42; GtkWidget *label385; GtkWidget *label386; GtkWidget *label387; GtkWidget *label388; GtkWidget *scale_x; GtkWidget *variance_x; GtkWidget *scale_y; GtkWidget *variance_y; GtkWidget *scale_z; GtkWidget *variance_z; GtkWidget *label389; GtkWidget *label390; GtkWidget *label391; GtkWidget *label392; GtkWidget *proportional; GtkWidget *hseparator67; GtkWidget *new_seed; GtkWidget *hbox314; GtkWidget *label394; GtkWidget *seed; GtkWidget *hseparator68; GtkWidget *hbox315; GtkWidget *label395; GtkWidget *hbox316; GtkWidget *button21; GtkWidget *button22; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); rescale_placed_objects_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (rescale_placed_objects_window, "rescale_placed_objects_window"); gtk_object_set_data (GTK_OBJECT (rescale_placed_objects_window), "rescale_placed_objects_window", rescale_placed_objects_window); gtk_window_set_title (GTK_WINDOW (rescale_placed_objects_window), _("Place Objects")); vbox236 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox236, "vbox236"); gtk_widget_ref (vbox236); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "vbox236", vbox236, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox236); gtk_container_add (GTK_CONTAINER (rescale_placed_objects_window), vbox236); vbox237 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox237, "vbox237"); gtk_widget_ref (vbox237); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "vbox237", vbox237, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox237); gtk_box_pack_start (GTK_BOX (vbox236), vbox237, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox237), 8); table42 = gtk_table_new (2, 7, FALSE); gtk_widget_set_name (table42, "table42"); gtk_widget_ref (table42); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "table42", table42, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table42); gtk_box_pack_start (GTK_BOX (vbox237), table42, FALSE, FALSE, 0); gtk_table_set_row_spacings (GTK_TABLE (table42), 4); gtk_table_set_col_spacings (GTK_TABLE (table42), 8); label385 = gtk_label_new (_("Object scale")); gtk_widget_set_name (label385, "label385"); gtk_widget_ref (label385); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "label385", label385, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label385); gtk_table_attach (GTK_TABLE (table42), label385, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label386 = gtk_label_new (_("Variance")); gtk_widget_set_name (label386, "label386"); gtk_widget_ref (label386); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "label386", label386, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label386); gtk_table_attach (GTK_TABLE (table42), label386, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label387 = gtk_label_new (_("X")); gtk_widget_set_name (label387, "label387"); gtk_widget_ref (label387); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "label387", label387, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label387); gtk_table_attach (GTK_TABLE (table42), label387, 1, 2, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label388 = gtk_label_new (_("X")); gtk_widget_set_name (label388, "label388"); gtk_widget_ref (label388); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "label388", label388, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label388); gtk_table_attach (GTK_TABLE (table42), label388, 1, 2, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); scale_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 0.1, 10, 1, 0, 0))); gtk_widget_set_name (scale_x, "scale_x"); gtk_widget_ref (scale_x); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "scale_x", scale_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale_x); gtk_table_attach (GTK_TABLE (table42), scale_x, 2, 3, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (scale_x), 2); variance_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.2, 0, 1, 0.1, 0, 0))); gtk_widget_set_name (variance_x, "variance_x"); gtk_widget_ref (variance_x); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "variance_x", variance_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (variance_x); gtk_table_attach (GTK_TABLE (table42), variance_x, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); scale_y = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 0.1, 10, 0.01, 0, 0))); gtk_widget_set_name (scale_y, "scale_y"); gtk_widget_ref (scale_y); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "scale_y", scale_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale_y); gtk_table_attach (GTK_TABLE (table42), scale_y, 4, 5, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (scale_y), 2); variance_y = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.2, 0, 1, 0.1, 0, 0))); gtk_widget_set_name (variance_y, "variance_y"); gtk_widget_ref (variance_y); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "variance_y", variance_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (variance_y); gtk_table_attach (GTK_TABLE (table42), variance_y, 4, 5, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); scale_z = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 0.1, 10, 0.01, 0, 0))); gtk_widget_set_name (scale_z, "scale_z"); gtk_widget_ref (scale_z); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "scale_z", scale_z, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scale_z); gtk_table_attach (GTK_TABLE (table42), scale_z, 6, 7, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (scale_z), 2); variance_z = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.2, 0, 1, 0.1, 0, 0))); gtk_widget_set_name (variance_z, "variance_z"); gtk_widget_ref (variance_z); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "variance_z", variance_z, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (variance_z); gtk_table_attach (GTK_TABLE (table42), variance_z, 6, 7, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label389 = gtk_label_new (_("Y")); gtk_widget_set_name (label389, "label389"); gtk_widget_ref (label389); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "label389", label389, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label389); gtk_table_attach (GTK_TABLE (table42), label389, 3, 4, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label390 = gtk_label_new (_("Y")); gtk_widget_set_name (label390, "label390"); gtk_widget_ref (label390); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "label390", label390, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label390); gtk_table_attach (GTK_TABLE (table42), label390, 3, 4, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label391 = gtk_label_new (_("Z")); gtk_widget_set_name (label391, "label391"); gtk_widget_ref (label391); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "label391", label391, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label391); gtk_table_attach (GTK_TABLE (table42), label391, 5, 6, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label392 = gtk_label_new (_("Z")); gtk_widget_set_name (label392, "label392"); gtk_widget_ref (label392); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "label392", label392, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label392); gtk_table_attach (GTK_TABLE (table42), label392, 5, 6, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); proportional = gtk_check_button_new_with_label (_("Vary size proportionally")); gtk_widget_set_name (proportional, "proportional"); gtk_widget_ref (proportional); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "proportional", proportional, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (proportional); gtk_box_pack_start (GTK_BOX (vbox237), proportional, FALSE, FALSE, 0); hseparator67 = gtk_hseparator_new (); gtk_widget_set_name (hseparator67, "hseparator67"); gtk_widget_ref (hseparator67); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "hseparator67", hseparator67, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator67); gtk_box_pack_start (GTK_BOX (vbox237), hseparator67, FALSE, FALSE, 0); new_seed = gtk_check_button_new_with_label (_("Generate new seed")); gtk_widget_set_name (new_seed, "new_seed"); gtk_widget_ref (new_seed); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "new_seed", new_seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (new_seed); gtk_box_pack_start (GTK_BOX (vbox237), new_seed, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_seed), TRUE); hbox314 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox314, "hbox314"); gtk_widget_ref (hbox314); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "hbox314", hbox314, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox314); gtk_box_pack_start (GTK_BOX (vbox237), hbox314, TRUE, TRUE, 0); label394 = gtk_label_new (_("Specify seed")); gtk_widget_set_name (label394, "label394"); gtk_widget_ref (label394); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "label394", label394, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label394); gtk_box_pack_start (GTK_BOX (hbox314), label394, FALSE, FALSE, 0); gtk_widget_set_sensitive (label394, FALSE); seed = gtk_entry_new (); gtk_widget_set_name (seed, "seed"); gtk_widget_ref (seed); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "seed", seed, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (seed); gtk_box_pack_start (GTK_BOX (hbox314), seed, TRUE, TRUE, 0); gtk_widget_set_sensitive (seed, FALSE); gtk_entry_set_text (GTK_ENTRY (seed), _("0")); hseparator68 = gtk_hseparator_new (); gtk_widget_set_name (hseparator68, "hseparator68"); gtk_widget_ref (hseparator68); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "hseparator68", hseparator68, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator68); gtk_box_pack_start (GTK_BOX (vbox236), hseparator68, FALSE, FALSE, 0); hbox315 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox315, "hbox315"); gtk_widget_ref (hbox315); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "hbox315", hbox315, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox315); gtk_box_pack_start (GTK_BOX (vbox236), hbox315, FALSE, FALSE, 0); label395 = gtk_label_new (""); gtk_widget_set_name (label395, "label395"); gtk_widget_ref (label395); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "label395", label395, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label395); gtk_box_pack_start (GTK_BOX (hbox315), label395, TRUE, TRUE, 0); hbox316 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox316, "hbox316"); gtk_widget_ref (hbox316); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "hbox316", hbox316, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox316); gtk_box_pack_start (GTK_BOX (hbox315), hbox316, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox316), 8); button21 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button21, "button21"); gtk_widget_ref (button21); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "button21", button21, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button21); gtk_box_pack_start (GTK_BOX (hbox316), button21, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button21, GTK_CAN_DEFAULT); button22 = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (button22, "button22"); gtk_widget_ref (button22); gtk_object_set_data_full (GTK_OBJECT (rescale_placed_objects_window), "button22", button22, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button22); gtk_box_pack_start (GTK_BOX (hbox316), button22, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button22, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button22, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (new_seed), "toggled", GTK_SIGNAL_FUNC (on_generic_new_seed_toggled), NULL); gtk_signal_connect (GTK_OBJECT (button21), "clicked", GTK_SIGNAL_FUNC (on_place_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button22), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (button22); gtk_window_add_accel_group (GTK_WINDOW (rescale_placed_objects_window), accel_group); return rescale_placed_objects_window; } GtkWidget* create_terrain_options_window (void) { GtkWidget *terrain_options_window; GtkWidget *vbox240; GtkWidget *notebook3; GtkWidget *frame159; GtkWidget *hbox335; GtkWidget *vbox255; GtkWidget *hbox336; GtkWidget *label431; GtkWidget *render_wireframe_resolution; GtkWidget *hbox337; GtkWidget *label432; GtkWidget *render_camera_height_factor; GtkWidget *label430; GtkWidget *vbox243; GtkWidget *frame160; GtkWidget *hbox338; GtkWidget *label433; GtkWidget *render_levels; GtkWidget *label410; GtkWidget *hseparator69; GtkWidget *hbox333; GtkWidget *label429; GtkWidget *hbox334; GtkWidget *button23; GtkWidget *button24; GtkWidget *button25; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); terrain_options_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (terrain_options_window, "terrain_options_window"); gtk_object_set_data (GTK_OBJECT (terrain_options_window), "terrain_options_window", terrain_options_window); gtk_window_set_title (GTK_WINDOW (terrain_options_window), _("Terrain Options")); vbox240 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox240, "vbox240"); gtk_widget_ref (vbox240); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "vbox240", vbox240, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox240); gtk_container_add (GTK_CONTAINER (terrain_options_window), vbox240); notebook3 = gtk_notebook_new (); gtk_widget_set_name (notebook3, "notebook3"); gtk_widget_ref (notebook3); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "notebook3", notebook3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (notebook3); gtk_box_pack_start (GTK_BOX (vbox240), notebook3, TRUE, TRUE, 0); frame159 = gtk_frame_new (_("3d Views")); gtk_widget_set_name (frame159, "frame159"); gtk_widget_ref (frame159); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "frame159", frame159, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame159); gtk_container_add (GTK_CONTAINER (notebook3), frame159); hbox335 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox335, "hbox335"); gtk_widget_ref (hbox335); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "hbox335", hbox335, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox335); gtk_container_add (GTK_CONTAINER (frame159), hbox335); vbox255 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox255, "vbox255"); gtk_widget_ref (vbox255); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "vbox255", vbox255, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox255); gtk_box_pack_start (GTK_BOX (hbox335), vbox255, TRUE, TRUE, 0); hbox336 = gtk_hbox_new (TRUE, 0); gtk_widget_set_name (hbox336, "hbox336"); gtk_widget_ref (hbox336); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "hbox336", hbox336, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox336); gtk_box_pack_start (GTK_BOX (vbox255), hbox336, TRUE, TRUE, 0); label431 = gtk_label_new (_("Wireframe Resolution")); gtk_widget_set_name (label431, "label431"); gtk_widget_ref (label431); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "label431", label431, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label431); gtk_box_pack_start (GTK_BOX (hbox336), label431, FALSE, FALSE, 0); gtk_misc_set_padding (GTK_MISC (label431), 10, 0); render_wireframe_resolution = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 50, 1, 0, 0))); gtk_widget_set_name (render_wireframe_resolution, "render_wireframe_resolution"); gtk_widget_ref (render_wireframe_resolution); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "render_wireframe_resolution", render_wireframe_resolution, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_wireframe_resolution); gtk_box_pack_start (GTK_BOX (hbox336), render_wireframe_resolution, TRUE, TRUE, 0); gtk_scale_set_digits (GTK_SCALE (render_wireframe_resolution), 0); hbox337 = gtk_hbox_new (TRUE, 0); gtk_widget_set_name (hbox337, "hbox337"); gtk_widget_ref (hbox337); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "hbox337", hbox337, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox337); gtk_box_pack_start (GTK_BOX (vbox255), hbox337, TRUE, TRUE, 0); label432 = gtk_label_new (_("Camera Height Factor")); gtk_widget_set_name (label432, "label432"); gtk_widget_ref (label432); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "label432", label432, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label432); gtk_box_pack_start (GTK_BOX (hbox337), label432, FALSE, FALSE, 0); gtk_misc_set_padding (GTK_MISC (label432), 10, 0); render_camera_height_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.33, 0, 1, 1, 0, 0))); gtk_widget_set_name (render_camera_height_factor, "render_camera_height_factor"); gtk_widget_ref (render_camera_height_factor); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "render_camera_height_factor", render_camera_height_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_camera_height_factor); gtk_box_pack_start (GTK_BOX (hbox337), render_camera_height_factor, TRUE, TRUE, 0); gtk_scale_set_digits (GTK_SCALE (render_camera_height_factor), 2); label430 = gtk_label_new (_("3D Views")); gtk_widget_set_name (label430, "label430"); gtk_widget_ref (label430); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "label430", label430, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label430); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook3), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook3), 0), label430); vbox243 = gtk_vbox_new (FALSE, 8); gtk_widget_set_name (vbox243, "vbox243"); gtk_widget_ref (vbox243); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "vbox243", vbox243, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox243); gtk_container_add (GTK_CONTAINER (notebook3), vbox243); gtk_container_set_border_width (GTK_CONTAINER (vbox243), 1); frame160 = gtk_frame_new (_("Contour Line Map")); gtk_widget_set_name (frame160, "frame160"); gtk_widget_ref (frame160); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "frame160", frame160, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame160); gtk_box_pack_start (GTK_BOX (vbox243), frame160, TRUE, TRUE, 0); hbox338 = gtk_hbox_new (TRUE, 0); gtk_widget_set_name (hbox338, "hbox338"); gtk_widget_ref (hbox338); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "hbox338", hbox338, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox338); gtk_container_add (GTK_CONTAINER (frame160), hbox338); label433 = gtk_label_new (_("Number of Levels")); gtk_widget_set_name (label433, "label433"); gtk_widget_ref (label433); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "label433", label433, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label433); gtk_box_pack_start (GTK_BOX (hbox338), label433, TRUE, TRUE, 0); gtk_misc_set_padding (GTK_MISC (label433), 10, 0); render_levels = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 50, 1, 0, 0))); gtk_widget_set_name (render_levels, "render_levels"); gtk_widget_ref (render_levels); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "render_levels", render_levels, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_levels); gtk_box_pack_start (GTK_BOX (hbox338), render_levels, TRUE, TRUE, 0); gtk_scale_set_digits (GTK_SCALE (render_levels), 0); label410 = gtk_label_new (_("Contour Lines")); gtk_widget_set_name (label410, "label410"); gtk_widget_ref (label410); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "label410", label410, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label410); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook3), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook3), 1), label410); hseparator69 = gtk_hseparator_new (); gtk_widget_set_name (hseparator69, "hseparator69"); gtk_widget_ref (hseparator69); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "hseparator69", hseparator69, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator69); gtk_box_pack_start (GTK_BOX (vbox240), hseparator69, FALSE, FALSE, 0); hbox333 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox333, "hbox333"); gtk_widget_ref (hbox333); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "hbox333", hbox333, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox333); gtk_box_pack_start (GTK_BOX (vbox240), hbox333, FALSE, FALSE, 0); label429 = gtk_label_new (""); gtk_widget_set_name (label429, "label429"); gtk_widget_ref (label429); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "label429", label429, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label429); gtk_box_pack_start (GTK_BOX (hbox333), label429, TRUE, TRUE, 0); hbox334 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox334, "hbox334"); gtk_widget_ref (hbox334); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "hbox334", hbox334, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox334); gtk_box_pack_start (GTK_BOX (hbox333), hbox334, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox334), 8); button23 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button23, "button23"); gtk_widget_ref (button23); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "button23", button23, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button23); gtk_box_pack_start (GTK_BOX (hbox334), button23, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button23, GTK_CAN_DEFAULT); button24 = gnome_stock_button (GNOME_STOCK_BUTTON_APPLY); gtk_widget_set_name (button24, "button24"); gtk_widget_ref (button24); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "button24", button24, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button24); gtk_box_pack_start (GTK_BOX (hbox334), button24, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button24, GTK_CAN_DEFAULT); button25 = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (button25, "button25"); gtk_widget_ref (button25); gtk_object_set_data_full (GTK_OBJECT (terrain_options_window), "button25", button25, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button25); gtk_box_pack_start (GTK_BOX (hbox334), button25, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button25, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button25, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (button23), "clicked", GTK_SIGNAL_FUNC (on_terrain_options_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button24), "clicked", GTK_SIGNAL_FUNC (on_terrain_options_apply_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button25), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (button25); gtk_window_add_accel_group (GTK_WINDOW (terrain_options_window), accel_group); return terrain_options_window; } GtkWidget* create_scene_options_window (void) { GtkWidget *scene_options_window; GtkWidget *vbox272; GtkWidget *notebook5; GtkWidget *vbox311; GtkWidget *frame222; GtkWidget *hbox411; GtkWidget *vbox373; GtkWidget *frame223; GtkWidget *preview; GtkWidget *vseparator1; GtkWidget *vbox365; GtkWidget *table82; GtkWidget *label625; GtkWidget *label626; GtkObject *render_camera_x_adj; GtkWidget *render_camera_x; GtkObject *render_camera_y_adj; GtkWidget *render_camera_y; GtkObject *render_camera_z_adj; GtkWidget *render_camera_z; GtkObject *render_lookat_x_adj; GtkWidget *render_lookat_x; GtkObject *render_lookat_y_adj; GtkWidget *render_lookat_y; GtkObject *render_lookat_z_adj; GtkWidget *render_lookat_z; GtkWidget *label627; GtkWidget *label628; GtkWidget *label629; GtkWidget *hseparator74; GtkWidget *table83; GtkWidget *render_observe_sealevel; GtkWidget *label_elev_offset; GtkObject *render_elevation_adj; GtkWidget *render_elevation; GtkWidget *label478; GtkWidget *vbox276; GtkWidget *vbox284; GtkWidget *vbox328; GtkWidget *frame196; GtkWidget *vbox329; GtkWidget *table68; GtkWidget *render_scale_x; GtkWidget *render_scale_z; GtkWidget *label562; GtkObject *spinbutton_render_scale_x_adj; GtkWidget *spinbutton_render_scale_x; GtkObject *spinbutton_render_scale_z_adj; GtkWidget *spinbutton_render_scale_z; GtkWidget *label561; GtkWidget *frame195; GtkWidget *hbox392; GtkWidget *label560; GtkWidget *render_y_scale_factor; GtkObject *spinbutton_render_y_scale_factor_adj; GtkWidget *spinbutton_render_y_scale_factor; GtkWidget *label482; GtkWidget *vbox278; GtkWidget *vbox314; GtkWidget *vbox320; GtkWidget *frame192; GtkWidget *vbox321; GtkWidget *hbox406; GtkWidget *lrender_fog_type; GtkWidget *vbox360; GtkWidget *render_atmosphere_type; GtkWidget *render_atmosphere_type_menu; GtkWidget *glade_menuitem; GtkWidget *render_fog; GtkWidget *render_ground_fog; GtkWidget *render_rainbow; GtkWidget *frame193; GtkWidget *vbox322; GtkWidget *table66; GtkWidget *render_fog_turbulence; GtkWidget *render_fog_offset; GtkWidget *render_fog_alt; GtkWidget *label554; GtkWidget *label611; GtkWidget *label612; GtkWidget *label613; GtkWidget *render_fog_density; GtkWidget *label486; GtkWidget *vbox361; GtkWidget *frame229; GtkWidget *vbox374; GtkWidget *checkbutton1; GtkWidget *hbox418; GtkWidget *label636; GtkWidget *vbox375; GtkWidget *render_star_type; GtkWidget *render_star_type_menu; GtkWidget *frame219; GtkWidget *vbox362; GtkWidget *render_clouds; GtkWidget *hbox408; GtkWidget *labelasbdc; GtkWidget *vbox364; GtkWidget *render_cloud_type; GtkWidget *render_cloud_type_menu; GtkWidget *frame227; GtkWidget *hbox416; GtkWidget *label634; GtkWidget *vbox371; GtkWidget *render_sky_type; GtkWidget *render_sky_type_menu; GtkWidget *label610; GtkWidget *vbox315; GtkWidget *frame187; GtkWidget *vbox323; GtkWidget *frame197; GtkWidget *render_filled_sea; GtkWidget *frame194; GtkWidget *vbox324; GtkWidget *table67; GtkWidget *render_sealevel; GtkWidget *render_clarity; GtkWidget *label556; GtkWidget *label557; GtkWidget *frame228; GtkWidget *hbox417; GtkWidget *label635; GtkWidget *vbox372; GtkWidget *render_water_type; GtkWidget *render_water_type_menu; GtkWidget *label489; GtkWidget *vbox316; GtkWidget *frame188; GtkWidget *table85; GtkWidget *render_theme; GtkWidget *render_theme_menu; GtkWidget *label558; GtkWidget *frame210; GtkWidget *table74; GtkWidget *label594; GtkWidget *label593; GtkObject *render_time_of_day_adj; GtkWidget *render_time_of_day; GtkObject *render_north_direction_adj; GtkWidget *render_north_direction; GtkWidget *label595; GtkWidget *render_autorender; GtkWidget *label492; GtkWidget *hseparator71; GtkWidget *hbox364; GtkWidget *label493; GtkWidget *hbox365; GtkWidget *button29; GtkWidget *button30; GtkWidget *button31; GtkAccelGroup *accel_group; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); accel_group = gtk_accel_group_new (); scene_options_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (scene_options_window, "scene_options_window"); gtk_object_set_data (GTK_OBJECT (scene_options_window), "scene_options_window", scene_options_window); gtk_window_set_title (GTK_WINDOW (scene_options_window), _("Scene Options")); vbox272 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox272, "vbox272"); gtk_widget_ref (vbox272); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox272", vbox272, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox272); gtk_container_add (GTK_CONTAINER (scene_options_window), vbox272); notebook5 = gtk_notebook_new (); gtk_widget_set_name (notebook5, "notebook5"); gtk_widget_ref (notebook5); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "notebook5", notebook5, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (notebook5); gtk_box_pack_start (GTK_BOX (vbox272), notebook5, TRUE, TRUE, 0); vbox311 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox311, "vbox311"); gtk_widget_ref (vbox311); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox311", vbox311, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox311); gtk_container_add (GTK_CONTAINER (notebook5), vbox311); frame222 = gtk_frame_new (_("Camera Parameters")); gtk_widget_set_name (frame222, "frame222"); gtk_widget_ref (frame222); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame222", frame222, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame222); gtk_box_pack_start (GTK_BOX (vbox311), frame222, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame222), 4); hbox411 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox411, "hbox411"); gtk_widget_ref (hbox411); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hbox411", hbox411, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox411); gtk_container_add (GTK_CONTAINER (frame222), hbox411); gtk_container_set_border_width (GTK_CONTAINER (hbox411), 8); vbox373 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox373, "vbox373"); gtk_widget_ref (vbox373); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox373", vbox373, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox373); gtk_box_pack_start (GTK_BOX (hbox411), vbox373, TRUE, FALSE, 0); frame223 = gtk_frame_new (NULL); gtk_widget_set_name (frame223, "frame223"); gtk_widget_ref (frame223); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame223", frame223, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame223); gtk_box_pack_start (GTK_BOX (vbox373), frame223, FALSE, FALSE, 0); preview = create_terrain_preview_camera ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (frame223), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_tooltips_set_tip (tooltips, preview, _("Press the mouse button at the camera location and drag to where it should point"), NULL); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); vseparator1 = gtk_vseparator_new (); gtk_widget_set_name (vseparator1, "vseparator1"); gtk_widget_ref (vseparator1); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vseparator1", vseparator1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vseparator1); gtk_box_pack_start (GTK_BOX (hbox411), vseparator1, TRUE, TRUE, 0); vbox365 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox365, "vbox365"); gtk_widget_ref (vbox365); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox365", vbox365, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox365); gtk_box_pack_start (GTK_BOX (hbox411), vbox365, FALSE, FALSE, 0); table82 = gtk_table_new (3, 4, FALSE); gtk_widget_set_name (table82, "table82"); gtk_widget_ref (table82); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "table82", table82, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table82); gtk_box_pack_start (GTK_BOX (vbox365), table82, FALSE, FALSE, 0); gtk_table_set_row_spacings (GTK_TABLE (table82), 8); gtk_table_set_col_spacings (GTK_TABLE (table82), 8); label625 = gtk_label_new (_("Position")); gtk_widget_set_name (label625, "label625"); gtk_widget_ref (label625); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label625", label625, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label625); gtk_table_attach (GTK_TABLE (table82), label625, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label625), 0, 0.5); label626 = gtk_label_new (_("Look At")); gtk_widget_set_name (label626, "label626"); gtk_widget_ref (label626); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label626", label626, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label626); gtk_table_attach (GTK_TABLE (table82), label626, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label626), 0, 0.5); render_camera_x_adj = gtk_adjustment_new (0.5, -100, 100, 0.1, 1, 10); render_camera_x = gtk_spin_button_new (GTK_ADJUSTMENT (render_camera_x_adj), 1, 3); gtk_widget_set_name (render_camera_x, "render_camera_x"); gtk_widget_ref (render_camera_x); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_camera_x", render_camera_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_camera_x); gtk_table_attach (GTK_TABLE (table82), render_camera_x, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_usize (render_camera_x, 70, -2); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (render_camera_x), TRUE); render_camera_y_adj = gtk_adjustment_new (2.5, -100, 100, 0.1, 1, 10); render_camera_y = gtk_spin_button_new (GTK_ADJUSTMENT (render_camera_y_adj), 1, 3); gtk_widget_set_name (render_camera_y, "render_camera_y"); gtk_widget_ref (render_camera_y); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_camera_y", render_camera_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_camera_y); gtk_table_attach (GTK_TABLE (table82), render_camera_y, 2, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_usize (render_camera_y, 70, -2); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (render_camera_y), TRUE); render_camera_z_adj = gtk_adjustment_new (-1.25, -100, 100, 0.1, 1, 10); render_camera_z = gtk_spin_button_new (GTK_ADJUSTMENT (render_camera_z_adj), 1, 3); gtk_widget_set_name (render_camera_z, "render_camera_z"); gtk_widget_ref (render_camera_z); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_camera_z", render_camera_z, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_camera_z); gtk_table_attach (GTK_TABLE (table82), render_camera_z, 3, 4, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_usize (render_camera_z, 70, -2); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (render_camera_z), TRUE); render_lookat_x_adj = gtk_adjustment_new (0.5, -100, 100, 0.1, 1, 10); render_lookat_x = gtk_spin_button_new (GTK_ADJUSTMENT (render_lookat_x_adj), 1, 3); gtk_widget_set_name (render_lookat_x, "render_lookat_x"); gtk_widget_ref (render_lookat_x); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_lookat_x", render_lookat_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_lookat_x); gtk_table_attach (GTK_TABLE (table82), render_lookat_x, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_usize (render_lookat_x, 70, -2); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (render_lookat_x), TRUE); render_lookat_y_adj = gtk_adjustment_new (0, -100, 100, 0.1, 1, 10); render_lookat_y = gtk_spin_button_new (GTK_ADJUSTMENT (render_lookat_y_adj), 1, 3); gtk_widget_set_name (render_lookat_y, "render_lookat_y"); gtk_widget_ref (render_lookat_y); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_lookat_y", render_lookat_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_lookat_y); gtk_table_attach (GTK_TABLE (table82), render_lookat_y, 2, 3, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_usize (render_lookat_y, 70, -2); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (render_lookat_y), TRUE); render_lookat_z_adj = gtk_adjustment_new (0.5, -100, 100, 0.1, 1, 10); render_lookat_z = gtk_spin_button_new (GTK_ADJUSTMENT (render_lookat_z_adj), 1, 3); gtk_widget_set_name (render_lookat_z, "render_lookat_z"); gtk_widget_ref (render_lookat_z); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_lookat_z", render_lookat_z, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_lookat_z); gtk_table_attach (GTK_TABLE (table82), render_lookat_z, 3, 4, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_usize (render_lookat_z, 70, -2); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (render_lookat_z), TRUE); label627 = gtk_label_new (_("X")); gtk_widget_set_name (label627, "label627"); gtk_widget_ref (label627); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label627", label627, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label627); gtk_table_attach (GTK_TABLE (table82), label627, 1, 2, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label627), 0, 0.5); label628 = gtk_label_new (_("Y")); gtk_widget_set_name (label628, "label628"); gtk_widget_ref (label628); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label628", label628, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label628); gtk_table_attach (GTK_TABLE (table82), label628, 2, 3, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label628), 0, 0.5); label629 = gtk_label_new (_("Z")); gtk_widget_set_name (label629, "label629"); gtk_widget_ref (label629); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label629", label629, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label629); gtk_table_attach (GTK_TABLE (table82), label629, 3, 4, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label629), 0, 0.5); hseparator74 = gtk_hseparator_new (); gtk_widget_set_name (hseparator74, "hseparator74"); gtk_widget_ref (hseparator74); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hseparator74", hseparator74, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator74); gtk_box_pack_start (GTK_BOX (vbox365), hseparator74, TRUE, TRUE, 0); table83 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table83, "table83"); gtk_widget_ref (table83); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "table83", table83, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table83); gtk_box_pack_start (GTK_BOX (vbox365), table83, TRUE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (table83), 8); gtk_table_set_col_spacings (GTK_TABLE (table83), 8); render_observe_sealevel = gtk_check_button_new_with_label (_("Observe sealevel on position")); gtk_widget_set_name (render_observe_sealevel, "render_observe_sealevel"); gtk_widget_ref (render_observe_sealevel); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_observe_sealevel", render_observe_sealevel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_observe_sealevel); gtk_table_attach (GTK_TABLE (table83), render_observe_sealevel, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (render_observe_sealevel), TRUE); label_elev_offset = gtk_label_new (_("Elevation offset")); gtk_widget_set_name (label_elev_offset, "label_elev_offset"); gtk_widget_ref (label_elev_offset); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label_elev_offset", label_elev_offset, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_elev_offset); gtk_table_attach (GTK_TABLE (table83), label_elev_offset, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label_elev_offset), 0, 0.5); render_elevation_adj = gtk_adjustment_new (0.1, 0, 1, 0.01, 0.1, 10); render_elevation = gtk_spin_button_new (GTK_ADJUSTMENT (render_elevation_adj), 1, 2); gtk_widget_set_name (render_elevation, "render_elevation"); gtk_widget_ref (render_elevation); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_elevation", render_elevation, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_elevation); gtk_table_attach (GTK_TABLE (table83), render_elevation, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (render_elevation), TRUE); label478 = gtk_label_new (_("Camera")); gtk_widget_set_name (label478, "label478"); gtk_widget_ref (label478); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label478", label478, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label478); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook5), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook5), 0), label478); vbox276 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox276, "vbox276"); gtk_widget_ref (vbox276); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox276", vbox276, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox276); gtk_container_add (GTK_CONTAINER (notebook5), vbox276); vbox284 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox284, "vbox284"); gtk_widget_ref (vbox284); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox284", vbox284, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox284); gtk_box_pack_start (GTK_BOX (vbox276), vbox284, TRUE, TRUE, 0); vbox328 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox328, "vbox328"); gtk_widget_ref (vbox328); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox328", vbox328, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox328); gtk_box_pack_start (GTK_BOX (vbox284), vbox328, TRUE, TRUE, 0); frame196 = gtk_frame_new (_("Absolute Terrain Scale")); gtk_widget_set_name (frame196, "frame196"); gtk_widget_ref (frame196); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame196", frame196, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame196); gtk_box_pack_start (GTK_BOX (vbox328), frame196, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame196), 4); vbox329 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox329, "vbox329"); gtk_widget_ref (vbox329); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox329", vbox329, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox329); gtk_container_add (GTK_CONTAINER (frame196), vbox329); table68 = gtk_table_new (2, 3, FALSE); gtk_widget_set_name (table68, "table68"); gtk_widget_ref (table68); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "table68", table68, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table68); gtk_box_pack_start (GTK_BOX (vbox329), table68, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table68), 8); gtk_table_set_row_spacings (GTK_TABLE (table68), 8); gtk_table_set_col_spacings (GTK_TABLE (table68), 8); render_scale_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1000, 500, 25000, 100, 0, 0))); gtk_widget_set_name (render_scale_x, "render_scale_x"); gtk_widget_ref (render_scale_x); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_scale_x", render_scale_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_scale_x); gtk_table_attach (GTK_TABLE (table68), render_scale_x, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_draw_value (GTK_SCALE (render_scale_x), FALSE); gtk_scale_set_digits (GTK_SCALE (render_scale_x), 0); render_scale_z = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1000, 500, 25000, 100, 0, 0))); gtk_widget_set_name (render_scale_z, "render_scale_z"); gtk_widget_ref (render_scale_z); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_scale_z", render_scale_z, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_scale_z); gtk_table_attach (GTK_TABLE (table68), render_scale_z, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); gtk_scale_set_draw_value (GTK_SCALE (render_scale_z), FALSE); gtk_scale_set_digits (GTK_SCALE (render_scale_z), 0); label562 = gtk_label_new (_("Size Z")); gtk_widget_set_name (label562, "label562"); gtk_widget_ref (label562); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label562", label562, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label562); gtk_table_attach (GTK_TABLE (table68), label562, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_misc_set_alignment (GTK_MISC (label562), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label562), 10, 0); spinbutton_render_scale_x_adj = gtk_adjustment_new (1000, 500, 25000, 100, 1000, 10); spinbutton_render_scale_x = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_render_scale_x_adj), 1, 0); gtk_widget_set_name (spinbutton_render_scale_x, "spinbutton_render_scale_x"); gtk_widget_ref (spinbutton_render_scale_x); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "spinbutton_render_scale_x", spinbutton_render_scale_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (spinbutton_render_scale_x); gtk_table_attach (GTK_TABLE (table68), spinbutton_render_scale_x, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_usize (spinbutton_render_scale_x, 70, -2); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_render_scale_x), TRUE); spinbutton_render_scale_z_adj = gtk_adjustment_new (1000, 500, 25000, 100, 1000, 10); spinbutton_render_scale_z = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_render_scale_z_adj), 1, 0); gtk_widget_set_name (spinbutton_render_scale_z, "spinbutton_render_scale_z"); gtk_widget_ref (spinbutton_render_scale_z); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "spinbutton_render_scale_z", spinbutton_render_scale_z, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (spinbutton_render_scale_z); gtk_table_attach (GTK_TABLE (table68), spinbutton_render_scale_z, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_usize (spinbutton_render_scale_z, 70, -2); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_render_scale_z), TRUE); label561 = gtk_label_new (_("Size X")); gtk_widget_set_name (label561, "label561"); gtk_widget_ref (label561); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label561", label561, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label561); gtk_table_attach (GTK_TABLE (table68), label561, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_misc_set_alignment (GTK_MISC (label561), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label561), 10, 0); frame195 = gtk_frame_new (_("Relative Y Scale")); gtk_widget_set_name (frame195, "frame195"); gtk_widget_ref (frame195); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame195", frame195, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame195); gtk_box_pack_start (GTK_BOX (vbox328), frame195, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame195), 4); hbox392 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox392, "hbox392"); gtk_widget_ref (hbox392); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hbox392", hbox392, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox392); gtk_container_add (GTK_CONTAINER (frame195), hbox392); gtk_container_set_border_width (GTK_CONTAINER (hbox392), 8); label560 = gtk_label_new (_("Size Y")); gtk_widget_set_name (label560, "label560"); gtk_widget_ref (label560); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label560", label560, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label560); gtk_box_pack_start (GTK_BOX (hbox392), label560, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label560), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label560), 10, 0); render_y_scale_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.33, 0.01, 1, 0.01, 0.1, 0))); gtk_widget_set_name (render_y_scale_factor, "render_y_scale_factor"); gtk_widget_ref (render_y_scale_factor); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_y_scale_factor", render_y_scale_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_y_scale_factor); gtk_box_pack_start (GTK_BOX (hbox392), render_y_scale_factor, TRUE, TRUE, 0); gtk_scale_set_draw_value (GTK_SCALE (render_y_scale_factor), FALSE); gtk_scale_set_digits (GTK_SCALE (render_y_scale_factor), 2); spinbutton_render_y_scale_factor_adj = gtk_adjustment_new (0.33, 0, 1, 0.01, 10, 10); spinbutton_render_y_scale_factor = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_render_y_scale_factor_adj), 1, 2); gtk_widget_set_name (spinbutton_render_y_scale_factor, "spinbutton_render_y_scale_factor"); gtk_widget_ref (spinbutton_render_y_scale_factor); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "spinbutton_render_y_scale_factor", spinbutton_render_y_scale_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (spinbutton_render_y_scale_factor); gtk_box_pack_start (GTK_BOX (hbox392), spinbutton_render_y_scale_factor, FALSE, TRUE, 0); gtk_widget_set_usize (spinbutton_render_y_scale_factor, 70, -2); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_render_y_scale_factor), TRUE); label482 = gtk_label_new (_("Scaling")); gtk_widget_set_name (label482, "label482"); gtk_widget_ref (label482); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label482", label482, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label482); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook5), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook5), 1), label482); vbox278 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox278, "vbox278"); gtk_widget_ref (vbox278); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox278", vbox278, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox278); gtk_container_add (GTK_CONTAINER (notebook5), vbox278); vbox314 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox314, "vbox314"); gtk_widget_ref (vbox314); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox314", vbox314, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox314); gtk_box_pack_start (GTK_BOX (vbox278), vbox314, TRUE, TRUE, 0); vbox320 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox320, "vbox320"); gtk_widget_ref (vbox320); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox320", vbox320, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox320); gtk_box_pack_start (GTK_BOX (vbox314), vbox320, TRUE, TRUE, 0); frame192 = gtk_frame_new (NULL); gtk_widget_set_name (frame192, "frame192"); gtk_widget_ref (frame192); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame192", frame192, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame192); gtk_box_pack_start (GTK_BOX (vbox320), frame192, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame192), 4); vbox321 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox321, "vbox321"); gtk_widget_ref (vbox321); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox321", vbox321, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox321); gtk_container_add (GTK_CONTAINER (frame192), vbox321); gtk_container_set_border_width (GTK_CONTAINER (vbox321), 8); hbox406 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox406, "hbox406"); gtk_widget_ref (hbox406); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hbox406", hbox406, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox406); gtk_box_pack_start (GTK_BOX (vbox321), hbox406, TRUE, TRUE, 0); lrender_fog_type = gtk_label_new (_("Atmosphere Type")); gtk_widget_set_name (lrender_fog_type, "lrender_fog_type"); gtk_widget_ref (lrender_fog_type); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "lrender_fog_type", lrender_fog_type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lrender_fog_type); gtk_box_pack_start (GTK_BOX (hbox406), lrender_fog_type, FALSE, FALSE, 0); vbox360 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox360, "vbox360"); gtk_widget_ref (vbox360); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox360", vbox360, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox360); gtk_box_pack_start (GTK_BOX (hbox406), vbox360, TRUE, TRUE, 0); render_atmosphere_type = gtk_option_menu_new (); gtk_widget_set_name (render_atmosphere_type, "render_atmosphere_type"); gtk_widget_ref (render_atmosphere_type); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_atmosphere_type", render_atmosphere_type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_atmosphere_type); gtk_box_pack_start (GTK_BOX (vbox360), render_atmosphere_type, TRUE, FALSE, 0); render_atmosphere_type_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("empty")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (render_atmosphere_type_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (render_atmosphere_type), render_atmosphere_type_menu); render_fog = gtk_check_button_new_with_label (_("Fog")); gtk_widget_set_name (render_fog, "render_fog"); gtk_widget_ref (render_fog); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_fog", render_fog, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_fog); gtk_box_pack_start (GTK_BOX (vbox321), render_fog, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (render_fog), TRUE); render_ground_fog = gtk_check_button_new_with_label (_("Ground Fog")); gtk_widget_set_name (render_ground_fog, "render_ground_fog"); gtk_widget_ref (render_ground_fog); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_ground_fog", render_ground_fog, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_ground_fog); gtk_box_pack_start (GTK_BOX (vbox321), render_ground_fog, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (render_ground_fog), TRUE); render_rainbow = gtk_check_button_new_with_label (_("Rainbow")); gtk_widget_set_name (render_rainbow, "render_rainbow"); gtk_widget_ref (render_rainbow); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_rainbow", render_rainbow, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_rainbow); gtk_box_pack_start (GTK_BOX (vbox321), render_rainbow, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (render_rainbow), TRUE); frame193 = gtk_frame_new (_("Fog Parameters")); gtk_widget_set_name (frame193, "frame193"); gtk_widget_ref (frame193); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame193", frame193, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame193); gtk_box_pack_start (GTK_BOX (vbox320), frame193, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame193), 4); vbox322 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox322, "vbox322"); gtk_widget_ref (vbox322); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox322", vbox322, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox322); gtk_container_add (GTK_CONTAINER (frame193), vbox322); table66 = gtk_table_new (4, 2, TRUE); gtk_widget_set_name (table66, "table66"); gtk_widget_ref (table66); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "table66", table66, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table66); gtk_box_pack_start (GTK_BOX (vbox322), table66, TRUE, TRUE, 0); render_fog_turbulence = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.33, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (render_fog_turbulence, "render_fog_turbulence"); gtk_widget_ref (render_fog_turbulence); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_fog_turbulence", render_fog_turbulence, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_fog_turbulence); gtk_table_attach (GTK_TABLE (table66), render_fog_turbulence, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (render_fog_turbulence), 2); render_fog_offset = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.25, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (render_fog_offset, "render_fog_offset"); gtk_widget_ref (render_fog_offset); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_fog_offset", render_fog_offset, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_fog_offset); gtk_table_attach (GTK_TABLE (table66), render_fog_offset, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (render_fog_offset), 2); render_fog_alt = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.08, 0, 0.5, 0.01, 0, 0))); gtk_widget_set_name (render_fog_alt, "render_fog_alt"); gtk_widget_ref (render_fog_alt); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_fog_alt", render_fog_alt, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_fog_alt); gtk_table_attach (GTK_TABLE (table66), render_fog_alt, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (render_fog_alt), 2); label554 = gtk_label_new (_("Fog Turbulence")); gtk_widget_set_name (label554, "label554"); gtk_widget_ref (label554); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label554", label554, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label554); gtk_table_attach (GTK_TABLE (table66), label554, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_misc_set_alignment (GTK_MISC (label554), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label554), 10, 0); label611 = gtk_label_new (_("Fog Density")); gtk_widget_set_name (label611, "label611"); gtk_widget_ref (label611); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label611", label611, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label611); gtk_table_attach (GTK_TABLE (table66), label611, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label611), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label611), 10, 0); label612 = gtk_label_new (_("Fog Alt")); gtk_widget_set_name (label612, "label612"); gtk_widget_ref (label612); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label612", label612, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label612); gtk_table_attach (GTK_TABLE (table66), label612, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_misc_set_alignment (GTK_MISC (label612), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label612), 10, 0); label613 = gtk_label_new (_("Fog Offset")); gtk_widget_set_name (label613, "label613"); gtk_widget_ref (label613); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label613", label613, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label613); gtk_table_attach (GTK_TABLE (table66), label613, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_misc_set_alignment (GTK_MISC (label613), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label613), 10, 0); render_fog_density = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.25, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (render_fog_density, "render_fog_density"); gtk_widget_ref (render_fog_density); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_fog_density", render_fog_density, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_fog_density); gtk_table_attach (GTK_TABLE (table66), render_fog_density, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (render_fog_density), 2); label486 = gtk_label_new (_("Atmosphere")); gtk_widget_set_name (label486, "label486"); gtk_widget_ref (label486); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label486", label486, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label486); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook5), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook5), 2), label486); vbox361 = gtk_vbox_new (TRUE, 0); gtk_widget_set_name (vbox361, "vbox361"); gtk_widget_ref (vbox361); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox361", vbox361, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox361); gtk_container_add (GTK_CONTAINER (notebook5), vbox361); frame229 = gtk_frame_new (_("Stars")); gtk_widget_set_name (frame229, "frame229"); gtk_widget_ref (frame229); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame229", frame229, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame229); gtk_box_pack_end (GTK_BOX (vbox361), frame229, TRUE, TRUE, 0); vbox374 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox374, "vbox374"); gtk_widget_ref (vbox374); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox374", vbox374, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox374); gtk_container_add (GTK_CONTAINER (frame229), vbox374); gtk_container_set_border_width (GTK_CONTAINER (vbox374), 8); checkbutton1 = gtk_check_button_new_with_label (_("Stars")); gtk_widget_set_name (checkbutton1, "checkbutton1"); gtk_widget_ref (checkbutton1); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "checkbutton1", checkbutton1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (checkbutton1); gtk_box_pack_start (GTK_BOX (vbox374), checkbutton1, FALSE, FALSE, 0); hbox418 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox418, "hbox418"); gtk_widget_ref (hbox418); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hbox418", hbox418, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox418); gtk_box_pack_start (GTK_BOX (vbox374), hbox418, TRUE, TRUE, 0); label636 = gtk_label_new (_("Star type ")); gtk_widget_set_name (label636, "label636"); gtk_widget_ref (label636); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label636", label636, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label636); gtk_box_pack_start (GTK_BOX (hbox418), label636, FALSE, FALSE, 0); vbox375 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox375, "vbox375"); gtk_widget_ref (vbox375); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox375", vbox375, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox375); gtk_box_pack_start (GTK_BOX (hbox418), vbox375, TRUE, TRUE, 0); render_star_type = gtk_option_menu_new (); gtk_widget_set_name (render_star_type, "render_star_type"); gtk_widget_ref (render_star_type); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_star_type", render_star_type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_star_type); gtk_box_pack_start (GTK_BOX (vbox375), render_star_type, TRUE, FALSE, 0); render_star_type_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("empty")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (render_star_type_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (render_star_type), render_star_type_menu); frame219 = gtk_frame_new (_("Clouds")); gtk_widget_set_name (frame219, "frame219"); gtk_widget_ref (frame219); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame219", frame219, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame219); gtk_box_pack_end (GTK_BOX (vbox361), frame219, FALSE, TRUE, 0); vbox362 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox362, "vbox362"); gtk_widget_ref (vbox362); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox362", vbox362, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox362); gtk_container_add (GTK_CONTAINER (frame219), vbox362); gtk_container_set_border_width (GTK_CONTAINER (vbox362), 8); render_clouds = gtk_check_button_new_with_label (_("Clouds")); gtk_widget_set_name (render_clouds, "render_clouds"); gtk_widget_ref (render_clouds); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_clouds", render_clouds, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_clouds); gtk_box_pack_start (GTK_BOX (vbox362), render_clouds, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (render_clouds), TRUE); hbox408 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox408, "hbox408"); gtk_widget_ref (hbox408); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hbox408", hbox408, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox408); gtk_box_pack_start (GTK_BOX (vbox362), hbox408, TRUE, TRUE, 0); labelasbdc = gtk_label_new (_("Cloud type ")); gtk_widget_set_name (labelasbdc, "labelasbdc"); gtk_widget_ref (labelasbdc); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "labelasbdc", labelasbdc, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (labelasbdc); gtk_box_pack_start (GTK_BOX (hbox408), labelasbdc, FALSE, FALSE, 0); vbox364 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox364, "vbox364"); gtk_widget_ref (vbox364); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox364", vbox364, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox364); gtk_box_pack_start (GTK_BOX (hbox408), vbox364, TRUE, TRUE, 0); render_cloud_type = gtk_option_menu_new (); gtk_widget_set_name (render_cloud_type, "render_cloud_type"); gtk_widget_ref (render_cloud_type); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_cloud_type", render_cloud_type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_cloud_type); gtk_box_pack_start (GTK_BOX (vbox364), render_cloud_type, TRUE, FALSE, 0); render_cloud_type_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("empty")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (render_cloud_type_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (render_cloud_type), render_cloud_type_menu); frame227 = gtk_frame_new (_("Sky")); gtk_widget_set_name (frame227, "frame227"); gtk_widget_ref (frame227); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame227", frame227, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame227); gtk_box_pack_start (GTK_BOX (vbox361), frame227, TRUE, TRUE, 0); hbox416 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox416, "hbox416"); gtk_widget_ref (hbox416); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hbox416", hbox416, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox416); gtk_container_add (GTK_CONTAINER (frame227), hbox416); label634 = gtk_label_new (_("Sky type ")); gtk_widget_set_name (label634, "label634"); gtk_widget_ref (label634); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label634", label634, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label634); gtk_box_pack_start (GTK_BOX (hbox416), label634, FALSE, FALSE, 0); gtk_misc_set_padding (GTK_MISC (label634), 8, 0); vbox371 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox371, "vbox371"); gtk_widget_ref (vbox371); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox371", vbox371, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox371); gtk_box_pack_start (GTK_BOX (hbox416), vbox371, TRUE, TRUE, 0); render_sky_type = gtk_option_menu_new (); gtk_widget_set_name (render_sky_type, "render_sky_type"); gtk_widget_ref (render_sky_type); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_sky_type", render_sky_type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_sky_type); gtk_box_pack_start (GTK_BOX (vbox371), render_sky_type, TRUE, FALSE, 0); render_sky_type_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("empty")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (render_sky_type_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (render_sky_type), render_sky_type_menu); label610 = gtk_label_new (_("Sky")); gtk_widget_set_name (label610, "label610"); gtk_widget_ref (label610); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label610", label610, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label610); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook5), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook5), 3), label610); vbox315 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox315, "vbox315"); gtk_widget_ref (vbox315); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox315", vbox315, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox315); gtk_container_add (GTK_CONTAINER (notebook5), vbox315); frame187 = gtk_frame_new (NULL); gtk_widget_set_name (frame187, "frame187"); gtk_widget_ref (frame187); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame187", frame187, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame187); gtk_box_pack_start (GTK_BOX (vbox315), frame187, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame187), 4); vbox323 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox323, "vbox323"); gtk_widget_ref (vbox323); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox323", vbox323, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox323); gtk_container_add (GTK_CONTAINER (frame187), vbox323); frame197 = gtk_frame_new (NULL); gtk_widget_set_name (frame197, "frame197"); gtk_widget_ref (frame197); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame197", frame197, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame197); gtk_box_pack_end (GTK_BOX (vbox323), frame197, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame197), 4); render_filled_sea = gtk_check_button_new_with_label (_("Filled Sea")); gtk_widget_set_name (render_filled_sea, "render_filled_sea"); gtk_widget_ref (render_filled_sea); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_filled_sea", render_filled_sea, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_filled_sea); gtk_container_add (GTK_CONTAINER (frame197), render_filled_sea); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (render_filled_sea), TRUE); frame194 = gtk_frame_new (_("Sea Parameters")); gtk_widget_set_name (frame194, "frame194"); gtk_widget_ref (frame194); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame194", frame194, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame194); gtk_box_pack_end (GTK_BOX (vbox323), frame194, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame194), 4); vbox324 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox324, "vbox324"); gtk_widget_ref (vbox324); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox324", vbox324, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox324); gtk_container_add (GTK_CONTAINER (frame194), vbox324); table67 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table67, "table67"); gtk_widget_ref (table67); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "table67", table67, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table67); gtk_box_pack_start (GTK_BOX (vbox324), table67, TRUE, TRUE, 0); render_sealevel = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.33, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (render_sealevel, "render_sealevel"); gtk_widget_ref (render_sealevel); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_sealevel", render_sealevel, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_sealevel); gtk_table_attach (GTK_TABLE (table67), render_sealevel, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (render_sealevel), 2); render_clarity = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.65, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (render_clarity, "render_clarity"); gtk_widget_ref (render_clarity); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_clarity", render_clarity, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_clarity); gtk_table_attach (GTK_TABLE (table67), render_clarity, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (render_clarity), 2); label556 = gtk_label_new (_("Water Clarity")); gtk_widget_set_name (label556, "label556"); gtk_widget_ref (label556); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label556", label556, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label556); gtk_table_attach (GTK_TABLE (table67), label556, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_misc_set_alignment (GTK_MISC (label556), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label556), 10, 0); label557 = gtk_label_new (_("Sealevel")); gtk_widget_set_name (label557, "label557"); gtk_widget_ref (label557); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label557", label557, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label557); gtk_table_attach (GTK_TABLE (table67), label557, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_misc_set_alignment (GTK_MISC (label557), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label557), 10, 0); frame228 = gtk_frame_new (_("Water Properties ")); gtk_widget_set_name (frame228, "frame228"); gtk_widget_ref (frame228); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame228", frame228, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame228); gtk_box_pack_end (GTK_BOX (vbox323), frame228, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame228), 4); hbox417 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox417, "hbox417"); gtk_widget_ref (hbox417); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hbox417", hbox417, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox417); gtk_container_add (GTK_CONTAINER (frame228), hbox417); label635 = gtk_label_new (_("Water type ")); gtk_widget_set_name (label635, "label635"); gtk_widget_ref (label635); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label635", label635, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label635); gtk_box_pack_start (GTK_BOX (hbox417), label635, FALSE, FALSE, 0); gtk_misc_set_padding (GTK_MISC (label635), 8, 0); vbox372 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox372, "vbox372"); gtk_widget_ref (vbox372); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox372", vbox372, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox372); gtk_box_pack_start (GTK_BOX (hbox417), vbox372, TRUE, TRUE, 0); render_water_type = gtk_option_menu_new (); gtk_widget_set_name (render_water_type, "render_water_type"); gtk_widget_ref (render_water_type); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_water_type", render_water_type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_water_type); gtk_box_pack_start (GTK_BOX (vbox372), render_water_type, TRUE, FALSE, 0); render_water_type_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("empty")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (render_water_type_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (render_water_type), render_water_type_menu); label489 = gtk_label_new (_("Sea")); gtk_widget_set_name (label489, "label489"); gtk_widget_ref (label489); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label489", label489, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label489); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook5), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook5), 4), label489); vbox316 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox316, "vbox316"); gtk_widget_ref (vbox316); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "vbox316", vbox316, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox316); gtk_container_add (GTK_CONTAINER (notebook5), vbox316); frame188 = gtk_frame_new (NULL); gtk_widget_set_name (frame188, "frame188"); gtk_widget_ref (frame188); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame188", frame188, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame188); gtk_box_pack_start (GTK_BOX (vbox316), frame188, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame188), 4); table85 = gtk_table_new (1, 2, TRUE); gtk_widget_set_name (table85, "table85"); gtk_widget_ref (table85); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "table85", table85, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table85); gtk_container_add (GTK_CONTAINER (frame188), table85); gtk_container_set_border_width (GTK_CONTAINER (table85), 4); gtk_table_set_row_spacings (GTK_TABLE (table85), 8); gtk_table_set_col_spacings (GTK_TABLE (table85), 8); render_theme = gtk_option_menu_new (); gtk_widget_set_name (render_theme, "render_theme"); gtk_widget_ref (render_theme); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_theme", render_theme, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_theme); gtk_table_attach (GTK_TABLE (table85), render_theme, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); render_theme_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("empty")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (render_theme_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (render_theme), render_theme_menu); label558 = gtk_label_new (_("Terrain theme")); gtk_widget_set_name (label558, "label558"); gtk_widget_ref (label558); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label558", label558, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label558); gtk_table_attach (GTK_TABLE (table85), label558, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); frame210 = gtk_frame_new (NULL); gtk_widget_set_name (frame210, "frame210"); gtk_widget_ref (frame210); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "frame210", frame210, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame210); gtk_box_pack_start (GTK_BOX (vbox316), frame210, FALSE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame210), 4); table74 = gtk_table_new (3, 2, FALSE); gtk_widget_set_name (table74, "table74"); gtk_widget_ref (table74); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "table74", table74, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table74); gtk_container_add (GTK_CONTAINER (frame210), table74); gtk_container_set_border_width (GTK_CONTAINER (table74), 4); gtk_table_set_row_spacings (GTK_TABLE (table74), 8); gtk_table_set_col_spacings (GTK_TABLE (table74), 8); label594 = gtk_label_new (_("Time of Day")); gtk_widget_set_name (label594, "label594"); gtk_widget_ref (label594); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label594", label594, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label594); gtk_table_attach (GTK_TABLE (table74), label594, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label593 = gtk_label_new (_("North direction (degrees)")); gtk_widget_set_name (label593, "label593"); gtk_widget_ref (label593); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label593", label593, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label593); gtk_table_attach (GTK_TABLE (table74), label593, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); render_time_of_day_adj = gtk_adjustment_new (12, 0, 24, 0.1, 10, 10); render_time_of_day = gtk_spin_button_new (GTK_ADJUSTMENT (render_time_of_day_adj), 1, 1); gtk_widget_set_name (render_time_of_day, "render_time_of_day"); gtk_widget_ref (render_time_of_day); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_time_of_day", render_time_of_day, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_time_of_day); gtk_table_attach (GTK_TABLE (table74), render_time_of_day, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); render_north_direction_adj = gtk_adjustment_new (0, 0, 360, 1, 10, 10); render_north_direction = gtk_spin_button_new (GTK_ADJUSTMENT (render_north_direction_adj), 0, 0); gtk_widget_set_name (render_north_direction, "render_north_direction"); gtk_widget_ref (render_north_direction); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_north_direction", render_north_direction, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_north_direction); gtk_table_attach (GTK_TABLE (table74), render_north_direction, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); label595 = gtk_label_new (""); gtk_widget_set_name (label595, "label595"); gtk_widget_ref (label595); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label595", label595, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label595); gtk_table_attach (GTK_TABLE (table74), label595, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label595), 0, 0.5); render_autorender = gtk_check_button_new_with_label (_("Auto-render")); gtk_widget_set_name (render_autorender, "render_autorender"); gtk_widget_ref (render_autorender); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "render_autorender", render_autorender, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (render_autorender); gtk_table_attach (GTK_TABLE (table74), render_autorender, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (render_autorender), TRUE); label492 = gtk_label_new (_("POV-Ray")); gtk_widget_set_name (label492, "label492"); gtk_widget_ref (label492); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label492", label492, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label492); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook5), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook5), 5), label492); hseparator71 = gtk_hseparator_new (); gtk_widget_set_name (hseparator71, "hseparator71"); gtk_widget_ref (hseparator71); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hseparator71", hseparator71, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator71); gtk_box_pack_start (GTK_BOX (vbox272), hseparator71, FALSE, FALSE, 0); hbox364 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox364, "hbox364"); gtk_widget_ref (hbox364); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hbox364", hbox364, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox364); gtk_box_pack_start (GTK_BOX (vbox272), hbox364, FALSE, FALSE, 0); label493 = gtk_label_new (""); gtk_widget_set_name (label493, "label493"); gtk_widget_ref (label493); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "label493", label493, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label493); gtk_box_pack_start (GTK_BOX (hbox364), label493, TRUE, TRUE, 0); hbox365 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox365, "hbox365"); gtk_widget_ref (hbox365); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "hbox365", hbox365, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox365); gtk_box_pack_start (GTK_BOX (hbox364), hbox365, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox365), 8); button29 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button29, "button29"); gtk_widget_ref (button29); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "button29", button29, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button29); gtk_box_pack_start (GTK_BOX (hbox365), button29, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button29, GTK_CAN_DEFAULT); button30 = gnome_stock_button (GNOME_STOCK_BUTTON_APPLY); gtk_widget_set_name (button30, "button30"); gtk_widget_ref (button30); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "button30", button30, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button30); gtk_box_pack_start (GTK_BOX (hbox365), button30, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button30, GTK_CAN_DEFAULT); button31 = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (button31, "button31"); gtk_widget_ref (button31); gtk_object_set_data_full (GTK_OBJECT (scene_options_window), "button31", button31, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button31); gtk_box_pack_start (GTK_BOX (hbox365), button31, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button31, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button31, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (scene_options_window), "delete_event", GTK_SIGNAL_FUNC (on_scene_options_delete_event), NULL); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_render_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (preview), "button_release_event", GTK_SIGNAL_FUNC (on_render_preview_button_release_event), NULL); gtk_signal_connect (GTK_OBJECT (render_observe_sealevel), "toggled", GTK_SIGNAL_FUNC (on_observe_sealevel_checkbutton_toggled), NULL); gtk_signal_connect (GTK_OBJECT (checkbutton1), "toggled", GTK_SIGNAL_FUNC (on_render_clouds_toggled), NULL); gtk_signal_connect (GTK_OBJECT (render_clouds), "toggled", GTK_SIGNAL_FUNC (on_render_clouds_toggled), NULL); gtk_signal_connect (GTK_OBJECT (button29), "clicked", GTK_SIGNAL_FUNC (on_scene_options_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button30), "clicked", GTK_SIGNAL_FUNC (on_scene_options_apply_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button31), "clicked", GTK_SIGNAL_FUNC (on_scene_options_cancel_clicked), NULL); gtk_widget_grab_default (button31); gtk_object_set_data (GTK_OBJECT (scene_options_window), "tooltips", tooltips); gtk_window_add_accel_group (GTK_WINDOW (scene_options_window), accel_group); return scene_options_window; } GtkWidget* create_povray_render_options_window (void) { GtkWidget *povray_render_options_window; GtkWidget *dialog_vbox2; GtkWidget *notebook7; GtkWidget *vbox356; GtkWidget *file_options; GtkWidget *table77; GtkWidget *file_type; GtkWidget *filename_label; GtkWidget *fileentry_povray_filename; GtkWidget *combo_entry_filename; GtkWidget *optionmenu_filetype; GtkWidget *optionmenu_filetype_menu; GtkWidget *glade_menuitem; GtkWidget *image_size; GtkWidget *table76; GtkWidget *custom_size; GtkWidget *image_size_label; GtkWidget *label_x; GtkObject *image_width_adj; GtkWidget *image_width; GtkObject *image_height_adj; GtkWidget *image_height; GtkWidget *optionmenu_render_size; GtkWidget *optionmenu_render_size_menu; GtkWidget *output; GtkWidget *vbox357; GtkWidget *frame217; GtkWidget *hbox402; GtkWidget *label605; GtkWidget *optionmenu_quality; GtkWidget *optionmenu_quality_menu; GtkWidget *frame218; GtkWidget *table78; GtkWidget *use_antialiasing; GtkWidget *label_depth; GtkObject *aa_threshold_adj; GtkWidget *aa_threshold; GtkWidget *label_amount; GtkWidget *use_jitter; GtkWidget *label_method; GtkWidget *label_threshold; GtkWidget *optionmenu_aa_type; GtkWidget *optionmenu_aa_type_menu; GtkObject *aa_depth_adj; GtkWidget *aa_depth; GtkObject *jitter_amount_adj; GtkWidget *jitter_amount; GtkWidget *quality; GtkWidget *dialog_action_area2; GtkWidget *povray_render_options_ok; GtkWidget *button36; GtkWidget *button37; povray_render_options_window = gnome_dialog_new (_("Render Options"), NULL); gtk_widget_set_name (povray_render_options_window, "povray_render_options_window"); gtk_object_set_data (GTK_OBJECT (povray_render_options_window), "povray_render_options_window", povray_render_options_window); gtk_window_set_policy (GTK_WINDOW (povray_render_options_window), FALSE, FALSE, FALSE); dialog_vbox2 = GNOME_DIALOG (povray_render_options_window)->vbox; gtk_widget_set_name (dialog_vbox2, "dialog_vbox2"); gtk_object_set_data (GTK_OBJECT (povray_render_options_window), "dialog_vbox2", dialog_vbox2); gtk_widget_show (dialog_vbox2); notebook7 = gtk_notebook_new (); gtk_widget_set_name (notebook7, "notebook7"); gtk_widget_ref (notebook7); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "notebook7", notebook7, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (notebook7); gtk_box_pack_start (GTK_BOX (dialog_vbox2), notebook7, TRUE, TRUE, 0); vbox356 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox356, "vbox356"); gtk_widget_ref (vbox356); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "vbox356", vbox356, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox356); gtk_container_add (GTK_CONTAINER (notebook7), vbox356); file_options = gtk_frame_new (_("File Options")); gtk_widget_set_name (file_options, "file_options"); gtk_widget_ref (file_options); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "file_options", file_options, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (file_options); gtk_box_pack_start (GTK_BOX (vbox356), file_options, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (file_options), 8); table77 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table77, "table77"); gtk_widget_ref (table77); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "table77", table77, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table77); gtk_container_add (GTK_CONTAINER (file_options), table77); gtk_container_set_border_width (GTK_CONTAINER (table77), 8); gtk_table_set_row_spacings (GTK_TABLE (table77), 8); gtk_table_set_col_spacings (GTK_TABLE (table77), 4); file_type = gtk_label_new (_("File type")); gtk_widget_set_name (file_type, "file_type"); gtk_widget_ref (file_type); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "file_type", file_type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (file_type); gtk_table_attach (GTK_TABLE (table77), file_type, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (file_type), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (file_type), 7.45058e-09, 0.5); filename_label = gtk_label_new (_("Filename")); gtk_widget_set_name (filename_label, "filename_label"); gtk_widget_ref (filename_label); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "filename_label", filename_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (filename_label); gtk_table_attach (GTK_TABLE (table77), filename_label, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (filename_label), GTK_JUSTIFY_LEFT); fileentry_povray_filename = gnome_file_entry_new (NULL, NULL); gtk_widget_set_name (fileentry_povray_filename, "fileentry_povray_filename"); gtk_widget_ref (fileentry_povray_filename); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "fileentry_povray_filename", fileentry_povray_filename, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (fileentry_povray_filename); gtk_table_attach (GTK_TABLE (table77), fileentry_povray_filename, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gnome_file_entry_set_modal (GNOME_FILE_ENTRY (fileentry_povray_filename), TRUE); combo_entry_filename = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (fileentry_povray_filename)); gtk_widget_set_name (combo_entry_filename, "combo_entry_filename"); gtk_widget_ref (combo_entry_filename); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "combo_entry_filename", combo_entry_filename, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (combo_entry_filename); optionmenu_filetype = gtk_option_menu_new (); gtk_widget_set_name (optionmenu_filetype, "optionmenu_filetype"); gtk_widget_ref (optionmenu_filetype); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "optionmenu_filetype", optionmenu_filetype, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (optionmenu_filetype); gtk_table_attach (GTK_TABLE (table77), optionmenu_filetype, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); optionmenu_filetype_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("PNG")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_filetype_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("PPM")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_filetype_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("TGA")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_filetype_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("TGA (compressed)")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_filetype_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu_filetype), optionmenu_filetype_menu); image_size = gtk_frame_new (_("Image Size")); gtk_widget_set_name (image_size, "image_size"); gtk_widget_ref (image_size); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "image_size", image_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (image_size); gtk_box_pack_start (GTK_BOX (vbox356), image_size, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (image_size), 8); table76 = gtk_table_new (2, 4, FALSE); gtk_widget_set_name (table76, "table76"); gtk_widget_ref (table76); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "table76", table76, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table76); gtk_container_add (GTK_CONTAINER (image_size), table76); gtk_container_set_border_width (GTK_CONTAINER (table76), 8); gtk_table_set_row_spacings (GTK_TABLE (table76), 8); gtk_table_set_col_spacings (GTK_TABLE (table76), 4); custom_size = gtk_check_button_new_with_label (_("custom size")); gtk_widget_set_name (custom_size, "custom_size"); gtk_widget_ref (custom_size); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "custom_size", custom_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (custom_size); gtk_table_attach (GTK_TABLE (table76), custom_size, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); image_size_label = gtk_label_new (_("Image size")); gtk_widget_set_name (image_size_label, "image_size_label"); gtk_widget_ref (image_size_label); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "image_size_label", image_size_label, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (image_size_label); gtk_table_attach (GTK_TABLE (table76), image_size_label, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (image_size_label), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (image_size_label), 7.45058e-09, 0.5); label_x = gtk_label_new (_("x")); gtk_widget_set_name (label_x, "label_x"); gtk_widget_ref (label_x); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "label_x", label_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_x); gtk_table_attach (GTK_TABLE (table76), label_x, 2, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (label_x, FALSE); image_width_adj = gtk_adjustment_new (320, 10, 10000, 1, 10, 10); image_width = gtk_spin_button_new (GTK_ADJUSTMENT (image_width_adj), 1, 0); gtk_widget_set_name (image_width, "image_width"); gtk_widget_ref (image_width); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "image_width", image_width, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (image_width); gtk_table_attach (GTK_TABLE (table76), image_width, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_usize (image_width, 175, -2); gtk_widget_set_sensitive (image_width, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (image_width), TRUE); image_height_adj = gtk_adjustment_new (240, 10, 10000, 1, 10, 10); image_height = gtk_spin_button_new (GTK_ADJUSTMENT (image_height_adj), 1, 0); gtk_widget_set_name (image_height, "image_height"); gtk_widget_ref (image_height); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "image_height", image_height, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (image_height); gtk_table_attach (GTK_TABLE (table76), image_height, 3, 4, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_usize (image_height, 175, -2); gtk_widget_set_sensitive (image_height, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (image_height), TRUE); optionmenu_render_size = gtk_option_menu_new (); gtk_widget_set_name (optionmenu_render_size, "optionmenu_render_size"); gtk_widget_ref (optionmenu_render_size); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "optionmenu_render_size", optionmenu_render_size, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (optionmenu_render_size); gtk_table_attach (GTK_TABLE (table76), optionmenu_render_size, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); optionmenu_render_size_menu = gtk_menu_new (); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu_render_size), optionmenu_render_size_menu); output = gtk_label_new (_("Output")); gtk_widget_set_name (output, "output"); gtk_widget_ref (output); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "output", output, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (output); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook7), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook7), 0), output); vbox357 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox357, "vbox357"); gtk_widget_ref (vbox357); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "vbox357", vbox357, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox357); gtk_container_add (GTK_CONTAINER (notebook7), vbox357); frame217 = gtk_frame_new (_("General")); gtk_widget_set_name (frame217, "frame217"); gtk_widget_ref (frame217); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "frame217", frame217, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame217); gtk_box_pack_start (GTK_BOX (vbox357), frame217, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame217), 8); hbox402 = gtk_hbox_new (FALSE, 4); gtk_widget_set_name (hbox402, "hbox402"); gtk_widget_ref (hbox402); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "hbox402", hbox402, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox402); gtk_container_add (GTK_CONTAINER (frame217), hbox402); gtk_container_set_border_width (GTK_CONTAINER (hbox402), 8); label605 = gtk_label_new (_("Quality")); gtk_widget_set_name (label605, "label605"); gtk_widget_ref (label605); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "label605", label605, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label605); gtk_box_pack_start (GTK_BOX (hbox402), label605, TRUE, TRUE, 0); optionmenu_quality = gtk_option_menu_new (); gtk_widget_set_name (optionmenu_quality, "optionmenu_quality"); gtk_widget_ref (optionmenu_quality); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "optionmenu_quality", optionmenu_quality, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (optionmenu_quality); gtk_box_pack_start (GTK_BOX (hbox402), optionmenu_quality, TRUE, TRUE, 0); optionmenu_quality_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("0: Just show quick colors")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_quality_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("1: Just show quick colors")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_quality_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("2: Show specified diffuse and ambient light")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_quality_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("3: Show specified diffuse and ambient light")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_quality_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("4: Render shadows, but no extended lights")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_quality_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("5: Render shadows, including extended lights")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_quality_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("6: Compute texture patterns, compute photons")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_quality_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("7: Compute texture patterns, compute photons")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_quality_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("8: Compute reflected, refracted, and transmitted rays")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_quality_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("9: Compute media and radiosity")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_quality_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu_quality), optionmenu_quality_menu); frame218 = gtk_frame_new (_("Antialiasing")); gtk_widget_set_name (frame218, "frame218"); gtk_widget_ref (frame218); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "frame218", frame218, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame218); gtk_box_pack_start (GTK_BOX (vbox357), frame218, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame218), 8); table78 = gtk_table_new (3, 4, FALSE); gtk_widget_set_name (table78, "table78"); gtk_widget_ref (table78); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "table78", table78, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table78); gtk_container_add (GTK_CONTAINER (frame218), table78); gtk_container_set_border_width (GTK_CONTAINER (table78), 8); gtk_table_set_row_spacings (GTK_TABLE (table78), 8); gtk_table_set_col_spacings (GTK_TABLE (table78), 4); use_antialiasing = gtk_check_button_new_with_label (_("Use antialiasing")); gtk_widget_set_name (use_antialiasing, "use_antialiasing"); gtk_widget_ref (use_antialiasing); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "use_antialiasing", use_antialiasing, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_antialiasing); gtk_table_attach (GTK_TABLE (table78), use_antialiasing, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label_depth = gtk_label_new (_("Depth")); gtk_widget_set_name (label_depth, "label_depth"); gtk_widget_ref (label_depth); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "label_depth", label_depth, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_depth); gtk_table_attach (GTK_TABLE (table78), label_depth, 2, 3, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (label_depth, FALSE); aa_threshold_adj = gtk_adjustment_new (0.3, 0, 100, 0.1, 10, 10); aa_threshold = gtk_spin_button_new (GTK_ADJUSTMENT (aa_threshold_adj), 1, 1); gtk_widget_set_name (aa_threshold, "aa_threshold"); gtk_widget_ref (aa_threshold); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "aa_threshold", aa_threshold, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (aa_threshold); gtk_table_attach (GTK_TABLE (table78), aa_threshold, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (aa_threshold, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (aa_threshold), TRUE); label_amount = gtk_label_new (_("Amount")); gtk_widget_set_name (label_amount, "label_amount"); gtk_widget_ref (label_amount); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "label_amount", label_amount, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_amount); gtk_table_attach (GTK_TABLE (table78), label_amount, 2, 3, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (label_amount, FALSE); use_jitter = gtk_check_button_new_with_label (_("Use jitter")); gtk_widget_set_name (use_jitter, "use_jitter"); gtk_widget_ref (use_jitter); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "use_jitter", use_jitter, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_jitter); gtk_table_attach (GTK_TABLE (table78), use_jitter, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (use_jitter, FALSE); label_method = gtk_label_new (_("Method")); gtk_widget_set_name (label_method, "label_method"); gtk_widget_ref (label_method); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "label_method", label_method, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_method); gtk_table_attach (GTK_TABLE (table78), label_method, 2, 3, 0, 1, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (label_method, FALSE); label_threshold = gtk_label_new (_("Threshold")); gtk_widget_set_name (label_threshold, "label_threshold"); gtk_widget_ref (label_threshold); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "label_threshold", label_threshold, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label_threshold); gtk_table_attach (GTK_TABLE (table78), label_threshold, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (label_threshold, FALSE); gtk_label_set_justify (GTK_LABEL (label_threshold), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label_threshold), 0.0500001, 0.5); optionmenu_aa_type = gtk_option_menu_new (); gtk_widget_set_name (optionmenu_aa_type, "optionmenu_aa_type"); gtk_widget_ref (optionmenu_aa_type); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "optionmenu_aa_type", optionmenu_aa_type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (optionmenu_aa_type); gtk_table_attach (GTK_TABLE (table78), optionmenu_aa_type, 3, 4, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (optionmenu_aa_type, FALSE); optionmenu_aa_type_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_("type 1: non-recursive")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_aa_type_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_("type 2: recursive")); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionmenu_aa_type_menu), glade_menuitem); gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu_aa_type), optionmenu_aa_type_menu); aa_depth_adj = gtk_adjustment_new (1, 1, 9, 1, 10, 10); aa_depth = gtk_spin_button_new (GTK_ADJUSTMENT (aa_depth_adj), 1, 1); gtk_widget_set_name (aa_depth, "aa_depth"); gtk_widget_ref (aa_depth); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "aa_depth", aa_depth, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (aa_depth); gtk_table_attach (GTK_TABLE (table78), aa_depth, 3, 4, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (aa_depth, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (aa_depth), TRUE); jitter_amount_adj = gtk_adjustment_new (0.5, 0, 100, 0.1, 10, 10); jitter_amount = gtk_spin_button_new (GTK_ADJUSTMENT (jitter_amount_adj), 1, 1); gtk_widget_set_name (jitter_amount, "jitter_amount"); gtk_widget_ref (jitter_amount); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "jitter_amount", jitter_amount, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (jitter_amount); gtk_table_attach (GTK_TABLE (table78), jitter_amount, 3, 4, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_sensitive (jitter_amount, FALSE); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (jitter_amount), TRUE); quality = gtk_label_new (_("Quality")); gtk_widget_set_name (quality, "quality"); gtk_widget_ref (quality); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "quality", quality, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (quality); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook7), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook7), 1), quality); dialog_action_area2 = GNOME_DIALOG (povray_render_options_window)->action_area; gtk_widget_set_name (dialog_action_area2, "dialog_action_area2"); gtk_object_set_data (GTK_OBJECT (povray_render_options_window), "dialog_action_area2", dialog_action_area2); gtk_widget_show (dialog_action_area2); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_END); gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area2), 8); gnome_dialog_append_button (GNOME_DIALOG (povray_render_options_window), GNOME_STOCK_BUTTON_OK); povray_render_options_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (povray_render_options_window)->buttons)->data); gtk_widget_set_name (povray_render_options_ok, "povray_render_options_ok"); gtk_widget_ref (povray_render_options_ok); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "povray_render_options_ok", povray_render_options_ok, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (povray_render_options_ok); GTK_WIDGET_SET_FLAGS (povray_render_options_ok, GTK_CAN_DEFAULT); gnome_dialog_append_button (GNOME_DIALOG (povray_render_options_window), GNOME_STOCK_BUTTON_APPLY); button36 = GTK_WIDGET (g_list_last (GNOME_DIALOG (povray_render_options_window)->buttons)->data); gtk_widget_set_name (button36, "button36"); gtk_widget_ref (button36); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "button36", button36, (GtkDestroyNotify) gtk_widget_unref); GTK_WIDGET_SET_FLAGS (button36, GTK_CAN_DEFAULT); gnome_dialog_append_button (GNOME_DIALOG (povray_render_options_window), GNOME_STOCK_BUTTON_CANCEL); button37 = GTK_WIDGET (g_list_last (GNOME_DIALOG (povray_render_options_window)->buttons)->data); gtk_widget_set_name (button37, "button37"); gtk_widget_ref (button37); gtk_object_set_data_full (GTK_OBJECT (povray_render_options_window), "button37", button37, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button37); GTK_WIDGET_SET_FLAGS (button37, GTK_CAN_DEFAULT); gtk_signal_connect (GTK_OBJECT (custom_size), "toggled", GTK_SIGNAL_FUNC (on_custom_size_toggled), NULL); gtk_signal_connect (GTK_OBJECT (use_antialiasing), "toggled", GTK_SIGNAL_FUNC (on_use_antialiasing_toggled), NULL); gtk_signal_connect (GTK_OBJECT (use_jitter), "toggled", GTK_SIGNAL_FUNC (on_use_jitter_toggled), NULL); gtk_signal_connect (GTK_OBJECT (povray_render_options_ok), "clicked", GTK_SIGNAL_FUNC (on_povray_render_options_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button36), "clicked", GTK_SIGNAL_FUNC (on_povray_render_options_apply_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button37), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); return povray_render_options_window; } GtkWidget* create_prune_window (void) { GtkWidget *prune_window; GtkWidget *vbox358; GtkWidget *vbox359; GtkWidget *table80; GtkWidget *label609; GtkWidget *pruning_factor; GtkWidget *hseparator73; GtkWidget *hbox403; GtkWidget *label608; GtkWidget *hbox404; GtkWidget *button38; GtkWidget *button39; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); prune_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (prune_window, "prune_window"); gtk_object_set_data (GTK_OBJECT (prune_window), "prune_window", prune_window); gtk_window_set_title (GTK_WINDOW (prune_window), _("Prune Objects")); gtk_window_set_modal (GTK_WINDOW (prune_window), TRUE); vbox358 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox358, "vbox358"); gtk_widget_ref (vbox358); gtk_object_set_data_full (GTK_OBJECT (prune_window), "vbox358", vbox358, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox358); gtk_container_add (GTK_CONTAINER (prune_window), vbox358); vbox359 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox359, "vbox359"); gtk_widget_ref (vbox359); gtk_object_set_data_full (GTK_OBJECT (prune_window), "vbox359", vbox359, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox359); gtk_box_pack_start (GTK_BOX (vbox358), vbox359, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox359), 8); table80 = gtk_table_new (1, 2, FALSE); gtk_widget_set_name (table80, "table80"); gtk_widget_ref (table80); gtk_object_set_data_full (GTK_OBJECT (prune_window), "table80", table80, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table80); gtk_box_pack_start (GTK_BOX (vbox359), table80, TRUE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (table80), 4); gtk_table_set_col_spacings (GTK_TABLE (table80), 8); label609 = gtk_label_new (_("Pruning Factor")); gtk_widget_set_name (label609, "label609"); gtk_widget_ref (label609); gtk_object_set_data_full (GTK_OBJECT (prune_window), "label609", label609, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label609); gtk_table_attach (GTK_TABLE (table80), label609, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); pruning_factor = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (pruning_factor, "pruning_factor"); gtk_widget_ref (pruning_factor); gtk_object_set_data_full (GTK_OBJECT (prune_window), "pruning_factor", pruning_factor, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (pruning_factor); gtk_table_attach (GTK_TABLE (table80), pruning_factor, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (pruning_factor, 150, -2); gtk_scale_set_digits (GTK_SCALE (pruning_factor), 2); hseparator73 = gtk_hseparator_new (); gtk_widget_set_name (hseparator73, "hseparator73"); gtk_widget_ref (hseparator73); gtk_object_set_data_full (GTK_OBJECT (prune_window), "hseparator73", hseparator73, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator73); gtk_box_pack_start (GTK_BOX (vbox358), hseparator73, FALSE, FALSE, 0); hbox403 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox403, "hbox403"); gtk_widget_ref (hbox403); gtk_object_set_data_full (GTK_OBJECT (prune_window), "hbox403", hbox403, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox403); gtk_box_pack_start (GTK_BOX (vbox358), hbox403, FALSE, FALSE, 0); label608 = gtk_label_new (""); gtk_widget_set_name (label608, "label608"); gtk_widget_ref (label608); gtk_object_set_data_full (GTK_OBJECT (prune_window), "label608", label608, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label608); gtk_box_pack_start (GTK_BOX (hbox403), label608, TRUE, TRUE, 0); hbox404 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox404, "hbox404"); gtk_widget_ref (hbox404); gtk_object_set_data_full (GTK_OBJECT (prune_window), "hbox404", hbox404, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox404); gtk_box_pack_start (GTK_BOX (hbox403), hbox404, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox404), 8); button38 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button38, "button38"); gtk_widget_ref (button38); gtk_object_set_data_full (GTK_OBJECT (prune_window), "button38", button38, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button38); gtk_box_pack_start (GTK_BOX (hbox404), button38, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button38, GTK_CAN_DEFAULT); button39 = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (button39, "button39"); gtk_widget_ref (button39); gtk_object_set_data_full (GTK_OBJECT (prune_window), "button39", button39, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button39); gtk_box_pack_start (GTK_BOX (hbox404), button39, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button39, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button39, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (button38), "clicked", GTK_SIGNAL_FUNC (on_prune_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button39), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (button39); gtk_window_add_accel_group (GTK_WINDOW (prune_window), accel_group); return prune_window; } GtkWidget* create_river_window (void) { GtkWidget *river_window; GtkWidget *vbox240; GtkWidget *hbox318; GtkWidget *frame152; GtkWidget *vbox241; GtkWidget *hbox319; GtkWidget *preview_frame; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame154; GtkWidget *vbox242; GtkWidget *table44; GtkWidget *label403; GtkWidget *label404; GtkWidget *center_x; GtkWidget *center_y; GtkWidget *hseparator70; GtkWidget *hbox320; GtkWidget *label410; GtkWidget *hbox321; GtkWidget *button23; GtkWidget *button24; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); river_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (river_window, "river_window"); gtk_object_set_data (GTK_OBJECT (river_window), "river_window", river_window); gtk_window_set_title (GTK_WINDOW (river_window), _("River")); vbox240 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox240, "vbox240"); gtk_widget_ref (vbox240); gtk_object_set_data_full (GTK_OBJECT (river_window), "vbox240", vbox240, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox240); gtk_container_add (GTK_CONTAINER (river_window), vbox240); hbox318 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox318, "hbox318"); gtk_widget_ref (hbox318); gtk_object_set_data_full (GTK_OBJECT (river_window), "hbox318", hbox318, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox318); gtk_box_pack_start (GTK_BOX (vbox240), hbox318, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox318), 8); frame152 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame152, "frame152"); gtk_widget_ref (frame152); gtk_object_set_data_full (GTK_OBJECT (river_window), "frame152", frame152, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame152); gtk_box_pack_start (GTK_BOX (hbox318), frame152, TRUE, TRUE, 0); vbox241 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox241, "vbox241"); gtk_widget_ref (vbox241); gtk_object_set_data_full (GTK_OBJECT (river_window), "vbox241", vbox241, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox241); gtk_container_add (GTK_CONTAINER (frame152), vbox241); hbox319 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox319, "hbox319"); gtk_widget_ref (hbox319); gtk_object_set_data_full (GTK_OBJECT (river_window), "hbox319", hbox319, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox319); gtk_box_pack_start (GTK_BOX (vbox241), hbox319, FALSE, FALSE, 0); preview_frame = gtk_frame_new (NULL); gtk_widget_set_name (preview_frame, "preview_frame"); gtk_widget_ref (preview_frame); gtk_object_set_data_full (GTK_OBJECT (river_window), "preview_frame", preview_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview_frame); gtk_box_pack_start (GTK_BOX (hbox319), preview_frame, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (preview_frame), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (river_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (preview_frame), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (river_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox241), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame154 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame154, "frame154"); gtk_widget_ref (frame154); gtk_object_set_data_full (GTK_OBJECT (river_window), "frame154", frame154, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame154); gtk_box_pack_start (GTK_BOX (hbox318), frame154, TRUE, TRUE, 0); vbox242 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox242, "vbox242"); gtk_widget_ref (vbox242); gtk_object_set_data_full (GTK_OBJECT (river_window), "vbox242", vbox242, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox242); gtk_container_add (GTK_CONTAINER (frame154), vbox242); table44 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table44, "table44"); gtk_widget_ref (table44); gtk_object_set_data_full (GTK_OBJECT (river_window), "table44", table44, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table44); gtk_box_pack_start (GTK_BOX (vbox242), table44, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table44), 8); gtk_table_set_row_spacings (GTK_TABLE (table44), 4); gtk_table_set_col_spacings (GTK_TABLE (table44), 8); label403 = gtk_label_new (_("Center X")); gtk_widget_set_name (label403, "label403"); gtk_widget_ref (label403); gtk_object_set_data_full (GTK_OBJECT (river_window), "label403", label403, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label403); gtk_table_attach (GTK_TABLE (table44), label403, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); label404 = gtk_label_new (_("Center Y")); gtk_widget_set_name (label404, "label404"); gtk_widget_ref (label404); gtk_object_set_data_full (GTK_OBJECT (river_window), "label404", label404, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label404); gtk_table_attach (GTK_TABLE (table44), label404, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); center_x = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (center_x, "center_x"); gtk_widget_ref (center_x); gtk_object_set_data_full (GTK_OBJECT (river_window), "center_x", center_x, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_x); gtk_table_attach (GTK_TABLE (table44), center_x, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); gtk_widget_set_usize (center_x, 150, -2); gtk_scale_set_digits (GTK_SCALE (center_x), 2); center_y = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (center_y, "center_y"); gtk_widget_ref (center_y); gtk_object_set_data_full (GTK_OBJECT (river_window), "center_y", center_y, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (center_y); gtk_table_attach (GTK_TABLE (table44), center_y, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); gtk_scale_set_digits (GTK_SCALE (center_y), 2); hseparator70 = gtk_hseparator_new (); gtk_widget_set_name (hseparator70, "hseparator70"); gtk_widget_ref (hseparator70); gtk_object_set_data_full (GTK_OBJECT (river_window), "hseparator70", hseparator70, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator70); gtk_box_pack_start (GTK_BOX (vbox240), hseparator70, FALSE, FALSE, 0); hbox320 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox320, "hbox320"); gtk_widget_ref (hbox320); gtk_object_set_data_full (GTK_OBJECT (river_window), "hbox320", hbox320, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox320); gtk_box_pack_start (GTK_BOX (vbox240), hbox320, FALSE, FALSE, 0); label410 = gtk_label_new (""); gtk_widget_set_name (label410, "label410"); gtk_widget_ref (label410); gtk_object_set_data_full (GTK_OBJECT (river_window), "label410", label410, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label410); gtk_box_pack_start (GTK_BOX (hbox320), label410, TRUE, TRUE, 0); hbox321 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox321, "hbox321"); gtk_widget_ref (hbox321); gtk_object_set_data_full (GTK_OBJECT (river_window), "hbox321", hbox321, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox321); gtk_box_pack_start (GTK_BOX (hbox320), hbox321, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox321), 8); button23 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button23, "button23"); gtk_widget_ref (button23); gtk_object_set_data_full (GTK_OBJECT (river_window), "button23", button23, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button23); gtk_box_pack_start (GTK_BOX (hbox321), button23, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button23, GTK_CAN_DEFAULT); button24 = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (button24, "button24"); gtk_widget_ref (button24); gtk_object_set_data_full (GTK_OBJECT (river_window), "button24", button24, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button24); gtk_box_pack_start (GTK_BOX (hbox321), button24, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button24, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button24, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (button23), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button24), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (button24); gtk_window_add_accel_group (GTK_WINDOW (river_window), accel_group); return river_window; } GtkWidget* create_river_all_window (void) { GtkWidget *river_all_window; GtkWidget *vbox366; GtkWidget *hbox412; GtkWidget *frame224; GtkWidget *vbox367; GtkWidget *hbox413; GtkWidget *preview_frame; GtkWidget *preview; GtkWidget *use_preview; GtkWidget *frame226; GtkWidget *vbox368; GtkWidget *table84; GtkWidget *label630; GtkWidget *power; GtkWidget *label633; GtkWidget *vbox369; GSList *vbox369_group = NULL; GtkWidget *own_calc; GtkWidget *upslope_sfd; GtkWidget *upslope_mfd; GtkWidget *hseparator75; GtkWidget *hbox414; GtkWidget *label632; GtkWidget *hbox415; GtkWidget *button40; GtkWidget *button41; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); river_all_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (river_all_window, "river_all_window"); gtk_object_set_data (GTK_OBJECT (river_all_window), "river_all_window", river_all_window); gtk_window_set_title (GTK_WINDOW (river_all_window), _("River All")); vbox366 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox366, "vbox366"); gtk_widget_ref (vbox366); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "vbox366", vbox366, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox366); gtk_container_add (GTK_CONTAINER (river_all_window), vbox366); hbox412 = gtk_hbox_new (FALSE, 8); gtk_widget_set_name (hbox412, "hbox412"); gtk_widget_ref (hbox412); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "hbox412", hbox412, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox412); gtk_box_pack_start (GTK_BOX (vbox366), hbox412, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox412), 8); frame224 = gtk_frame_new (_("Preview")); gtk_widget_set_name (frame224, "frame224"); gtk_widget_ref (frame224); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "frame224", frame224, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame224); gtk_box_pack_start (GTK_BOX (hbox412), frame224, FALSE, TRUE, 0); vbox367 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox367, "vbox367"); gtk_widget_ref (vbox367); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "vbox367", vbox367, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox367); gtk_container_add (GTK_CONTAINER (frame224), vbox367); hbox413 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox413, "hbox413"); gtk_widget_ref (hbox413); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "hbox413", hbox413, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox413); gtk_box_pack_start (GTK_BOX (vbox367), hbox413, FALSE, FALSE, 0); preview_frame = gtk_frame_new (NULL); gtk_widget_set_name (preview_frame, "preview_frame"); gtk_widget_ref (preview_frame); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "preview_frame", preview_frame, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview_frame); gtk_box_pack_start (GTK_BOX (hbox413), preview_frame, TRUE, FALSE, 0); gtk_frame_set_shadow_type (GTK_FRAME (preview_frame), GTK_SHADOW_IN); preview = create_terrain_preview ("preview", NULL, NULL, 0, 0); gtk_widget_set_name (preview, "preview"); gtk_widget_ref (preview); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "preview", preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (preview); gtk_container_add (GTK_CONTAINER (preview_frame), preview); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (preview, GTK_CAN_DEFAULT); gtk_widget_set_events (preview, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); use_preview = gtk_check_button_new_with_label (_("Use preview")); gtk_widget_set_name (use_preview, "use_preview"); gtk_widget_ref (use_preview); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "use_preview", use_preview, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (use_preview); gtk_box_pack_start (GTK_BOX (vbox367), use_preview, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (use_preview), TRUE); frame226 = gtk_frame_new (_("Options")); gtk_widget_set_name (frame226, "frame226"); gtk_widget_ref (frame226); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "frame226", frame226, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame226); gtk_box_pack_start (GTK_BOX (hbox412), frame226, TRUE, TRUE, 0); vbox368 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox368, "vbox368"); gtk_widget_ref (vbox368); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "vbox368", vbox368, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox368); gtk_container_add (GTK_CONTAINER (frame226), vbox368); table84 = gtk_table_new (2, 2, FALSE); gtk_widget_set_name (table84, "table84"); gtk_widget_ref (table84); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "table84", table84, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table84); gtk_box_pack_start (GTK_BOX (vbox368), table84, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (table84), 8); gtk_table_set_row_spacings (GTK_TABLE (table84), 4); gtk_table_set_col_spacings (GTK_TABLE (table84), 8); label630 = gtk_label_new (_("Threshold for river start")); gtk_widget_set_name (label630, "label630"); gtk_widget_ref (label630); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "label630", label630, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label630); gtk_table_attach (GTK_TABLE (table84), label630, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); power = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.5, 0, 1, 0.01, 0, 0))); gtk_widget_set_name (power, "power"); gtk_widget_ref (power); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "power", power, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (power); gtk_table_attach (GTK_TABLE (table84), power, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_usize (power, 150, -2); gtk_scale_set_digits (GTK_SCALE (power), 3); gtk_range_set_update_policy (GTK_RANGE (power), GTK_UPDATE_DELAYED); label633 = gtk_label_new (_("Upstream Cell\nCalculation Method")); gtk_widget_set_name (label633, "label633"); gtk_widget_ref (label633); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "label633", label633, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label633); gtk_table_attach (GTK_TABLE (table84), label633, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); vbox369 = gtk_vbox_new (FALSE, 4); gtk_widget_set_name (vbox369, "vbox369"); gtk_widget_ref (vbox369); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "vbox369", vbox369, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox369); gtk_table_attach (GTK_TABLE (table84), vbox369, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox369), 8); own_calc = gtk_radio_button_new_with_label (vbox369_group, _("Own calculation")); vbox369_group = gtk_radio_button_group (GTK_RADIO_BUTTON (own_calc)); gtk_widget_set_name (own_calc, "own_calc"); gtk_widget_ref (own_calc); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "own_calc", own_calc, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (own_calc); gtk_box_pack_start (GTK_BOX (vbox369), own_calc, TRUE, TRUE, 0); upslope_sfd = gtk_radio_button_new_with_label (vbox369_group, _("Upslope SFD")); vbox369_group = gtk_radio_button_group (GTK_RADIO_BUTTON (upslope_sfd)); gtk_widget_set_name (upslope_sfd, "upslope_sfd"); gtk_widget_ref (upslope_sfd); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "upslope_sfd", upslope_sfd, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (upslope_sfd); gtk_box_pack_start (GTK_BOX (vbox369), upslope_sfd, TRUE, TRUE, 0); upslope_mfd = gtk_radio_button_new_with_label (vbox369_group, _("Upslope MFD")); vbox369_group = gtk_radio_button_group (GTK_RADIO_BUTTON (upslope_mfd)); gtk_widget_set_name (upslope_mfd, "upslope_mfd"); gtk_widget_ref (upslope_mfd); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "upslope_mfd", upslope_mfd, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (upslope_mfd); gtk_box_pack_start (GTK_BOX (vbox369), upslope_mfd, TRUE, TRUE, 0); hseparator75 = gtk_hseparator_new (); gtk_widget_set_name (hseparator75, "hseparator75"); gtk_widget_ref (hseparator75); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "hseparator75", hseparator75, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hseparator75); gtk_box_pack_start (GTK_BOX (vbox366), hseparator75, FALSE, FALSE, 0); hbox414 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox414, "hbox414"); gtk_widget_ref (hbox414); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "hbox414", hbox414, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox414); gtk_box_pack_start (GTK_BOX (vbox366), hbox414, FALSE, FALSE, 0); label632 = gtk_label_new (""); gtk_widget_set_name (label632, "label632"); gtk_widget_ref (label632); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "label632", label632, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label632); gtk_box_pack_start (GTK_BOX (hbox414), label632, TRUE, TRUE, 0); hbox415 = gtk_hbox_new (TRUE, 8); gtk_widget_set_name (hbox415, "hbox415"); gtk_widget_ref (hbox415); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "hbox415", hbox415, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox415); gtk_box_pack_start (GTK_BOX (hbox414), hbox415, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox415), 8); button40 = gnome_stock_button (GNOME_STOCK_BUTTON_OK); gtk_widget_set_name (button40, "button40"); gtk_widget_ref (button40); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "button40", button40, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button40); gtk_box_pack_start (GTK_BOX (hbox415), button40, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button40, GTK_CAN_DEFAULT); button41 = gnome_stock_button (GNOME_STOCK_BUTTON_CANCEL); gtk_widget_set_name (button41, "button41"); gtk_widget_ref (button41); gtk_object_set_data_full (GTK_OBJECT (river_all_window), "button41", button41, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (button41); gtk_box_pack_start (GTK_BOX (hbox415), button41, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button41, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button41, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); gtk_signal_connect (GTK_OBJECT (preview), "button_press_event", GTK_SIGNAL_FUNC (on_generic_preview_button_press_event), NULL); gtk_signal_connect (GTK_OBJECT (use_preview), "toggled", GTK_SIGNAL_FUNC (on_generic_use_preview_toggled), NULL); gtk_signal_connect (GTK_OBJECT (own_calc), "toggled", GTK_SIGNAL_FUNC (on_method_toggled), NULL); gtk_signal_connect (GTK_OBJECT (upslope_sfd), "toggled", GTK_SIGNAL_FUNC (on_method_toggled), NULL); gtk_signal_connect (GTK_OBJECT (upslope_mfd), "toggled", GTK_SIGNAL_FUNC (on_method_toggled), NULL); gtk_signal_connect (GTK_OBJECT (button40), "clicked", GTK_SIGNAL_FUNC (on_generic_ok_clicked), NULL); gtk_signal_connect (GTK_OBJECT (button41), "clicked", GTK_SIGNAL_FUNC (on_generic_cancel_clicked), NULL); gtk_widget_grab_default (button41); gtk_window_add_accel_group (GTK_WINDOW (river_all_window), accel_group); return river_all_window; }