// status_page.cxx // // status notebook page for the Glaum Project // #include "prototype.h" #include "defines.h" #include #include "global.h" void status_page(Global &global) { GtkWidget *frame; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *label; GtkWidget *button; GtkWidget *scrollbar; frame = gtk_frame_new((const gchar *)0); gtk_container_set_border_width(GTK_CONTAINER(frame), 5); gtk_frame_set_label(GTK_FRAME(frame), "Status"); gtk_frame_set_label_align(GTK_FRAME(frame), 0.0, 0.5); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_OUT); gtk_widget_show(frame); // append frame to notebook as new page label = gtk_label_new("Status"); gtk_notebook_append_page(GTK_NOTEBOOK(global.getNotebookWidget()), frame, label); vbox = gtk_vbox_new(FALSE, VBOX_DEF_SPACING); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); hbox = gtk_hbox_new(FALSE, HBOX_DEF_SPACING); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, HBOX_SPACING); gtk_widget_show(hbox); gtk_widget_set_usize(global.getTextWidget(), 600, 300); gtk_box_pack_start(GTK_BOX(hbox), global.getTextWidget(), FALSE, FALSE, TEXT_SPACING); gtk_widget_show(global.getTextWidget()); scrollbar = gtk_vscrollbar_new(GTK_TEXT(global.getTextWidget())->vadj); gtk_box_pack_start(GTK_BOX(hbox), scrollbar, FALSE, FALSE, SCROLLBAR_SPACING); gtk_widget_show(global.getTextWidget()); gtk_widget_show(scrollbar); button = gtk_button_new_with_label("Clear Status"); gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, BUTTON_SPACING); X(button, "clicked", clear_status, (gpointer)&global); gtk_widget_show(button); }