Listing B.1 is interface.c for the Worldwide Commissions application. Its use and implementation is the same as described for Appendix A.
Listing B.1 contains three functions: create_frm_login() , create_frm_table_ display() , and create_frm_commissions() . Each creates the form widget and child widgets for the forms and then connects the signals with the callbacks (found in callbacks.c , see Chapter 9, or download from the books companion Web site).
/* DO NOT EDIT THIS FILE. It is generated by Glade. */ #ifdef HAVE_CONFIG_H # include <config.h> #endif #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <string.h> #include <gdk/gdkkeysyms.h> #include <gtk/gtk.h> #include "callbacks.h" #include "interface.h" #include "support.h" GtkWidget* create_frm_login (void) { GtkWidget *frm_login; GtkWidget *vbox1; GtkWidget *lbl_title; GtkWidget *frame_login; GtkWidget *table_login; GtkWidget *lbl_name; GtkWidget *lbl_password; GtkWidget *entry_password; GtkWidget *entry_name; GtkWidget *cmd_login; GtkWidget *frame_change_password; GtkWidget *table3; GtkWidget *lbl_new_password; GtkWidget *lbl_new_password_again; GtkWidget *entry_new_password; GtkWidget *entry_new_password_again; GtkWidget *cmd_change_password; GtkWidget *lbl_messages; frm_login = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_object_set_data (GTK_OBJECT (frm_login), "frm_login", frm_login); gtk_window_set_title (GTK_WINDOW (frm_login), "Commissions Login"); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_ref (vbox1); gtk_object_set_data_full (GTK_OBJECT (frm_login), "vbox1", vbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (frm_login), vbox1); lbl_title = gtk_label_new ("Worldwide Commissions System"); gtk_widget_ref (lbl_title); gtk_object_set_data_full (GTK_OBJECT (frm_login), "lbl_title", lbl_title, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_title); gtk_box_pack_start (GTK_BOX (vbox1), lbl_title, FALSE, FALSE, 0); gtk_misc_set_padding (GTK_MISC (lbl_title), 0, 5); frame_login = gtk_frame_new ("Login"); gtk_widget_ref (frame_login); gtk_object_set_data_full (GTK_OBJECT (frm_login), "frame_login", frame_login, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame_login); gtk_box_pack_start (GTK_BOX (vbox1), frame_login, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame_login), 5); table_login = gtk_table_new (3, 2, FALSE); gtk_widget_ref (table_login); gtk_object_set_data_full (GTK_OBJECT (frm_login), "table_login", table_login, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table_login); gtk_container_add (GTK_CONTAINER (frame_login), table_login); lbl_name = gtk_label_new ("Name:"); gtk_widget_ref (lbl_name); gtk_object_set_data_full (GTK_OBJECT (frm_login), "lbl_name", lbl_name, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_name); gtk_table_attach (GTK_TABLE (table_login), lbl_name, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_password = gtk_label_new ("Password:"); gtk_widget_ref (lbl_password); gtk_object_set_data_full (GTK_OBJECT (frm_login), "lbl_password", lbl_password, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_password); gtk_table_attach (GTK_TABLE (table_login), lbl_password, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); entry_password = gtk_entry_new (); gtk_widget_ref (entry_password); gtk_object_set_data_full (GTK_OBJECT (frm_login), "entry_password", entry_password, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (entry_password); gtk_table_attach (GTK_TABLE (table_login), entry_password, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_visibility (GTK_ENTRY (entry_password), FALSE); entry_name = gtk_entry_new (); gtk_widget_ref (entry_name); gtk_object_set_data_full (GTK_OBJECT (frm_login), "entry_name", entry_name, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (entry_name); gtk_table_attach (GTK_TABLE (table_login), entry_name, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); cmd_login = gtk_button_new_with_label ("Login"); gtk_widget_ref (cmd_login); gtk_object_set_data_full (GTK_OBJECT (frm_login), "cmd_login", cmd_login, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_login); gtk_table_attach (GTK_TABLE (table_login), cmd_login, 0, 2, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (GTK_EXPAND), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (cmd_login), 5); frame_change_password = gtk_frame_new ("Change Password"); gtk_widget_ref (frame_change_password); gtk_object_set_data_full (GTK_OBJECT (frm_login), "frame_change_password", frame_change_password, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame_change_password); gtk_box_pack_start (GTK_BOX (vbox1), frame_change_password, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame_change_password), 5); table3 = gtk_table_new (3, 2, FALSE); gtk_widget_ref (table3); gtk_object_set_data_full (GTK_OBJECT (frm_login), "table3", table3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table3); gtk_container_add (GTK_CONTAINER (frame_change_password), table3); lbl_new_password = gtk_label_new ("New Password:"); gtk_widget_ref (lbl_new_password); gtk_object_set_data_full (GTK_OBJECT (frm_login), "lbl_new_password", lbl_new_password, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_new_password); gtk_table_attach (GTK_TABLE (table3), lbl_new_password, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_new_password_again = gtk_label_new ("New Password (Again):"); gtk_widget_ref (lbl_new_password_again); gtk_object_set_data_full (GTK_OBJECT (frm_login), "lbl_new_password_again", lbl_new_password_again, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_new_password_again); gtk_table_attach (GTK_TABLE (table3), lbl_new_password_again, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); entry_new_password = gtk_entry_new (); gtk_widget_ref (entry_new_password); gtk_object_set_data_full (GTK_OBJECT (frm_login), "entry_new_password", entry_new_password, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (entry_new_password); gtk_table_attach (GTK_TABLE (table3), entry_new_password, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_visibility (GTK_ENTRY (entry_new_password), FALSE); entry_new_password_again = gtk_entry_new (); gtk_widget_ref (entry_new_password_again); gtk_object_set_data_full (GTK_OBJECT (frm_login), "entry_new_password_again", entry_new_password_again, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (entry_new_password_again); gtk_table_attach (GTK_TABLE (table3), entry_new_password_again, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_visibility (GTK_ENTRY (entry_new_password_again), FALSE); cmd_change_password = gtk_button_new_with_label ("Change Password"); gtk_widget_ref (cmd_change_password); gtk_object_set_data_full (GTK_OBJECT (frm_login), "cmd_change_password", cmd_change_password, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_change_password); gtk_table_attach (GTK_TABLE (table3), cmd_change_password, 0, 2, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (GTK_EXPAND), 0, 0); gtk_container_set_border_width (GTK_CONTAINER (cmd_change_password), 5); lbl_messages = gtk_label_new (""); gtk_widget_ref (lbl_messages); gtk_object_set_data_full (GTK_OBJECT (frm_login), "lbl_messages", lbl_messages, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_messages); gtk_box_pack_start (GTK_BOX (vbox1), lbl_messages, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (frm_login), "delete_event", GTK_SIGNAL_FUNC (on_frm_login_delete_event), NULL); gtk_signal_connect (GTK_OBJECT (cmd_login), "clicked", GTK_SIGNAL_FUNC (on_cmd_login_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_change_password), "clicked", GTK_SIGNAL_FUNC (on_cmd_change_password_clicked), NULL); gtk_widget_grab_focus (entry_name); return frm_login; } GtkWidget* create_frm_table_display (void) { GtkWidget *frm_table_display; GtkWidget *vpaned_table_top; GtkWidget *hbox_header; GtkWidget *lbl_table_list; GtkWidget *cbo_tables; GtkWidget *combo_entry_table; GtkWidget *cmd_process; GtkWidget *vpaned_table_bottom; GtkWidget *scrolledwindow_table; GtkWidget *clist_table; GtkWidget *label1; GtkWidget *label2; GtkWidget *label3; GtkWidget *vbox_commissions; GtkWidget *hbox_footer; GtkWidget *cmd_refresh; GtkWidget *cmd_sort; GtkWidget *lbl_sort_by; GtkObject *spinbutton_column_adj; GtkWidget *spinbutton_column; GtkWidget *cbo_sort_type; GList *cbo_sort_type_items = NULL; GtkWidget *combo_entry3; GtkWidget *statusbar; frm_table_display = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_object_set_data (GTK_OBJECT (frm_table_display), "frm_table_display", frm_table_display); gtk_window_set_title (GTK_WINDOW (frm_table_display), "Commissions Database - Table View"); vpaned_table_top = gtk_vpaned_new (); gtk_widget_ref (vpaned_table_top); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "vpaned_table_top", vpaned_table_top, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vpaned_table_top); gtk_container_add (GTK_CONTAINER (frm_table_display), vpaned_table_top); gtk_paned_set_gutter_size (GTK_PANED (vpaned_table_top), 10); hbox_header = gtk_hbox_new (FALSE, 5); gtk_widget_ref (hbox_header); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "hbox_header", hbox_header, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox_header); gtk_container_add (GTK_CONTAINER (vpaned_table_top), hbox_header); gtk_container_set_border_width (GTK_CONTAINER (hbox_header), 5); lbl_table_list = gtk_label_new ("Table List: "); gtk_widget_ref (lbl_table_list); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "lbl_table_list", lbl_table_list, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_table_list); gtk_box_pack_start (GTK_BOX (hbox_header), lbl_table_list, FALSE, FALSE, 0); cbo_tables = gtk_combo_new (); gtk_widget_ref (cbo_tables); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "cbo_tables", cbo_tables, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cbo_tables); gtk_box_pack_start (GTK_BOX (hbox_header), cbo_tables, FALSE, FALSE, 0); gtk_combo_set_value_in_list (GTK_COMBO (cbo_tables), TRUE, FALSE); combo_entry_table = GTK_COMBO (cbo_tables)->entry; gtk_widget_ref (combo_entry_table); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "combo_entry_table", combo_entry_table, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (combo_entry_table); cmd_process = gtk_button_new_with_label ("Process"); gtk_widget_ref (cmd_process); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "cmd_process", cmd_process, (GtkDestroyNotify) gtk_widget_unref); gtk_box_pack_start (GTK_BOX (hbox_header), cmd_process, FALSE, FALSE, 0); vpaned_table_bottom = gtk_vpaned_new (); gtk_widget_ref (vpaned_table_bottom); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "vpaned_table_bottom", vpaned_table_bottom, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vpaned_table_bottom); gtk_container_add (GTK_CONTAINER (vpaned_table_top), vpaned_table_bottom); gtk_paned_set_gutter_size (GTK_PANED (vpaned_table_bottom), 10); gtk_paned_set_position (GTK_PANED (vpaned_table_bottom), 251); scrolledwindow_table = gtk_scrolled_window_new (NULL, NULL); gtk_widget_ref (scrolledwindow_table); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "scrolledwindow_table", scrolledwindow_table, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (scrolledwindow_table); gtk_container_add (GTK_CONTAINER (vpaned_table_bottom), scrolledwindow_table); clist_table = gtk_clist_new (3); gtk_widget_ref (clist_table); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "clist_table", clist_table, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (clist_table); gtk_container_add (GTK_CONTAINER (scrolledwindow_table), clist_table); gtk_clist_set_column_width (GTK_CLIST (clist_table), 0, 80); gtk_clist_set_column_width (GTK_CLIST (clist_table), 1, 80); gtk_clist_set_column_width (GTK_CLIST (clist_table), 2, 80); gtk_clist_column_titles_show (GTK_CLIST (clist_table)); label1 = gtk_label_new ("label1"); gtk_widget_ref (label1); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "label1", label1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label1); gtk_clist_set_column_widget (GTK_CLIST (clist_table), 0, label1); label2 = gtk_label_new ("label2"); gtk_widget_ref (label2); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "label2", label2, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label2); gtk_clist_set_column_widget (GTK_CLIST (clist_table), 1, label2); label3 = gtk_label_new ("label3"); gtk_widget_ref (label3); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "label3", label3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (label3); gtk_clist_set_column_widget (GTK_CLIST (clist_table), 2, label3); vbox_commissions = gtk_vbox_new (FALSE, 0); gtk_widget_ref (vbox_commissions); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "vbox_commissions", vbox_commissions, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox_commissions); gtk_container_add (GTK_CONTAINER (vpaned_table_bottom), vbox_commissions); hbox_footer = gtk_hbox_new (FALSE, 5); gtk_widget_ref (hbox_footer); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "hbox_footer", hbox_footer, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox_footer); gtk_box_pack_start (GTK_BOX (vbox_commissions), hbox_footer, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox_footer), 5); cmd_refresh = gtk_button_new_with_label ("Refresh"); gtk_widget_ref (cmd_refresh); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "cmd_refresh", cmd_refresh, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_refresh); gtk_box_pack_start (GTK_BOX (hbox_footer), cmd_refresh, FALSE, FALSE, 0); cmd_sort = gtk_button_new_with_label ("Sort"); gtk_widget_ref (cmd_sort); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "cmd_sort", cmd_sort, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_sort); gtk_box_pack_start (GTK_BOX (hbox_footer), cmd_sort, FALSE, FALSE, 0); lbl_sort_by = gtk_label_new ("by Column: "); gtk_widget_ref (lbl_sort_by); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "lbl_sort_by", lbl_sort_by, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_sort_by); gtk_box_pack_start (GTK_BOX (hbox_footer), lbl_sort_by, FALSE, FALSE, 0); spinbutton_column_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10); spinbutton_column = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_column_adj), 1, 0); gtk_widget_ref (spinbutton_column); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "spinbutton_column", spinbutton_column, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (spinbutton_column); gtk_box_pack_start (GTK_BOX (hbox_footer), spinbutton_column, TRUE, TRUE, 0); cbo_sort_type = gtk_combo_new (); gtk_widget_ref (cbo_sort_type); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "cbo_sort_type", cbo_sort_type, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cbo_sort_type); gtk_box_pack_start (GTK_BOX (hbox_footer), cbo_sort_type, TRUE, TRUE, 0); gtk_combo_set_value_in_list (GTK_COMBO (cbo_sort_type), TRUE, FALSE); cbo_sort_type_items = g_list_append (cbo_sort_type_items, "Ascending"); cbo_sort_type_items = g_list_append (cbo_sort_type_items, "Descending"); gtk_combo_set_popdown_strings (GTK_COMBO (cbo_sort_type), cbo_sort_type_items); g_list_free (cbo_sort_type_items); combo_entry3 = GTK_COMBO (cbo_sort_type)->entry; gtk_widget_ref (combo_entry3); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "combo_entry3", combo_entry3, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (combo_entry3); gtk_entry_set_text (GTK_ENTRY (combo_entry3), "Ascending"); statusbar = gtk_statusbar_new (); gtk_widget_ref (statusbar); gtk_object_set_data_full (GTK_OBJECT (frm_table_display), "statusbar", statusbar, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (statusbar); gtk_box_pack_start (GTK_BOX (vbox_commissions), statusbar, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (frm_table_display), "size_request", GTK_SIGNAL_FUNC (on_frm_table_display_size_request), NULL); gtk_signal_connect (GTK_OBJECT (frm_table_display), "state_changed", GTK_SIGNAL_FUNC (on_frm_table_display_state_changed), NULL); gtk_signal_connect (GTK_OBJECT (frm_table_display), "delete_event", GTK_SIGNAL_FUNC (on_frm_table_display_delete_event), NULL); gtk_signal_connect (GTK_OBJECT (combo_entry_table), "changed", GTK_SIGNAL_FUNC (on_combo_entry_table_changed), NULL); gtk_signal_connect (GTK_OBJECT (combo_entry_table), "activate", GTK_SIGNAL_FUNC (on_combo_entry_table_activate), NULL); gtk_signal_connect (GTK_OBJECT (cmd_process), "clicked", GTK_SIGNAL_FUNC (on_cmd_process_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_refresh), "clicked", GTK_SIGNAL_FUNC (on_cmd_refresh_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_sort), "clicked", GTK_SIGNAL_FUNC (on_cmd_sort_clicked), NULL); return frm_table_display; } GtkWidget* create_frm_commissions (void) { GtkWidget *frm_commissions; GtkWidget *vpaned_processing; GtkWidget *table4; GtkWidget *lbl_prep; GtkWidget *lbl_process; GtkWidget *lbl_output; GtkWidget **cmd_country_managers; GtkWidget *lbl_archive; GtkWidget *cmd_import; GtkWidget *cmd_customer; GtkWidget *cmd_archive; GtkWidget *cmd_worldwide; GtkWidget *cmd_country; GtkWidget *cmd_state; GtkWidget *cmd_zip; GtkWidget *cmd_people; GtkWidget *cmd_salespeople; GtkWidget *lbl_import; GtkWidget *lbl_customer; GtkWidget *lbl_worldwide; GtkWidget *lbl_country; GtkWidget *lbl_state; GtkWidget *lbl_zip; GtkWidget *lbl_people; GtkWidget *lbl_salespeople; GtkWidget *lbl_country_managers; GtkWidget *vbox_processing; GtkWidget *hbox_add_delete; GtkWidget *lbl_table; GtkWidget *cbo_table; GtkWidget *combo_entry4; GtkWidget *frame_add; GtkWidget *cmd_add; GtkWidget *frame_delete_group; GtkWidget *hbox_delete; GtkWidget *cmd_delete_row; GtkObject *spinbutton_delete_row_adj; GtkWidget *spinbutton_delete_row; GtkWidget *frame_update_group; GtkWidget *hbox_update; GtkWidget *cmd_update; GtkWidget *lbl_line_number; GtkObject *spinbutton_update_line_adj; GtkWidget *spinbutton_update_line; GtkWidget *lbl_column; GtkWidget *entry_column_name; GtkWidget *lbl_to; GtkWidget *entry_new_value; GtkWidget *statusbar_processing; frm_commissions = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_object_set_data (GTK_OBJECT (frm_commissions), "frm_commissions", frm_commissions); gtk_window_set_title (GTK_WINDOW (frm_commissions), "Commissions Processing"); vpaned_processing = gtk_vpaned_new (); gtk_widget_ref (vpaned_processing); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "vpaned_processing", vpaned_processing, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vpaned_processing); gtk_container_add (GTK_CONTAINER (frm_commissions), vpaned_processing); gtk_paned_set_gutter_size (GTK_PANED (vpaned_processing), 10); table4 = gtk_table_new (10, 3, FALSE); gtk_widget_ref (table4); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "table4", table4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table4); gtk_container_add (GTK_CONTAINER (vpaned_processing), table4); gtk_table_set_row_spacings (GTK_TABLE (table4), 5); gtk_table_set_col_spacings (GTK_TABLE (table4), 5); lbl_prep = gtk_label_new ("Prep"); gtk_widget_ref (lbl_prep); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_prep", lbl_prep, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_prep); gtk_table_attach (GTK_TABLE (table4), lbl_prep, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_process = gtk_label_new ("Process"); gtk_widget_ref (lbl_process); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_process", lbl_process, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_process); gtk_table_attach (GTK_TABLE (table4), lbl_process, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_output = gtk_label_new ("Output"); gtk_widget_ref (lbl_output); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_output", lbl_output, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_output); gtk_table_attach (GTK_TABLE (table4), lbl_output, 0, 1, 8, 9, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); cmd_country_managers = gtk_button_new_with_label ("Country Mgrs."); gtk_widget_ref (cmd_country_managers); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_country_managers", cmd_country_managers, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_country_managers); gtk_table_attach (GTK_TABLE (table4), cmd_country_managers, 1, 2, 9, 10, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_archive = gtk_label_new (""); gtk_widget_ref (lbl_archive); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_archive", lbl_archive, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_archive); gtk_table_attach (GTK_TABLE (table4), lbl_archive, 2, 3, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); cmd_import = gtk_button_new_with_label ("Import"); gtk_widget_ref (cmd_import); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_import", cmd_import, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_import); gtk_table_attach (GTK_TABLE (table4), cmd_import, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); cmd_customer = gtk_button_new_with_label ("Customer"); gtk_widget_ref (cmd_customer); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_customer", cmd_customer, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_customer); gtk_table_attach (GTK_TABLE (table4), cmd_customer, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); cmd_archive = gtk_button_new_with_label ("Archive"); gtk_widget_ref (cmd_archive); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_archive", cmd_archive, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_archive); gtk_table_attach (GTK_TABLE (table4), cmd_archive, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); cmd_worldwide = gtk_button_new_with_label ("Worldwide"); gtk_widget_ref (cmd_worldwide); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_worldwide", cmd_worldwide, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_worldwide); gtk_table_attach (GTK_TABLE (table4), cmd_worldwide, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); cmd_country = gtk_button_new_with_label ("Country"); gtk_widget_ref (cmd_country); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_country", cmd_country, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_country); gtk_table_attach (GTK_TABLE (table4), cmd_country, 1, 2, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); cmd_state = gtk_button_new_with_label ("State"); gtk_widget_ref (cmd_state); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_state", cmd_state, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_state); gtk_table_attach (GTK_TABLE (table4), cmd_state, 1, 2, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); cmd_zip = gtk_button_new_with_label ("Zip"); gtk_widget_ref (cmd_zip); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_zip", cmd_zip, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_zip); gtk_table_attach (GTK_TABLE (table4), cmd_zip, 1, 2, 6, 7, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); cmd_people = gtk_button_new_with_label ("People"); gtk_widget_ref (cmd_people); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_people", cmd_people, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_people); gtk_table_attach (GTK_TABLE (table4), cmd_people, 1, 2, 7, 8, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); cmd_salespeople = gtk_button_new_with_label ("Salespeople"); gtk_widget_ref (cmd_salespeople); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_salespeople", cmd_salespeople, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_salespeople); gtk_table_attach (GTK_TABLE (table4), cmd_salespeople, 1, 2, 8, 9, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); lbl_import = gtk_label_new (""); gtk_widget_ref (lbl_import); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_import", lbl_import, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_import); gtk_table_attach (GTK_TABLE (table4), lbl_import, 2, 3, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_customer = gtk_label_new (""); gtk_widget_ref (lbl_customer); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_customer", lbl_customer, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_customer); gtk_table_attach (GTK_TABLE (table4), lbl_customer, 2, 3, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_worldwide = gtk_label_new (""); gtk_widget_ref (lbl_worldwide); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_worldwide", lbl_worldwide, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_worldwide); gtk_table_attach (GTK_TABLE (table4), lbl_worldwide, 2, 3, 3, 4, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_country = gtk_label_new (""); gtk_widget_ref (lbl_country); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_country", lbl_country, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_country); gtk_table_attach (GTK_TABLE (table4), lbl_country, 2, 3, 4, 5, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_state = gtk_label_new (""); gtk_widget_ref (lbl_state); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_state", lbl_state, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_state); gtk_table_attach (GTK_TABLE (table4), lbl_state, 2, 3, 5, 6, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_zip = gtk_label_new (""); gtk_widget_ref (lbl_zip); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_zip", lbl_zip, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_zip); gtk_table_attach (GTK_TABLE (table4), lbl_zip, 2, 3, 6, 7, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_people = gtk_label_new (""); gtk_widget_ref (lbl_people); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_people", lbl_people, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_people); gtk_table_attach (GTK_TABLE (table4), lbl_people, 2, 3, 7, 8, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_salespeople = gtk_label_new (""); gtk_widget_ref (lbl_salespeople); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_salespeople", lbl_salespeople, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_salespeople); gtk_table_attach (GTK_TABLE (table4), lbl_salespeople, 2, 3, 8, 9, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); lbl_country_managers = gtk_label_new (""); gtk_widget_ref (lbl_country_managers); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_country_managers", lbl_country_managers, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_country_managers); gtk_table_attach (GTK_TABLE (table4), lbl_country_managers, 2, 3, 9, 10, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); vbox_processing = gtk_vbox_new (FALSE, 0); gtk_widget_ref (vbox_processing); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "vbox_processing", vbox_processing, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox_processing); gtk_container_add (GTK_CONTAINER (vpaned_processing), vbox_processing); hbox_add_delete = gtk_hbox_new (FALSE, 5); gtk_widget_ref (hbox_add_delete); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "hbox_add_delete", hbox_add_delete, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox_add_delete); gtk_box_pack_start (GTK_BOX (vbox_processing), hbox_add_delete, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox_add_delete), 5); lbl_table = gtk_label_new ("Table "); gtk_widget_ref (lbl_table); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_table", lbl_table, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_table); gtk_box_pack_start (GTK_BOX (hbox_add_delete), lbl_table, FALSE, FALSE, 0); cbo_table = gtk_combo_new (); gtk_widget_ref (cbo_table); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cbo_table", cbo_table, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cbo_table); gtk_box_pack_start (GTK_BOX (hbox_add_delete), cbo_table, FALSE, FALSE, 0); gtk_combo_set_value_in_list (GTK_COMBO (cbo_table), TRUE, FALSE); combo_entry4 = GTK_COMBO (cbo_table)->entry; gtk_widget_ref (combo_entry4); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "combo_entry4", combo_entry4, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (combo_entry4); frame_add = gtk_frame_new ("Add"); gtk_widget_ref (frame_add); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "frame_add", frame_add, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame_add); gtk_box_pack_start (GTK_BOX (hbox_add_delete), frame_add, FALSE, FALSE, 0); cmd_add = gtk_button_new_with_label ("Add Row"); gtk_widget_ref (cmd_add); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_add", cmd_add, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_add); gtk_container_add (GTK_CONTAINER (frame_add), cmd_add); gtk_container_set_border_width (GTK_CONTAINER (cmd_add), 5); frame_delete_group = gtk_frame_new ("Delete"); gtk_widget_ref (frame_delete_group); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "frame_delete_group", frame_delete_group, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame_delete_group); gtk_box_pack_start (GTK_BOX (hbox_add_delete), frame_delete_group, TRUE, TRUE, 0); hbox_delete = gtk_hbox_new (FALSE, 5); gtk_widget_ref (hbox_delete); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "hbox_delete", hbox_delete, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox_delete); gtk_container_add (GTK_CONTAINER (frame_delete_group), hbox_delete); gtk_container_set_border_width (GTK_CONTAINER (hbox_delete), 5); cmd_delete_row = gtk_button_new_with_label ("Delete Row"); gtk_widget_ref (cmd_delete_row); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_delete_row", cmd_delete_row, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_delete_row); gtk_box_pack_start (GTK_BOX (hbox_delete), cmd_delete_row, FALSE, FALSE, 0); spinbutton_delete_row_adj = gtk_adjustment_new (1, 1, 2e+06, 1, 10, 10); spinbutton_delete_row = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_delete_row_adj), 1, 0); gtk_widget_ref (spinbutton_delete_row); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "spinbutton_delete_row", spinbutton_delete_row, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (spinbutton_delete_row); gtk_box_pack_start (GTK_BOX (hbox_delete), spinbutton_delete_row, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_delete_row), TRUE); frame_update_group = gtk_frame_new ("Update"); gtk_widget_ref (frame_update_group); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "frame_update_group", frame_update_group, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (frame_update_group); gtk_box_pack_start (GTK_BOX (vbox_processing), frame_update_group, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (frame_update_group), 5); hbox_update = gtk_hbox_new (FALSE, 5); gtk_widget_ref (hbox_update); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "hbox_update", hbox_update, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (hbox_update); gtk_container_add (GTK_CONTAINER (frame_update_group), hbox_update); gtk_container_set_border_width (GTK_CONTAINER (hbox_update), 5); cmd_update = gtk_button_new_with_label ("Update"); gtk_widget_ref (cmd_update); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "cmd_update", cmd_update, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (cmd_update); gtk_box_pack_start (GTK_BOX (hbox_update), cmd_update, FALSE, FALSE, 0); lbl_line_number = gtk_label_new ("Line Number"); gtk_widget_ref (lbl_line_number); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_line_number", lbl_line_number, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_line_number); gtk_box_pack_start (GTK_BOX (hbox_update), lbl_line_number, FALSE, FALSE, 0); spinbutton_update_line_adj = gtk_adjustment_new (1, 1, 2e+06, 1, 10, 10); spinbutton_update_line = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_update_line_adj), 1, 0); gtk_widget_ref (spinbutton_update_line); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "spinbutton_update_line", spinbutton_update_line, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (spinbutton_update_line); gtk_box_pack_start (GTK_BOX (hbox_update), spinbutton_update_line, TRUE, TRUE, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_update_line), TRUE); lbl_column = gtk_label_new ("Column"); gtk_widget_ref (lbl_column); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_column", lbl_column, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_column); gtk_box_pack_start (GTK_BOX (hbox_update), lbl_column, FALSE, FALSE, 0); entry_column_name = gtk_entry_new (); gtk_widget_ref (entry_column_name); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "entry_column_name", entry_column_name, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (entry_column_name); gtk_box_pack_start (GTK_BOX (hbox_update), entry_column_name, TRUE, TRUE, 0); lbl_to = gtk_label_new ("to"); gtk_widget_ref (lbl_to); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "lbl_to", lbl_to, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (lbl_to); gtk_box_pack_start (GTK_BOX (hbox_update), lbl_to, FALSE, FALSE, 0); entry_new_value = gtk_entry_new (); gtk_widget_ref (entry_new_value); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "entry_new_value", entry_new_value, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (entry_new_value); gtk_box_pack_start (GTK_BOX (hbox_update), entry_new_value, TRUE, TRUE, 0); statusbar_processing = gtk_statusbar_new (); gtk_widget_ref (statusbar_processing); gtk_object_set_data_full (GTK_OBJECT (frm_commissions), "statusbar_processing", statusbar_processing, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (statusbar_processing); gtk_box_pack_start (GTK_BOX (vbox_processing), statusbar_processing, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (frm_commissions), "delete_event", GTK_SIGNAL_FUNC (on_frm_commissions_delete_event), NULL); gtk_signal_connect (GTK_OBJECT (cmd_country_managers), "clicked", GTK_SIGNAL_FUNC (on_cmd_country_managers_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_import), "clicked", GTK_SIGNAL_FUNC (on_cmd_import_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_customer), "clicked", GTK_SIGNAL_FUNC (on_cmd_customer_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_archive), "clicked", GTK_SIGNAL_FUNC (on_cmd_archive_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_worldwide), "clicked", GTK_SIGNAL_FUNC (on_cmd_worldwide_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_country), "clicked", GTK_SIGNAL_FUNC (on_cmd_country_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_state), "clicked", GTK_SIGNAL_FUNC (on_cmd_state_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_zip), "clicked", GTK_SIGNAL_FUNC (on_cmd_zip_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_people), "clicked", GTK_SIGNAL_FUNC (on_cmd_people_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_salespeople), "clicked", GTK_SIGNAL_FUNC (on_cmd_salespeople_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_add), "clicked", GTK_SIGNAL_FUNC (on_cmd_add_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_delete_row), "clicked", GTK_SIGNAL_FUNC (on_cmd_delete_row_clicked), NULL); gtk_signal_connect (GTK_OBJECT (cmd_update), "clicked", GTK_SIGNAL_FUNC (on_cmd_update_clicked), NULL); return frm_commissions; }