mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-22 12:31:10 +00:00
773eda1929
to work under GIMP 1.2.x -- at taniwha's urging, I am checking this into CVS. You need libgtk+ v1.2, libgtkglarea v5, libgimp v1.2 (or thereabouts) to get this to work.
706 lines
28 KiB
C
706 lines
28 KiB
C
/* Note: You are free to use whatever license you want.
|
|
Eventually you will be able to edit it within Glade. */
|
|
|
|
/* <PROJECT NAME>
|
|
* Copyright (C) <YEAR> <AUTHORS>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
#include <gtk/gtk.h>
|
|
#include <gdk/gdkkeysyms.h>
|
|
#include "gladesig.h"
|
|
#include "gladesrc.h"
|
|
|
|
GtkWidget*
|
|
get_widget (GtkWidget *widget,
|
|
gchar *widget_name)
|
|
{
|
|
GtkWidget *found_widget;
|
|
|
|
if (widget->parent)
|
|
widget = gtk_widget_get_toplevel (widget);
|
|
found_widget = (GtkWidget*) gtk_object_get_data (GTK_OBJECT (widget),
|
|
widget_name);
|
|
if (!found_widget)
|
|
g_warning ("Widget not found: %s", widget_name);
|
|
return found_widget;
|
|
}
|
|
|
|
/* This is an internally used function to set notebook tab widgets. */
|
|
void
|
|
set_notebook_tab (GtkWidget *notebook,
|
|
gint page_num,
|
|
GtkWidget *widget)
|
|
{
|
|
GtkNotebookPage *page;
|
|
GtkWidget *notebook_page;
|
|
|
|
page = (GtkNotebookPage*) g_list_nth (GTK_NOTEBOOK (notebook)->children, page_num)->data;
|
|
notebook_page = page->child;
|
|
gtk_widget_ref (notebook_page);
|
|
gtk_notebook_remove_page (GTK_NOTEBOOK (notebook), page_num);
|
|
gtk_notebook_insert_page (GTK_NOTEBOOK (notebook), notebook_page,
|
|
widget, page_num);
|
|
gtk_widget_unref (notebook_page);
|
|
}
|
|
|
|
GtkWidget*
|
|
create_glwindow ()
|
|
{
|
|
GtkWidget *glwindow;
|
|
|
|
glwindow = gtk_window_new (GTK_WINDOW_DIALOG);
|
|
gtk_object_set_data (GTK_OBJECT (glwindow), "glwindow", glwindow);
|
|
gtk_signal_connect (GTK_OBJECT (glwindow), "destroy",
|
|
GTK_SIGNAL_FUNC (on_glwindow_destroy),
|
|
NULL);
|
|
gtk_window_set_title (GTK_WINDOW (glwindow), "3D Window");
|
|
gtk_window_set_policy (GTK_WINDOW (glwindow), TRUE, TRUE, FALSE);
|
|
|
|
return glwindow;
|
|
}
|
|
|
|
GtkWidget*
|
|
create_fileselection ()
|
|
{
|
|
GtkWidget *fileselection;
|
|
GtkWidget *ok_button1;
|
|
GtkWidget *cancel_button1;
|
|
|
|
fileselection = gtk_file_selection_new ("Select a PAK, MDL or MD2 file");
|
|
gtk_object_set_data (GTK_OBJECT (fileselection), "fileselection", fileselection);
|
|
gtk_container_border_width (GTK_CONTAINER (fileselection), 10);
|
|
gtk_signal_connect (GTK_OBJECT (fileselection), "delete_event",
|
|
GTK_SIGNAL_FUNC (on_fileselection_delete),
|
|
NULL);
|
|
|
|
ok_button1 = GTK_FILE_SELECTION (fileselection)->ok_button;
|
|
gtk_object_set_data (GTK_OBJECT (fileselection), "ok_button1", ok_button1);
|
|
gtk_widget_show (ok_button1);
|
|
GTK_WIDGET_SET_FLAGS (ok_button1, GTK_CAN_DEFAULT);
|
|
gtk_signal_connect (GTK_OBJECT (ok_button1), "clicked",
|
|
GTK_SIGNAL_FUNC (on_ok_clicked),
|
|
NULL);
|
|
|
|
cancel_button1 = GTK_FILE_SELECTION (fileselection)->cancel_button;
|
|
gtk_object_set_data (GTK_OBJECT (fileselection), "cancel_button1", cancel_button1);
|
|
gtk_widget_show (cancel_button1);
|
|
GTK_WIDGET_SET_FLAGS (cancel_button1, GTK_CAN_DEFAULT);
|
|
gtk_signal_connect (GTK_OBJECT (cancel_button1), "clicked",
|
|
GTK_SIGNAL_FUNC (on_cancel_clicked),
|
|
NULL);
|
|
|
|
return fileselection;
|
|
}
|
|
|
|
GtkWidget*
|
|
create_pakdialog ()
|
|
{
|
|
GtkWidget *pakdialog;
|
|
GtkWidget *vbox8;
|
|
GtkWidget *filename;
|
|
GtkWidget *scrolledwindow;
|
|
GtkWidget *open;
|
|
GtkWidget *close;
|
|
|
|
pakdialog = gtk_window_new (GTK_WINDOW_DIALOG);
|
|
gtk_object_set_data (GTK_OBJECT (pakdialog), "pakdialog", pakdialog);
|
|
gtk_widget_set_usize (pakdialog, 256, 256);
|
|
gtk_container_border_width (GTK_CONTAINER (pakdialog), 4);
|
|
gtk_window_set_title (GTK_WINDOW (pakdialog), "Select a MDL, MD2 or PCX file");
|
|
gtk_window_set_policy (GTK_WINDOW (pakdialog), TRUE, TRUE, FALSE);
|
|
|
|
vbox8 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (pakdialog), "vbox8", vbox8);
|
|
gtk_widget_show (vbox8);
|
|
gtk_container_add (GTK_CONTAINER (pakdialog), vbox8);
|
|
|
|
filename = gtk_label_new ("filename");
|
|
gtk_object_set_data (GTK_OBJECT (pakdialog), "filename", filename);
|
|
gtk_widget_show (filename);
|
|
gtk_box_pack_start (GTK_BOX (vbox8), filename, FALSE, TRUE, 0);
|
|
gtk_label_set_justify (GTK_LABEL (filename), GTK_JUSTIFY_LEFT);
|
|
gtk_misc_set_alignment (GTK_MISC (filename), 0, 0.5);
|
|
|
|
scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
|
|
gtk_object_set_data (GTK_OBJECT (pakdialog), "scrolledwindow", scrolledwindow);
|
|
gtk_widget_show (scrolledwindow);
|
|
gtk_box_pack_start (GTK_BOX (vbox8), scrolledwindow, TRUE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (scrolledwindow), 4);
|
|
|
|
open = gtk_button_new_with_label ("Open");
|
|
gtk_object_set_data (GTK_OBJECT (pakdialog), "open", open);
|
|
gtk_widget_show (open);
|
|
gtk_box_pack_start (GTK_BOX (vbox8), open, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (open), 4);
|
|
|
|
close = gtk_button_new_with_label ("Close");
|
|
gtk_object_set_data (GTK_OBJECT (pakdialog), "close", close);
|
|
gtk_widget_show (close);
|
|
gtk_box_pack_start (GTK_BOX (vbox8), close, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (close), 4);
|
|
|
|
return pakdialog;
|
|
}
|
|
|
|
GtkWidget*
|
|
create_dialog ()
|
|
{
|
|
GtkWidget *dialog;
|
|
GtkWidget *dialog_vbox2;
|
|
GtkWidget *hbox7;
|
|
GtkWidget *label14;
|
|
GtkWidget *models_menu;
|
|
GtkWidget *models_menu_menu;
|
|
GtkWidget *glade_menuitem;
|
|
GtkWidget *notebook1;
|
|
GtkWidget *vbox15;
|
|
GtkWidget *button19;
|
|
GtkWidget *frame11;
|
|
GtkWidget *vbox17;
|
|
GtkWidget *hbox11;
|
|
GtkWidget *label30;
|
|
GtkWidget *images_menu;
|
|
GtkWidget *images_menu_menu;
|
|
GtkWidget *info;
|
|
GtkWidget *table4;
|
|
GtkObject *height_adj;
|
|
GtkWidget *height;
|
|
GtkObject *width_adj;
|
|
GtkWidget *width;
|
|
GtkWidget *l30;
|
|
GtkWidget *l20;
|
|
GtkWidget *new_image;
|
|
GtkWidget *scale;
|
|
GtkWidget *base_texture;
|
|
GtkWidget *vbox16;
|
|
GtkWidget *button21;
|
|
GtkWidget *frame12;
|
|
GtkWidget *vbox18;
|
|
GtkWidget *button26;
|
|
GtkWidget *hbox13;
|
|
GtkWidget *update;
|
|
GtkWidget *update_time;
|
|
GtkWidget *label34;
|
|
GtkWidget *frame13;
|
|
GtkWidget *hbox14;
|
|
GtkWidget *button27;
|
|
GtkWidget *button28;
|
|
GtkWidget *vbox9;
|
|
GtkWidget *vbox11;
|
|
GtkWidget *frame9;
|
|
GtkWidget *vbox12;
|
|
GSList *perspective_group = NULL;
|
|
GtkWidget *fastest;
|
|
GtkWidget *nicest;
|
|
GtkWidget *frame10;
|
|
GtkWidget *vbox13;
|
|
GSList *filter_group = NULL;
|
|
GtkWidget *nearest;
|
|
GtkWidget *linear;
|
|
GtkWidget *vbox14;
|
|
GtkWidget *frame_info;
|
|
GtkWidget *frame_info2;
|
|
GtkWidget *table1;
|
|
GtkWidget *fps;
|
|
GtkWidget *l4;
|
|
GtkWidget *l1;
|
|
GtkWidget *l3;
|
|
GtkWidget *l2;
|
|
GtkWidget *end_frame;
|
|
GtkWidget *start_frame;
|
|
GtkWidget *cur_frame;
|
|
GtkWidget *anim_hbox;
|
|
GtkWidget *vbox25;
|
|
GtkWidget *frame17;
|
|
GtkWidget *vbox26;
|
|
GtkWidget *version;
|
|
GtkWidget *label779;
|
|
GtkWidget *label780;
|
|
GtkWidget *label7;
|
|
GtkWidget *label8;
|
|
GtkWidget *label9;
|
|
GtkWidget *label10;
|
|
GtkWidget *label777;
|
|
GtkWidget *dialog_action_area2;
|
|
GtkWidget *close;
|
|
|
|
dialog = gtk_dialog_new ();
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "dialog", dialog);
|
|
gtk_container_border_width (GTK_CONTAINER (dialog), 2);
|
|
gtk_signal_connect (GTK_OBJECT (dialog), "destroy",
|
|
GTK_SIGNAL_FUNC (on_dialog_destroy),
|
|
NULL);
|
|
gtk_window_set_title (GTK_WINDOW (dialog), "Texture Paint");
|
|
gtk_window_set_policy (GTK_WINDOW (dialog), TRUE, TRUE, FALSE);
|
|
|
|
dialog_vbox2 = GTK_DIALOG (dialog)->vbox;
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "dialog_vbox2", dialog_vbox2);
|
|
gtk_widget_show (dialog_vbox2);
|
|
|
|
hbox7 = gtk_hbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "hbox7", hbox7);
|
|
gtk_widget_show (hbox7);
|
|
gtk_box_pack_start (GTK_BOX (dialog_vbox2), hbox7, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (hbox7), 4);
|
|
|
|
label14 = gtk_label_new ("Model:");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "label14", label14);
|
|
gtk_widget_show (label14);
|
|
gtk_box_pack_start (GTK_BOX (hbox7), label14, FALSE, TRUE, 0);
|
|
|
|
models_menu = gtk_option_menu_new ();
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "models_menu", models_menu);
|
|
gtk_widget_show (models_menu);
|
|
gtk_box_pack_start (GTK_BOX (hbox7), models_menu, TRUE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (models_menu), 4);
|
|
models_menu_menu = gtk_menu_new ();
|
|
gtk_option_menu_set_menu (GTK_OPTION_MENU (models_menu), models_menu_menu);
|
|
|
|
notebook1 = gtk_notebook_new ();
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "notebook1", notebook1);
|
|
gtk_widget_show (notebook1);
|
|
gtk_box_pack_start (GTK_BOX (dialog_vbox2), notebook1, TRUE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (notebook1), 4);
|
|
|
|
vbox15 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox15", vbox15);
|
|
gtk_widget_show (vbox15);
|
|
gtk_container_add (GTK_CONTAINER (notebook1), vbox15);
|
|
|
|
button19 = gtk_button_new_with_label ("Load Model / PAK / Image");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "button19", button19);
|
|
gtk_widget_show (button19);
|
|
gtk_box_pack_start (GTK_BOX (vbox15), button19, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (button19), 4);
|
|
gtk_signal_connect (GTK_OBJECT (button19), "clicked",
|
|
GTK_SIGNAL_FUNC (on_load_clicked),
|
|
NULL);
|
|
|
|
frame11 = gtk_frame_new ("Texture");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "frame11", frame11);
|
|
gtk_widget_show (frame11);
|
|
gtk_box_pack_start (GTK_BOX (vbox15), frame11, TRUE, TRUE, 0);
|
|
|
|
vbox17 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox17", vbox17);
|
|
gtk_widget_show (vbox17);
|
|
gtk_container_add (GTK_CONTAINER (frame11), vbox17);
|
|
|
|
hbox11 = gtk_hbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "hbox11", hbox11);
|
|
gtk_widget_show (hbox11);
|
|
gtk_box_pack_start (GTK_BOX (vbox17), hbox11, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (hbox11), 4);
|
|
|
|
label30 = gtk_label_new ("Image: ");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "label30", label30);
|
|
gtk_widget_show (label30);
|
|
gtk_box_pack_start (GTK_BOX (hbox11), label30, FALSE, TRUE, 0);
|
|
|
|
images_menu = gtk_option_menu_new ();
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "images_menu", images_menu);
|
|
gtk_widget_show (images_menu);
|
|
gtk_box_pack_start (GTK_BOX (hbox11), images_menu, TRUE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (images_menu), 2);
|
|
gtk_signal_connect (GTK_OBJECT (images_menu), "enter",
|
|
GTK_SIGNAL_FUNC (on_images_menu_enter),
|
|
NULL);
|
|
images_menu_menu = gtk_menu_new ();
|
|
gtk_option_menu_set_menu (GTK_OPTION_MENU (images_menu), images_menu_menu);
|
|
|
|
info = gtk_label_new ("info");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "info", info);
|
|
gtk_widget_show (info);
|
|
gtk_box_pack_start (GTK_BOX (vbox17), info, FALSE, TRUE, 0);
|
|
|
|
table4 = gtk_table_new (2, 2, FALSE);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "table4", table4);
|
|
gtk_widget_show (table4);
|
|
gtk_box_pack_start (GTK_BOX (vbox17), table4, FALSE, TRUE, 0);
|
|
|
|
height_adj = gtk_adjustment_new (1, 1, 5000, 1, 10, 10);
|
|
height = gtk_spin_button_new (GTK_ADJUSTMENT (height_adj), 1, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "height", height);
|
|
gtk_widget_show (height);
|
|
gtk_table_attach (GTK_TABLE (table4), height, 1, 2, 1, 2,
|
|
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
|
|
width_adj = gtk_adjustment_new (1, 1, 5000, 1, 10, 10);
|
|
width = gtk_spin_button_new (GTK_ADJUSTMENT (width_adj), 1, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "width", width);
|
|
gtk_widget_show (width);
|
|
gtk_table_attach (GTK_TABLE (table4), width, 1, 2, 0, 1,
|
|
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
|
|
l30 = gtk_label_new ("New Height:");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "l30", l30);
|
|
gtk_widget_show (l30);
|
|
gtk_table_attach (GTK_TABLE (table4), l30, 0, 1, 1, 2,
|
|
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
gtk_label_set_justify (GTK_LABEL (l30), GTK_JUSTIFY_LEFT);
|
|
gtk_misc_set_alignment (GTK_MISC (l30), 0, 0.5);
|
|
|
|
l20 = gtk_label_new ("New Width:");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "l20", l20);
|
|
gtk_widget_show (l20);
|
|
gtk_table_attach (GTK_TABLE (table4), l20, 0, 1, 0, 1,
|
|
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
gtk_label_set_justify (GTK_LABEL (l20), GTK_JUSTIFY_LEFT);
|
|
gtk_misc_set_alignment (GTK_MISC (l20), 0, 0.5);
|
|
|
|
new_image = gtk_check_button_new_with_label ("Create new Image");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "new_image", new_image);
|
|
gtk_widget_show (new_image);
|
|
gtk_box_pack_start (GTK_BOX (vbox17), new_image, FALSE, TRUE, 0);
|
|
|
|
scale = gtk_button_new_with_label ("Scale / Convert RGB");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "scale", scale);
|
|
gtk_widget_show (scale);
|
|
gtk_box_pack_start (GTK_BOX (vbox17), scale, FALSE, TRUE, 0);
|
|
gtk_signal_connect (GTK_OBJECT (scale), "clicked",
|
|
GTK_SIGNAL_FUNC (on_scale_clicked),
|
|
NULL);
|
|
|
|
base_texture = gtk_button_new_with_label ("Base Texture");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "base_texture", base_texture);
|
|
gtk_widget_show (base_texture);
|
|
gtk_box_pack_start (GTK_BOX (vbox17), base_texture, FALSE, TRUE, 0);
|
|
gtk_signal_connect (GTK_OBJECT (base_texture), "clicked",
|
|
GTK_SIGNAL_FUNC (on_base_texture_clicked),
|
|
NULL);
|
|
|
|
vbox16 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox16", vbox16);
|
|
gtk_widget_show (vbox16);
|
|
gtk_container_add (GTK_CONTAINER (notebook1), vbox16);
|
|
gtk_container_border_width (GTK_CONTAINER (vbox16), 4);
|
|
|
|
button21 = gtk_button_new_with_label ("Center Model");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "button21", button21);
|
|
gtk_widget_show (button21);
|
|
gtk_box_pack_start (GTK_BOX (vbox16), button21, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (button21), 4);
|
|
gtk_signal_connect (GTK_OBJECT (button21), "clicked",
|
|
GTK_SIGNAL_FUNC (on_center_clicked),
|
|
NULL);
|
|
|
|
frame12 = gtk_frame_new ("Texture Paint");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "frame12", frame12);
|
|
gtk_widget_show (frame12);
|
|
gtk_box_pack_start (GTK_BOX (vbox16), frame12, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (frame12), 4);
|
|
|
|
vbox18 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox18", vbox18);
|
|
gtk_widget_show (vbox18);
|
|
gtk_container_add (GTK_CONTAINER (frame12), vbox18);
|
|
|
|
button26 = gtk_button_new_with_label ("Update");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "button26", button26);
|
|
gtk_widget_show (button26);
|
|
gtk_box_pack_start (GTK_BOX (vbox18), button26, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (button26), 4);
|
|
gtk_signal_connect (GTK_OBJECT (button26), "clicked",
|
|
GTK_SIGNAL_FUNC (on_update_clicked),
|
|
NULL);
|
|
|
|
hbox13 = gtk_hbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "hbox13", hbox13);
|
|
gtk_widget_show (hbox13);
|
|
gtk_box_pack_start (GTK_BOX (vbox18), hbox13, FALSE, TRUE, 0);
|
|
|
|
update = gtk_check_button_new_with_label ("Update after");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "update", update);
|
|
gtk_widget_show (update);
|
|
gtk_box_pack_start (GTK_BOX (hbox13), update, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (update), 4);
|
|
gtk_signal_connect (GTK_OBJECT (update), "toggled",
|
|
GTK_SIGNAL_FUNC (on_button_toggled),
|
|
NULL);
|
|
|
|
update_time = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.25, 0, 5, 0, 0, 0)));
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "update_time", update_time);
|
|
gtk_widget_show (update_time);
|
|
gtk_box_pack_start (GTK_BOX (hbox13), update_time, TRUE, TRUE, 0);
|
|
gtk_scale_set_value_pos (GTK_SCALE (update_time), GTK_POS_RIGHT);
|
|
gtk_scale_set_digits (GTK_SCALE (update_time), 2);
|
|
|
|
label34 = gtk_label_new (" seconds.");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "label34", label34);
|
|
gtk_widget_show (label34);
|
|
gtk_box_pack_start (GTK_BOX (hbox13), label34, FALSE, TRUE, 0);
|
|
gtk_label_set_justify (GTK_LABEL (label34), GTK_JUSTIFY_LEFT);
|
|
gtk_misc_set_alignment (GTK_MISC (label34), 0, 0.5);
|
|
|
|
frame13 = gtk_frame_new ("3D Paint");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "frame13", frame13);
|
|
gtk_widget_show (frame13);
|
|
gtk_box_pack_start (GTK_BOX (vbox16), frame13, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (frame13), 4);
|
|
|
|
hbox14 = gtk_hbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "hbox14", hbox14);
|
|
gtk_widget_show (hbox14);
|
|
gtk_container_add (GTK_CONTAINER (frame13), hbox14);
|
|
gtk_container_border_width (GTK_CONTAINER (hbox14), 4);
|
|
|
|
button27 = gtk_button_new_with_label ("Open 3D Paint Window");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "button27", button27);
|
|
gtk_widget_show (button27);
|
|
gtk_box_pack_start (GTK_BOX (hbox14), button27, TRUE, TRUE, 0);
|
|
gtk_signal_connect (GTK_OBJECT (button27), "clicked",
|
|
GTK_SIGNAL_FUNC (on_paint_clicked),
|
|
NULL);
|
|
|
|
button28 = gtk_button_new_with_label ("Calculate Texture");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "button28", button28);
|
|
gtk_widget_show (button28);
|
|
gtk_box_pack_start (GTK_BOX (hbox14), button28, TRUE, TRUE, 0);
|
|
gtk_signal_connect (GTK_OBJECT (button28), "clicked",
|
|
GTK_SIGNAL_FUNC (on_generate_clicked),
|
|
NULL);
|
|
|
|
vbox9 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox9", vbox9);
|
|
gtk_widget_show (vbox9);
|
|
gtk_container_add (GTK_CONTAINER (notebook1), vbox9);
|
|
|
|
vbox11 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox11", vbox11);
|
|
gtk_widget_show (vbox11);
|
|
gtk_box_pack_start (GTK_BOX (vbox9), vbox11, TRUE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (vbox11), 4);
|
|
|
|
frame9 = gtk_frame_new ("Perspective correction");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "frame9", frame9);
|
|
gtk_widget_show (frame9);
|
|
gtk_box_pack_start (GTK_BOX (vbox11), frame9, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (frame9), 4);
|
|
|
|
vbox12 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox12", vbox12);
|
|
gtk_widget_show (vbox12);
|
|
gtk_container_add (GTK_CONTAINER (frame9), vbox12);
|
|
|
|
fastest = gtk_radio_button_new_with_label (perspective_group, "fastest");
|
|
perspective_group = gtk_radio_button_group (GTK_RADIO_BUTTON (fastest));
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "fastest", fastest);
|
|
gtk_widget_show (fastest);
|
|
gtk_box_pack_start (GTK_BOX (vbox12), fastest, TRUE, TRUE, 0);
|
|
gtk_signal_connect (GTK_OBJECT (fastest), "toggled",
|
|
GTK_SIGNAL_FUNC (on_button_toggled),
|
|
NULL);
|
|
|
|
nicest = gtk_radio_button_new_with_label (perspective_group, "nicest");
|
|
perspective_group = gtk_radio_button_group (GTK_RADIO_BUTTON (nicest));
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "nicest", nicest);
|
|
gtk_widget_show (nicest);
|
|
gtk_box_pack_start (GTK_BOX (vbox12), nicest, TRUE, TRUE, 0);
|
|
gtk_signal_connect (GTK_OBJECT (nicest), "toggled",
|
|
GTK_SIGNAL_FUNC (on_button_toggled),
|
|
NULL);
|
|
|
|
frame10 = gtk_frame_new ("Texture filter");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "frame10", frame10);
|
|
gtk_widget_show (frame10);
|
|
gtk_box_pack_start (GTK_BOX (vbox11), frame10, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (frame10), 4);
|
|
|
|
vbox13 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox13", vbox13);
|
|
gtk_widget_show (vbox13);
|
|
gtk_container_add (GTK_CONTAINER (frame10), vbox13);
|
|
|
|
nearest = gtk_radio_button_new_with_label (filter_group, "nearest");
|
|
filter_group = gtk_radio_button_group (GTK_RADIO_BUTTON (nearest));
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "nearest", nearest);
|
|
gtk_widget_show (nearest);
|
|
gtk_box_pack_start (GTK_BOX (vbox13), nearest, TRUE, TRUE, 0);
|
|
gtk_signal_connect (GTK_OBJECT (nearest), "toggled",
|
|
GTK_SIGNAL_FUNC (on_button_toggled),
|
|
NULL);
|
|
|
|
linear = gtk_radio_button_new_with_label (filter_group, "linear");
|
|
filter_group = gtk_radio_button_group (GTK_RADIO_BUTTON (linear));
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "linear", linear);
|
|
gtk_widget_show (linear);
|
|
gtk_box_pack_start (GTK_BOX (vbox13), linear, TRUE, TRUE, 0);
|
|
gtk_signal_connect (GTK_OBJECT (linear), "toggled",
|
|
GTK_SIGNAL_FUNC (on_button_toggled),
|
|
NULL);
|
|
|
|
vbox14 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox14", vbox14);
|
|
gtk_widget_show (vbox14);
|
|
gtk_container_add (GTK_CONTAINER (notebook1), vbox14);
|
|
gtk_container_border_width (GTK_CONTAINER (vbox14), 4);
|
|
|
|
frame_info = gtk_label_new ("Info");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "frame_info", frame_info);
|
|
gtk_widget_show (frame_info);
|
|
gtk_box_pack_start (GTK_BOX (vbox14), frame_info, FALSE, TRUE, 0);
|
|
|
|
frame_info2 = gtk_label_new ("frame 123");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "frame_info2", frame_info2);
|
|
gtk_widget_show (frame_info2);
|
|
gtk_box_pack_start (GTK_BOX (vbox14), frame_info2, FALSE, TRUE, 0);
|
|
|
|
table1 = gtk_table_new (4, 2, FALSE);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "table1", table1);
|
|
gtk_widget_show (table1);
|
|
gtk_box_pack_start (GTK_BOX (vbox14), table1, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (table1), 4);
|
|
|
|
fps = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (18, 0, 50, 1, 4, 0)));
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "fps", fps);
|
|
gtk_widget_show (fps);
|
|
gtk_table_attach (GTK_TABLE (table1), fps, 1, 2, 3, 4,
|
|
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
|
|
l4 = gtk_label_new ("Frames per second ");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "l4", l4);
|
|
gtk_widget_show (l4);
|
|
gtk_table_attach (GTK_TABLE (table1), l4, 0, 1, 3, 4,
|
|
GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
gtk_label_set_justify (GTK_LABEL (l4), GTK_JUSTIFY_LEFT);
|
|
gtk_misc_set_alignment (GTK_MISC (l4), 0, 1);
|
|
|
|
l1 = gtk_label_new ("Current Frame ");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "l1", l1);
|
|
gtk_widget_show (l1);
|
|
gtk_table_attach (GTK_TABLE (table1), l1, 0, 1, 0, 1,
|
|
GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
gtk_label_set_justify (GTK_LABEL (l1), GTK_JUSTIFY_LEFT);
|
|
gtk_misc_set_alignment (GTK_MISC (l1), 0, 1);
|
|
|
|
l3 = gtk_label_new ("End Frame");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "l3", l3);
|
|
gtk_widget_show (l3);
|
|
gtk_table_attach (GTK_TABLE (table1), l3, 0, 1, 2, 3,
|
|
GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
gtk_label_set_justify (GTK_LABEL (l3), GTK_JUSTIFY_LEFT);
|
|
gtk_misc_set_alignment (GTK_MISC (l3), 0, 1);
|
|
|
|
l2 = gtk_label_new ("Start Frame");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "l2", l2);
|
|
gtk_widget_show (l2);
|
|
gtk_table_attach (GTK_TABLE (table1), l2, 0, 1, 1, 2,
|
|
GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
gtk_label_set_justify (GTK_LABEL (l2), GTK_JUSTIFY_LEFT);
|
|
gtk_misc_set_alignment (GTK_MISC (l2), 0, 1);
|
|
|
|
end_frame = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 0, 1, 10, 0)));
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "end_frame", end_frame);
|
|
gtk_widget_show (end_frame);
|
|
gtk_table_attach (GTK_TABLE (table1), end_frame, 1, 2, 2, 3,
|
|
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
gtk_scale_set_digits (GTK_SCALE (end_frame), 0);
|
|
|
|
start_frame = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 0, 1, 10, 0)));
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "start_frame", start_frame);
|
|
gtk_widget_show (start_frame);
|
|
gtk_table_attach (GTK_TABLE (table1), start_frame, 1, 2, 1, 2,
|
|
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
gtk_scale_set_digits (GTK_SCALE (start_frame), 0);
|
|
|
|
cur_frame = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 0, 1, 10, 0)));
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "cur_frame", cur_frame);
|
|
gtk_widget_show (cur_frame);
|
|
gtk_table_attach (GTK_TABLE (table1), cur_frame, 1, 2, 0, 1,
|
|
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
|
|
gtk_scale_set_digits (GTK_SCALE (cur_frame), 0);
|
|
|
|
anim_hbox = gtk_hbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "anim_hbox", anim_hbox);
|
|
gtk_widget_show (anim_hbox);
|
|
gtk_box_pack_start (GTK_BOX (vbox14), anim_hbox, FALSE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (anim_hbox), 10);
|
|
|
|
vbox25 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox25", vbox25);
|
|
gtk_widget_show (vbox25);
|
|
gtk_container_add (GTK_CONTAINER (notebook1), vbox25);
|
|
|
|
frame17 = gtk_frame_new ("");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "frame17", frame17);
|
|
gtk_widget_show (frame17);
|
|
gtk_box_pack_start (GTK_BOX (vbox25), frame17, TRUE, TRUE, 0);
|
|
gtk_container_border_width (GTK_CONTAINER (frame17), 2);
|
|
gtk_frame_set_label_align (GTK_FRAME (frame17), 0.5, 0.5);
|
|
|
|
vbox26 = gtk_vbox_new (FALSE, 0);
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "vbox26", vbox26);
|
|
gtk_widget_show (vbox26);
|
|
gtk_container_add (GTK_CONTAINER (frame17), vbox26);
|
|
gtk_container_border_width (GTK_CONTAINER (vbox26), 2);
|
|
|
|
version = gtk_label_new ("Texture Paint ???");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "version", version);
|
|
gtk_widget_show (version);
|
|
gtk_box_pack_start (GTK_BOX (vbox26), version, TRUE, TRUE, 0);
|
|
|
|
label779 = gtk_label_new ("Uwe Maurer <uwe_maurer@t-online.de>");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "label779", label779);
|
|
gtk_widget_show (label779);
|
|
gtk_box_pack_start (GTK_BOX (vbox26), label779, TRUE, TRUE, 0);
|
|
|
|
label780 = gtk_label_new ("http://home.t-online.de/home/uwe_maurer/texpaint.htm");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "label780", label780);
|
|
gtk_widget_show (label780);
|
|
gtk_box_pack_start (GTK_BOX (vbox26), label780, TRUE, TRUE, 0);
|
|
|
|
label7 = gtk_label_new ("File");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "label7", label7);
|
|
gtk_widget_show (label7);
|
|
set_notebook_tab (notebook1, 0, label7);
|
|
|
|
label8 = gtk_label_new ("Paint");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "label8", label8);
|
|
gtk_widget_show (label8);
|
|
set_notebook_tab (notebook1, 1, label8);
|
|
|
|
label9 = gtk_label_new ("Options");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "label9", label9);
|
|
gtk_widget_show (label9);
|
|
set_notebook_tab (notebook1, 2, label9);
|
|
|
|
label10 = gtk_label_new ("Animation");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "label10", label10);
|
|
gtk_widget_show (label10);
|
|
set_notebook_tab (notebook1, 3, label10);
|
|
|
|
label777 = gtk_label_new ("About");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "label777", label777);
|
|
gtk_widget_show (label777);
|
|
set_notebook_tab (notebook1, 4, label777);
|
|
|
|
dialog_action_area2 = GTK_DIALOG (dialog)->action_area;
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "dialog_action_area2", dialog_action_area2);
|
|
gtk_widget_show (dialog_action_area2);
|
|
gtk_container_border_width (GTK_CONTAINER (dialog_action_area2), 10);
|
|
|
|
close = gtk_button_new_with_label ("Close");
|
|
gtk_object_set_data (GTK_OBJECT (dialog), "close", close);
|
|
gtk_widget_show (close);
|
|
gtk_box_pack_start (GTK_BOX (dialog_action_area2), close, TRUE, TRUE, 0);
|
|
gtk_signal_connect (GTK_OBJECT (close), "clicked",
|
|
GTK_SIGNAL_FUNC (on_close_clicked),
|
|
NULL);
|
|
|
|
return dialog;
|
|
}
|
|
|