The Glue: callbacks.c

only for RuBoard - do not distribute or recompile

The Glue: callbacks.c

Listing 9.11 is callbacks.c for this project. In general, the aim has been to call functions here that are in comm_utils.c and keep the bulk of the code in that file ( comm_utils.c ).

Listing 9.11 callbacks.c from the Worldwide Commissions Applications
 #ifdef HAVE_CONFIG_H  #  include <config.h>  #endif  #include <gtk/gtk.h>  #include "callbacks.h"  #include "interface.h"  #include "support.h"  #include "comm_utils.h"  #include "ddc.h"  GtkWidget *frm_login;  GtkWidget *frm_table_display;  GtkWidget *frm_commissions;  gboolean  on_frm_login_delete_event              (GtkWidget       *widget,                                          GdkEvent        *event,                                          gpointer         user_data)  {  /* This is the event to shut down the application. */  gtk_main_quit();    return FALSE;  }  void  on_cmd_login_clicked                   (GtkButton       *button,                                          gpointer         user_data)  {  /* This function is called when the user clicks   * the "login" button.   *   * First, the function checks the login and password; then it shows   * frm_table_display and hides frm_login.   */  g_print("on_cmd_login_clicked event...\n");     if (check_login_and_password())       {        g_print("Login and password succeeded...\n");         gtk_widget_show_all(frm_table_display);         gtk_widget_hide(frm_login);  /* After successful login, set the tables the user   * can display.   */  gtk_widget_hide(lookup_widget(frm_table_display,                          "cmd_process"));         fill_table_combos();       }     else       {        g_print("Login and password failure...\n");       }     g_print("exit on_cmd_login_clicked event...\n");  }  void  on_cmd_change_password_clicked         (GtkButton       *button,                                          gpointer         user_data)  {  /* This is the function that attempts to change the user's   * login and password.   *   * First, it must verify that a valid user is attempting   * to log in; then it can change that user's password.   */  g_print("on_cmd_change_password_clicked event...\n");     if (check_login_and_password())       {        if (set_new_password())           {  /* If the code reaches this point, the user has   * successfully logged in, and his or her password   * has successfully been changed. Therefore,   * proceed to show frm_tbl_display and hide   * frm_login.   */  gtk_widget_show_all(frm_table_display);               gtk_widget_hide(frm_login);               gtk_widget_hide(lookup_widget(frm_table_display,                           "cmd_process"));               fill_table_combos();           }         else           {              g_print("Unable to set new password.\n");           }       }     else       {        set_message("Unable to Login to set new Password.");       }  }  void  on_frm_table_display_size_request      (GtkWidget       *widget,                                          GtkRequisition  *requisition,                                          gpointer         user_data)  {    g_print("on_frm_table_display_size_request event...\n");  }  void  on_frm_table_display_state_changed     (GtkWidget       *widget,                                          GtkStateType     state,                                          gpointer         user_data)  {    g_print("on_frm_table_display_state_changed event...\n");  }  void  on_combo_entry_table_changed           (GtkEditable     *editable,                                          gpointer         user_data)  {  /* This callback is triggered whenever the user changes   * cbo_tables in frm_display_table.   */  GtkWidget *scrolledwindow_table;     gchar     *table_name;     g_print("on_combo_entry_table_changed event...\n");     gtk_widget_destroy(GTK_WIDGET(lookup_widget(frm_table_display,              "scrolledwindow_table")));     table_name = gtk_entry_get_text (GTK_ENTRY(GTK_COMBO(lookup_widget(frm_table_display,"cbo_tables"))->entry));     g_print("table name is %s...\n", table_name);  /* Having just destroyed the main table widget with the   * gtk_widget_destroy() call, now create a new   * GTK+ table widget showing the data from the table   * named "table_name."   */  scrolledwindow_table = create_ddc(table_name);     gtk_widget_ref(scrolledwindow_table);     gtk_object_set_data_full (GTK_OBJECT(frm_table_display),                       "scrolledwindow_table", scrolledwindow_table,                       (GtkDestroyNotify) gtk_widget_unref);     gtk_container_add (GTK_CONTAINER(lookup_widget(frm_table_display,                      "vpaned_table_bottom")), scrolledwindow_table);     gtk_widget_show(scrolledwindow_table);     g_print("Exiting on_combo_entry_table_changed event...\n");  }    void  on_cmd_process_clicked                 (GtkButton       *button,                                          gpointer         user_data)  {    g_print("on_cmd_process_clicked event...\n");     gtk_widget_show_all(frm_commissions);  }  void  on_cmd_refresh_clicked                 (GtkButton       *button,                                          gpointer         user_data)  {    g_print("on_cmd_refresh_clicked event...\n");     on_combo_entry_table_changed (0L, 0L);  }  void  on_cmd_sort_clicked                    (GtkButton       *button,                                          gpointer         user_data)  {  /* This function is called when the user pushes cmd_sort.   *   * It sets the sort on clist_table according to the choices   * set by the user on frm_table_display.   */  gchar *sort_type;     g_print("on_cmd_sort_clicked event...\n");     gtk_clist_set_sort_column(GTK_CLIST(lookup_widget(frm_table_display, "clist_table")),               gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON                    (lookup_widget(frm_table_display,                    "spinbutton_column")))-1);     sort_type = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(lookup_widget(frm_table_display,                            "cbo_sort_type"))->entry));     if (g_strcasecmp(sort_type, "Ascending") == 0)        gtk_clist_set_sort_type(GTK_CLIST(lookup_widget(frm_table_display, "clist_table")),                  GTK_SORT_ASCENDING);     else        gtk_clist_set_sort_type(GTK_CLIST(lookup_widget(frm_table_display, "clist_table")),                  GTK_SORT_DESCENDING);     /* Now set the sort on the CList widget. */     g_print("sort type is %s...\n", sort_type);     gtk_clist_sort(GTK_CLIST(lookup_widget                   (frm_table_display, "clist_table")));     /* "Refresh" the form.. */     gtk_widget_show_all(frm_table_display);  }  gboolean  on_frm_table_display_delete_event      (GtkWidget       *widget,                                          GdkEvent        *event,                                          gpointer         user_data)  {  /* After the user is logged in, closing frm_table_display will   * be the signal to quit the application.   */  g_print("on_frm_table_display_delete_event...\n");    gtk_main_quit();    return FALSE;  }  gboolean  on_frm_commissions_delete_event        (GtkWidget       *widget,                                          GdkEvent        *event,                                          gpointer         user_data)  {  /* If the user closes frm_commissions, it should still   * be available; however, it will be hidden as   * opposed to deleted or destroyed.   */  g_print("on_frm_commissions_delete_event...\n");  /* When the user closes this form, the form should just   * be hidden, not deleted. That is the function of the   * return TRUE call below.   */  gtk_widget_hide(GTK_WIDGET(widget));    return TRUE;  }  void  on_cmd_country_managers_clicked        (GtkButton       *button,                                          gpointer         user_data)  {   g_print("on_cmd_country_managers_clicked event...\n");    write_country_manager_statements();  }  void  on_cmd_import_clicked                  (GtkButton       *button,                                          gpointer         user_data)  {   g_print("on_cmd_import_clicked event...\n");    load_tbl_revenue();  }  void  on_cmd_customer_clicked                (GtkButton       *button,                                          gpointer         user_data)  {   g_print("on_cmd_customer_clicked event...\n");    process_customer_commissions();  }  void  on_cmd_archive_clicked                 (GtkButton       *button,                                          gpointer         user_data)  {   g_print("on_cmd_archive_clicked event...\n");    archive_tbl_commissions();  }  void  on_cmd_worldwide_clicked               (GtkButton       *button,                                          gpointer         user_data)  {   g_print("on_cmd_worldwide_clicked event...\n");    process_worldwide();  }  void  on_cmd_country_clicked                 (GtkButton       *button,                                          gpointer         user_data)  {   g_print("on_cmd_country_clicked event...\n");    process_area("country");  }  void  on_cmd_zip_clicked                     (GtkButton       *button,                                          gpointer         user_data)  {   g_print("on_cmd_zip_clicked event...\n");    process_zipcode();  }  void  on_cmd_people_clicked                 (GtkButton       *button,                                         gpointer         user_data)  {   g_print("on_cmd_people_clicked event...\n");    process_paid_on_people();  }  void  on_cmd_salespeople_clicked            (GtkButton       *button,                                         gpointer         user_data)  {   g_print("on_cmd_salespeople_clicked event...\n");    write_salespeople_statements();  }  void  on_cmd_add_clicked                     (GtkButton       *button,                                          gpointer         user_data)  {     g_print("on_cmd_add_clicked event...\n");    insert_row();  }  void  on_cmd_delete_row_clicked             (GtkButton       *button,                                         gpointer         user_data)  {   g_print("on_cmd_delete_row_clicked event...\n");    delete_row();  }  void  on_cmd_update_clicked                 (GtkButton       *button,                                         gpointer         user_data)  {   g_print("on_cmd_update_clicked event...\n");    update_row();  }  void  on_cmd_state_clicked                  (GtkButton       *button,                                         gpointer         user_data)  {   g_print("on_cmd_state_clicked event...\n");    process_area("state");  } 
only for RuBoard - do not distribute or recompile


MySQL Building User Interfaces
MySQL: Building User Interfaces (Landmark)
ISBN: 073571049X
EAN: 2147483647
Year: 2001
Pages: 119

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net