/* Note: You are free to use whatever license you want. Eventually you will be able to edit it within Glade. */ /* * Copyright (C) * * 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 #include #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 "); 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; }