only for RuBoard - do not distribute or recompile |
Listing C.5 is the interface.c file for the pie chart executable, and Listing C.6 is the Glade project file.
Listing C.5 is the Glade-generated file for creating the interface for the pie chart executable. As with the previous two examples in this appendix, it creates a single window widget and returns that widget to the calling program.
/* 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_piechart (void) { GtkWidget *frm_piechart; GtkWidget *vbox1; GtkWidget *drawingarea1; GtkWidget *statusbar1; frm_piechart = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_object_set_data (GTK_OBJECT (frm_piechart), "frm_piechart", frm_piechart); gtk_window_set_title (GTK_WINDOW (frm_piechart), "Sales By Division"); gtk_window_set_default_size (GTK_WINDOW (frm_piechart), 400, 600); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_ref (vbox1); gtk_object_set_data_full (GTK_OBJECT (frm_piechart), "vbox1", vbox1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (frm_piechart), vbox1); drawingarea1 = gtk_drawing_area_new (); gtk_widget_ref (drawingarea1); gtk_object_set_data_full (GTK_OBJECT (frm_piechart), "drawingarea1", drawingarea1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (drawingarea1); gtk_box_pack_start (GTK_BOX (vbox1), drawingarea1, TRUE, TRUE, 0); statusbar1 = gtk_statusbar_new (); gtk_widget_ref (statusbar1); gtk_object_set_data_full (GTK_OBJECT (frm_piechart), "statusbar1", statusbar1, (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (statusbar1); gtk_box_pack_start (GTK_BOX (vbox1), statusbar1, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (frm_piechart), "show", GTK_SIGNAL_FUNC (on_frm_piechart_show), NULL); gtk_signal_connect (GTK_OBJECT (frm_piechart), "delete_event", GTK_SIGNAL_FUNC (on_frm_piechart_delete_event), NULL); gtk_signal_connect (GTK_OBJECT (frm_piechart), "realize", GTK_SIGNAL_FUNC (on_frm_piechart_realize), NULL); gtk_signal_connect (GTK_OBJECT (frm_piechart), "event", GTK_SIGNAL_FUNC (on_frm_piechart_event), NULL); gtk_signal_connect (GTK_OBJECT (drawingarea1), "delete_event", GTK_SIGNAL_FUNC (on_drawingarea1_delete_event), NULL); gtk_signal_connect (GTK_OBJECT (drawingarea1), "show", GTK_SIGNAL_FUNC (on_drawingarea1_show), NULL); gtk_signal_connect (GTK_OBJECT (drawingarea1), "draw", GTK_SIGNAL_FUNC (on_drawingarea1_draw), NULL); gtk_signal_connect (GTK_OBJECT (drawingarea1), "event", GTK_SIGNAL_FUNC (on_drawingarea1_event), NULL); gtk_signal_connect (GTK_OBJECT (drawingarea1), "realize", GTK_SIGNAL_FUNC (on_drawingarea1_realize), NULL); return frm_piechart; }
Listing C.6 is the Glade XML File for the Pie Chart Executable.
<?xml version="1.0"?> <GTK-Interface> <project> <name>piechart</name> <program_name>piechart</program_name> <directory></directory> <source_directory>src</source_directory> <pixmaps_directory>pixmaps</pixmaps_directory> <language>C</language> <gnome_support>False</gnome_support> <gettext_support>False</gettext_support> <use_widget_names>False</use_widget_names> <output_main_file>True</output_main_file> <output_support_files>True</output_support_files> <output_build_files>True</output_build_files> <backup_source_files>True</backup_source_files> <main_source_file>interface.c</main_source_file> <main_header_file>interface.h</main_header_file> <handler_source_file>callbacks.c</handler_source_file> <handler_header_file>callbacks.h</handler_header_file> <support_source_file>support.c</support_source_file> <support_header_file>support.h</support_header_file> <translatable_strings_file></translatable_strings_file> </project> <widget> <class>GtkWindow</class> <name>frm_piechart</name> <signal> <name>show</name> <handler>on_frm_piechart_show</handler> <last_modification_time>Mon, 19 Feb 2001 17:34:16 GMT</last_modification_time> </signal> <signal> <name>delete_event</name> <handler>on_frm_piechart_delete_event</handler> <last_modification_time>Mon, 19 Feb 2001 17:34:26 GMT</last_modification_time> </signal> <signal> <name>realize</name> <handler>on_frm_piechart_realize</handler> <last_modification_time>Mon, 19 Feb 2001 21:25:59 GMT</last_modification_time> </signal> <signal> <name>event</name> <handler>on_frm_piechart_event</handler> <last_modification_time>Mon, 19 Feb 2001 21:26:12 GMT</last_modification_time> </signal> <title>Sales By Division</title> <type>GTK_WINDOW_TOPLEVEL</type> <position>GTK_WIN_POS_NONE</position> <modal>False</modal> <default_width>400</default_width> <default_height>600</default_height> <allow_shrink>False</allow_shrink> <allow_grow>True</allow_grow> <auto_shrink>False</auto_shrink> <widget> <class>GtkVBox</class> <name>vbox1</name> <homogeneous>False</homogeneous> <spacing>0</spacing> <widget> <class>GtkDrawingArea</class> <name>drawingarea1</name> <signal> <name>delete_event</name> <handler>on_drawingarea1_delete_event</handler> <last_modification_time>Mon, 19 Feb 2001 17:32:26 GMT</last_modification_time> </signal> <signal> <name>show</name> <handler>on_drawingarea1_show</handler> <last_modification_time>Mon, 19 Feb 2001 17:32:34 GMT</last_modification_time> </signal> <signal> <name>draw</name> <handler>on_drawingarea1_draw</handler> <last_modification_time>Mon, 19 Feb 2001 19:53:13 GMT</last_modification_time> </signal> <signal> <name>event</name> <handler>on_drawingarea1_event</handler> <last_modification_time>Mon, 19 Feb 2001 19:53:29 GMT</last_modification_time> </signal> <signal> <name>realize</name> <handler>on_drawingarea1_realize</handler> <last_modification_time>Mon, 19 Feb 2001 21:18:25 GMT</last_modification_time> </signal> <child> <padding>0</padding> <expand>True</expand> <fill>True</fill> </child> </widget> <widget> <class>GtkStatusbar</class> <name>statusbar1</name> <child> <padding>0</padding> <expand>False</expand> <fill>False</fill> </child> </widget> </widget> </widget> </GTK-Interface>
only for RuBoard - do not distribute or recompile |