-GtkWidget* create_main_dialog ()
-{
- GtkWidget *dlg, *vbox, *hbox, *hbox2, *button, *notebook, *frame, *table, *table2;
- GtkWidget *check, *spin, *radio, *label, *entry, *scale;
- GtkObject *adj;
- GSList *group;
- int i;
- char *games[] = { "Quake 2", "Half-Life", "SiN", "Heretic 2", "Kingpin", "Genesis3D", "Quake 3 Arena" };
- char *waveforms[] = { "Alternating hill/valley", "Cylindrical left-to-right", "Cylindrical top-to-bottom",
- "From bitmap", "Fractal" };
- char *orientations[] = { "Ground surface", "Ceiling", "Wall facing 0", "Wall facing 90",
- "Wall facing 180","Wall facing 270" };
-
- g_pWnd = dlg = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title (GTK_WINDOW (dlg), gszCaption);
- g_signal_connect (G_OBJECT (dlg), "delete_event", G_CALLBACK (main_close), NULL);
- // g_signal_connect (G_OBJECT (dlg), "destroy", G_CALLBACK (gtk_widget_destroy), NULL);
- gtk_window_set_transient_for (GTK_WINDOW (dlg), GTK_WINDOW (g_pRadiantWnd));
-
- hbox = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox);
- gtk_container_add (GTK_CONTAINER (dlg), hbox);
- gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
-
- notebook = gtk_notebook_new ();
- gtk_widget_show (notebook);
- gtk_box_pack_start (GTK_BOX (hbox), notebook, TRUE, TRUE, 0);
- g_signal_connect (G_OBJECT (notebook), "switch_page",
- G_CALLBACK (switch_page), NULL);
- gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_TOP);
- g_object_set_data (G_OBJECT (dlg), "notebook", notebook);
-
- table = gtk_table_new (2, 2, FALSE);
- gtk_widget_show (table);
- gtk_container_set_border_width (GTK_CONTAINER (table), 5);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new ("General");
- gtk_widget_show (label);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), table, label);
-
- frame = gtk_frame_new ("Game");
- gtk_widget_show (frame);
- gtk_table_attach (GTK_TABLE (table), frame, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
-
- vbox = gtk_vbox_new (TRUE, 5);
- gtk_widget_show (vbox);
- gtk_container_add (GTK_CONTAINER (frame), vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
-
- for (i = 0, group = NULL; i < NUMGAMES; i++)
- {
- radio = gtk_radio_button_new_with_label (group, games[i]);
- gtk_widget_show (radio);
- gtk_box_pack_start (GTK_BOX (vbox), radio, TRUE, TRUE, 0);
- group = gtk_radio_button_group (GTK_RADIO_BUTTON (radio));
- game_radios[i] = radio;
- g_signal_connect (G_OBJECT (radio), "toggled", G_CALLBACK (general_game), GINT_TO_POINTER (i));
- }
-
- frame = gtk_frame_new ("Waveform");
- gtk_widget_show (frame);
- gtk_table_attach (GTK_TABLE (table), frame, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
-
- vbox = gtk_vbox_new (TRUE, 5);
- gtk_widget_show (vbox);
- gtk_container_add (GTK_CONTAINER (frame), vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
-
- for (i = 0, group = NULL; i < 5; i++)
- {
- radio = gtk_radio_button_new_with_label (group, waveforms[i]);
- gtk_widget_show (radio);
- gtk_box_pack_start (GTK_BOX (vbox), radio, TRUE, TRUE, 0);
- group = gtk_radio_button_group (GTK_RADIO_BUTTON (radio));
- wave_radios[i] = radio;
- g_signal_connect (G_OBJECT (radio), "toggled", G_CALLBACK (general_wave), GINT_TO_POINTER (i));
- }
-
- frame = gtk_frame_new ("Orientation");
- gtk_widget_show (frame);
- gtk_table_attach (GTK_TABLE (table), frame, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
-
- vbox = gtk_vbox_new (TRUE, 5);
- gtk_widget_show (vbox);
- gtk_container_add (GTK_CONTAINER (frame), vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
-
- for (i = 0, group = NULL; i < 6; i++)
- {
- radio = gtk_radio_button_new_with_label (group, orientations[i]);
- gtk_widget_show (radio);
- gtk_box_pack_start (GTK_BOX (vbox), radio, TRUE, TRUE, 0);
- group = gtk_radio_button_group (GTK_RADIO_BUTTON (radio));
- plane_radios[i] = radio;
- g_signal_connect (G_OBJECT (radio), "toggled", G_CALLBACK (general_plane), GINT_TO_POINTER (i));
- }
-
- table2 = gtk_table_new (4, 2, FALSE);
- gtk_widget_show (table2);
- gtk_table_set_row_spacings (GTK_TABLE (table2), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table2), 5);
- gtk_table_attach (GTK_TABLE (table), table2, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
-
- label = gtk_label_new ("Wavelength:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
-
- label = gtk_label_new ("Max. amplitude:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
-
- label = gtk_label_new ("Roughness:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
-
- label = gtk_label_new ("Random seed:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table2), label, 0, 1, 3, 4,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table2), entry, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "wavelength", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &WaveLength);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table2), entry, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "amplitude", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &Amplitude);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table2), entry, 1, 2, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "roughness", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &Roughness);
-
- adj = gtk_adjustment_new (1, 1, 32767, 1, 10, 10);
- g_signal_connect (G_OBJECT (adj), "value_changed", G_CALLBACK (general_random), NULL);
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
- gtk_widget_show (spin);
- gtk_table_attach (GTK_TABLE (table2), spin, 1, 2, 3, 4,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (spin, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "random", spin);
-
- vbox = gtk_vbox_new (FALSE, 5);
- gtk_widget_show (vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
-
- label = gtk_label_new ("Extents");
- gtk_widget_show (label);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), vbox, label);
-
- hbox2 = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox2);
- gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, TRUE, 0);
-
- frame = gtk_frame_new ("Extents");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (hbox2), frame, TRUE, TRUE, 0);
-
- table = gtk_table_new (3, 4, FALSE);
- gtk_widget_show (table);
- gtk_container_set_border_width (GTK_CONTAINER (table), 5);
- gtk_container_add (GTK_CONTAINER (frame), table);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new ("X:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "hmin_text", label);
-
- label = gtk_label_new ("X:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 2, 3, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "hmax_text", label);
-
- label = gtk_label_new ("Y:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "vmin_text", label);
-
- label = gtk_label_new ("Y:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 2, 3, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "vmax_text", label);
-
- label = gtk_label_new ("Lower-left");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
-
- label = gtk_label_new ("Upper-right");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 3, 4, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "hmin", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &Hll);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 3, 4, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "hmax", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &Hur);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "vmin", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &Vll);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 3, 4, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "vmax", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &Vur);
-
- frame = gtk_frame_new ("Divisions");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (hbox2), frame, TRUE, TRUE, 0);
-
- table = gtk_table_new (2, 2, FALSE);
- gtk_widget_show (table);
- gtk_container_set_border_width (GTK_CONTAINER (table), 5);
- gtk_container_add (GTK_CONTAINER (frame), table);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new ("X:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "nh_text", label);
-
- label = gtk_label_new ("Y:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "nv_text", label);
-
- adj = gtk_adjustment_new (8, 1, MAX_ROWS, 1, 10, 10);
- g_signal_connect (G_OBJECT (adj), "value_changed", G_CALLBACK (extents_nhnv_spin), &NH);
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
- gtk_widget_show (spin);
- gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (spin, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "nh", spin);
-
- adj = gtk_adjustment_new (8, 1, MAX_ROWS, 1, 10, 10);
- g_signal_connect (G_OBJECT (adj), "value_changed", G_CALLBACK (extents_nhnv_spin), &NV);
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
- gtk_widget_show (spin);
- gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (spin, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "nv", spin);
-
- check = gtk_check_button_new_with_label ("Use Bezier patches");
- gtk_widget_show (check);
- gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, TRUE, 0);
- g_object_set_data (G_OBJECT (dlg), "use_patches", check);
- g_signal_connect (G_OBJECT (check), "toggled", G_CALLBACK (extents_use_patches), NULL);
-
- // ^Fishman - Snap to grid, replaced scroll bar with a texbox.
- label = gtk_label_new ("Snap to grid:");
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
- gtk_object_set_data (GTK_OBJECT (dlg), "snap_text", label);
-
- adj = gtk_adjustment_new (8, 0, 256, 1, 10, 10);
- g_signal_connect (G_OBJECT (adj), "value_changed", G_CALLBACK (extents_snaptogrid_spin), &SP);
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
- gtk_widget_show (spin);
- gtk_box_pack_start (GTK_BOX (vbox), spin, FALSE, TRUE, 0);
- gtk_widget_set_usize (spin, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "sp", spin);
- // ^Fishman - End of Snap to grid code.
-
- hbox2 = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox2);
- gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, TRUE, 10);
-
- label = gtk_label_new ("Decimate:");
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, TRUE, 0);
-
- adj = gtk_adjustment_new (0, 0, 110, 1, 10, 10);
- g_signal_connect (G_OBJECT (adj), "value_changed", G_CALLBACK (extents_decimate), NULL);
- g_object_set_data (G_OBJECT (dlg), "decimate_adj", adj);
- scale = gtk_hscale_new (GTK_ADJUSTMENT (adj));
- gtk_widget_show (scale);
- gtk_box_pack_start (GTK_BOX (hbox2), scale, TRUE, TRUE, 0);
- gtk_scale_set_value_pos (GTK_SCALE (scale), GTK_POS_RIGHT);
- gtk_scale_set_digits (GTK_SCALE (scale), 0);
- g_object_set_data (G_OBJECT (dlg), "decimate", scale);
-
- frame = gtk_frame_new ("Corner values");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
-
- table = gtk_table_new (3, 4, FALSE);
- gtk_widget_show (table);
- gtk_container_set_border_width (GTK_CONTAINER (table), 5);
- gtk_container_add (GTK_CONTAINER (frame), table);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new ("Upper-left:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
-
- label = gtk_label_new ("Lower-left:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
-
- label = gtk_label_new ("Upper-right:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 2, 3, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
-
- label = gtk_label_new ("Lower-right:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 2, 3, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "z01", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &Z01);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "z00", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &Z00);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 3, 4, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "z11", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &Z11);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 3, 4, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "z10", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &Z10);
-
- check = gtk_check_button_new_with_label ("Linear borders");
- gtk_widget_show (check);
- gtk_table_attach (GTK_TABLE (table), check, 0, 4, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "linearborder", check);
- g_signal_connect (G_OBJECT (check), "toggled", G_CALLBACK (extents_linearborder), NULL);
-
- vbox = gtk_vbox_new (FALSE, 10);
- gtk_widget_show (vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
-
- label = gtk_label_new ("Bitmap");
- gtk_widget_show (label);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), vbox, label);
-
- label = gtk_label_new ("");
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
- g_object_set_data (G_OBJECT (dlg), "bmp_note", label);
-
- table = gtk_table_new (2, 2, FALSE);
- gtk_widget_show (table);
- gtk_container_set_border_width (GTK_CONTAINER (table), 5);
- gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new ("Filename:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "bmp_text1", label);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "bmp_file", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (bitmap_file_entryfocusout), NULL);
-
- hbox2 = gtk_hbox_new (TRUE, 5);
- gtk_widget_show (hbox2);
- gtk_table_attach (GTK_TABLE (table), hbox2, 1, 2, 1, 2,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
-
- button = gtk_button_new_with_label ("Browse...");
- gtk_widget_show (button);
- gtk_box_pack_start (GTK_BOX (hbox2), button, FALSE, FALSE, 0);
- gtk_widget_set_usize (button, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "bmp_file_browse", button);
- g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (bitmap_browse), NULL);
-
- button = gtk_button_new_with_label ("Reload");
- gtk_widget_show (button);
- gtk_box_pack_start (GTK_BOX (hbox2), button, FALSE, FALSE, 0);
- gtk_widget_set_usize (button, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "bmp_reload", button);
- g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (bitmap_reload), NULL);
-
- table = gtk_table_new (2, 2, TRUE);
- gtk_widget_show (table);
- gtk_container_set_border_width (GTK_CONTAINER (table), 5);
- gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new ("Map color 0 to:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL|GTK_EXPAND),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "bmp_text2", label);
- gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
-
- label = gtk_label_new ("Map color 255 to:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL|GTK_EXPAND),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- g_object_set_data (G_OBJECT (dlg), "bmp_text3", label);
- gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT);
-
- hbox2 = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox2);
- gtk_table_attach (GTK_TABLE (table), hbox2, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_box_pack_start (GTK_BOX (hbox2), entry, FALSE, FALSE, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "bmp_black", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &gbmp.black_value);
-
- hbox2 = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox2);
- gtk_table_attach (GTK_TABLE (table), hbox2, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_box_pack_start (GTK_BOX (hbox2), entry, FALSE, FALSE, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (dlg), "bmp_white", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (doublevariable_entryfocusout), &gbmp.white_value);
-
- vbox = gtk_vbox_new (FALSE, 10);
- gtk_widget_show (vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
-
- label = gtk_label_new ("Fix Points");
- gtk_widget_show (label);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), vbox, label);
-
- label = gtk_label_new ("Click on a vertex in the lower half of the preview window,\n"
- "then use the arrow keys or text box to assign a value.\n"
- "Use Ctrl+Click to select multiple vertices/toggle a\n"
- "selection. Use Shift+Click to select a range of vertices.\n\n"
- "Click \"Free\" to unlock a vertex. Vertices within \"Range\n"
- "affected\" will be influenced by this vertex.");
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
-
- table = gtk_table_new (3, 3, FALSE);
- gtk_widget_show (table);
- gtk_container_set_border_width (GTK_CONTAINER (table), 5);
- gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new ("Value:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
- g_object_set_data (G_OBJECT (dlg), "fix_value_text", label);
-
- label = gtk_label_new ("Range affected:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
- g_object_set_data (G_OBJECT (dlg), "fix_range_text", label);
-
- label = gtk_label_new ("Rate of change:");
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 1, 0.5);
- g_object_set_data (G_OBJECT (dlg), "fix_rate_text", label);
-
- adj = gtk_adjustment_new (0, -65536, 65536, 1, 16, 16);
- g_signal_connect (G_OBJECT (adj), "value_changed", G_CALLBACK (fix_value_changed), NULL);
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
- gtk_widget_show (spin);
- gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND),
- (GtkAttachOptions) (GTK_EXPAND), 0, 0);
- gtk_widget_set_usize (spin, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "fix_value", spin);
- g_signal_connect (G_OBJECT (spin), "focus_out_event", G_CALLBACK (fix_value_entryfocusout), NULL);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "fix_range", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (fix_range_entryfocusout), NULL);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_widget_set_usize (entry, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "fix_rate", entry);
- g_signal_connect (G_OBJECT (entry), "focus_out_event", G_CALLBACK (fix_rate_entryfocusout), NULL);
-
- button = gtk_button_new_with_label ("Free");
- gtk_widget_show (button);
- gtk_table_attach (GTK_TABLE (table), button, 2, 3, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_widget_set_usize (button, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "fix_free", button);
- g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (fix_free), NULL);
-
- button = gtk_button_new_with_label ("Free All");
- gtk_widget_show (button);
- gtk_table_attach (GTK_TABLE (table), button, 2, 3, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
- gtk_widget_set_usize (button, 60, -2);
- g_object_set_data (G_OBJECT (dlg), "fix_freeall", button);
- g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (fix_freeall), NULL);
-
- vbox = gtk_vbox_new (FALSE, 10);
- gtk_widget_show (vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
-
- label = gtk_label_new ("Texture");
- gtk_widget_show (label);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), vbox, label);