From 39208cd2805a1c9b22e541e7826c7f9e6f56f680 Mon Sep 17 00:00:00 2001 From: simonmar Date: Fri, 9 Dec 2005 11:35:44 +0000 Subject: [PATCH] [project @ 2005-12-09 11:35:44 by simonmar] Make the front panel compile again, submitted by Duncan Coutts . From his email: Attached is a patch to port the GHC RTS font panel to Gtk+ 2.x rather than the obsolete Gtk+ 1.2. There were basically two changes needed. Change the configure check to look for the pkg-config utility rather than the old gtk-config. At it's just checking for Gtk+ 2.0 or later. It may be that the new code actually needs a slightly later version than that. I'm not quite sure. The other change was to convert the ghc-fontpanel.glade file to the glade-2 format using the libglade-convert script and then to re-generate the C code for constructing the GUI, that is the Vis*.c Vis*.h files in ghc/rts. The front panel has been bit-rotting for quite some time so it has not kept up with changes in the rts structures. So I had to comment out references to 3 bits that no longer exist. I've left FIXMEs in the code at the appropriate places so that someone wiser than me can make the appropriate changes. So the thing does now build though I have no doubt that it will not run, or at least will not do the right thing because it has not yet been updated to the current state of the rts. However hopefully now that it is at least buildable with a modern Gtk+ version someone else might be able to fix it up. This also relates to trac ticket #599: http://cvs.haskell.org/trac/ghc/ticket/599 --- ghc/configure.ac | 15 +- ghc/rts/FrontPanel.c | 10 +- ghc/rts/VisSupport.c | 160 +-- ghc/rts/VisSupport.h | 12 +- ghc/rts/VisWindow.c | 523 ++++---- ghc/rts/ghc-frontpanel.glade | 2996 ++++++++++++++++++++++-------------------- 6 files changed, 1943 insertions(+), 1773 deletions(-) diff --git a/ghc/configure.ac b/ghc/configure.ac index a557a10..dc651f3 100644 --- a/ghc/configure.ac +++ b/ghc/configure.ac @@ -1,5 +1,5 @@ # Initialise and check sanity. -AC_INIT([The Glorious Glasgow Haskell Compilation System], [6.5], [glasgow-haskell-bugs@haskell.org], [ghc]) +AC_INIT([The Glorious Glasgow Haskell Compilation System], [6.5.20051208], [glasgow-haskell-bugs@haskell.org], [ghc]) AC_CONFIG_SRCDIR([ghc.spec.in]) # duplicate from ../configure.ac @@ -24,13 +24,14 @@ FP_GCC_NEEDS_NO_OMIT_LFPTR FP_GHC_HAS_READLINE # test for GTK+ -AC_PATH_PROGS([GTK_CONFIG], [gtk-config gtk12-config]) +AC_PATH_PROGS([GTK_CONFIG], [pkg-config]) if test -n "$GTK_CONFIG"; then - AC_CACHE_CHECK([for version of GTK+], [fp_cv_gtk_version], - [fp_cv_gtk_version=`$GTK_CONFIG --version`]) - FP_COMPARE_VERSIONS([$fp_cv_gtk_version], [-lt], [1.2], - [AC_MSG_WARN([GTK+ not usable, need at least version 1.2]) - GTK_CONFIG=]) + if $GTK_CONFIG gtk+-2.0 --atleast-version=2.0; then + GTK_CONFIG="$GTK_CONFIG gtk+-2.0" + else + AC_MSG_WARN([GTK+ not usable, need at least version 2.0]) + GTK_CONFIG= + fi fi AC_SUBST([GTK_CONFIG]) diff --git a/ghc/rts/FrontPanel.c b/ghc/rts/FrontPanel.c index a09c8cc..579b75b 100644 --- a/ghc/rts/FrontPanel.c +++ b/ghc/rts/FrontPanel.c @@ -20,9 +20,9 @@ #include "RtsFlags.h" #include "Schedule.h" -#include -#include #include +#include +#include #include "VisSupport.h" #include "VisWindow.h" @@ -605,7 +605,7 @@ residencyCensus( void ) g == 0 && s == 0) continue; if (RtsFlags.GcFlags.generations == 1) { - bd = generations[g].steps[s].to_blocks; +/* bd = generations[g].steps[s].to_blocks; FIXME to_blocks does not exist */ } else { bd = generations[g].steps[s].blocks; } @@ -668,7 +668,7 @@ residencyCensus( void ) case SE_CAF_BLACKHOLE: case SE_BLACKHOLE: case BLACKHOLE: - case BLACKHOLE_BQ: +/* case BLACKHOLE_BQ: FIXME: case does not exist */ size = sizeW_fromITBL(info); type = BlackHole; break; @@ -703,7 +703,7 @@ residencyCensus( void ) case STABLE_NAME: case MVAR: case MUT_VAR: - case MUT_CONS: +/* case MUT_CONS: FIXME: case does not exist */ case IND_PERM: case IND_OLDGEN_PERM: size = sizeW_fromITBL(info); diff --git a/ghc/rts/VisSupport.c b/ghc/rts/VisSupport.c index f1c6bfb..a85c5f4 100644 --- a/ghc/rts/VisSupport.c +++ b/ghc/rts/VisSupport.c @@ -10,18 +10,12 @@ #include #include #include +#include #include #include "VisSupport.h" -/* This is an internally used function to check if a pixmap file exists. */ -static gchar* check_file_exists (const gchar *directory, - const gchar *filename); - -/* This is an internally used function to create pixmaps. */ -static GtkWidget* create_dummy_pixmap (GtkWidget *widget); - GtkWidget* lookup_widget (GtkWidget *widget, const gchar *widget_name) @@ -34,47 +28,20 @@ lookup_widget (GtkWidget *widget, parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); else parent = widget->parent; + if (!parent) + parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey"); if (parent == NULL) break; widget = parent; } - found_widget = (GtkWidget*) gtk_object_get_data (GTK_OBJECT (widget), - widget_name); + found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget), + widget_name); if (!found_widget) g_warning ("Widget not found: %s", widget_name); return found_widget; } -/* This is a dummy pixmap we use when a pixmap can't be found. */ -static char *dummy_pixmap_xpm[] = { -/* columns rows colors chars-per-pixel */ -"1 1 1 1", -" c None", -/* pixels */ -" " -}; - -/* This is an internally used function to create pixmaps. */ -static GtkWidget* -create_dummy_pixmap (GtkWidget *widget) -{ - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; - GtkWidget *pixmap; - - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &mask, - NULL, dummy_pixmap_xpm); - if (gdkpixmap == NULL) - g_error ("Couldn't create replacement pixmap."); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); - return pixmap; -} - static GList *pixmaps_directories = NULL; /* Use this function to set the directory containing installed pixmaps. */ @@ -85,78 +52,93 @@ add_pixmap_directory (const gchar *directory) g_strdup (directory)); } +/* This is an internally used function to find pixmap files. */ +static gchar* +find_pixmap_file (const gchar *filename) +{ + GList *elem; + + /* We step through each of the pixmaps directory to find it. */ + elem = pixmaps_directories; + while (elem) + { + gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data, + G_DIR_SEPARATOR_S, filename); + if (g_file_test (pathname, G_FILE_TEST_EXISTS)) + return pathname; + g_free (pathname); + elem = elem->next; + } + return NULL; +} + /* This is an internally used function to create pixmaps. */ GtkWidget* create_pixmap (GtkWidget *widget, const gchar *filename) { - gchar *found_filename = NULL; - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; + gchar *pathname = NULL; GtkWidget *pixmap; - GList *elem; if (!filename || !filename[0]) - return create_dummy_pixmap (widget); + return gtk_image_new (); - /* We first try any pixmaps directories set by the application. */ - elem = pixmaps_directories; - while (elem) - { - found_filename = check_file_exists ((gchar*)elem->data, filename); - if (found_filename) - break; - elem = elem->next; - } + pathname = find_pixmap_file (filename); - /* If we haven't found the pixmap, try the source directory. */ - if (!found_filename) + if (!pathname) { - found_filename = check_file_exists ("../pixmaps", filename); + g_warning ("Couldn't find pixmap file: %s", filename); + return gtk_image_new (); } - if (!found_filename) + pixmap = gtk_image_new_from_file (pathname); + g_free (pathname); + return pixmap; +} + +/* This is an internally used function to create pixmaps. */ +GdkPixbuf* +create_pixbuf (const gchar *filename) +{ + gchar *pathname = NULL; + GdkPixbuf *pixbuf; + GError *error = NULL; + + if (!filename || !filename[0]) + return NULL; + + pathname = find_pixmap_file (filename); + + if (!pathname) { g_warning ("Couldn't find pixmap file: %s", filename); - return create_dummy_pixmap (widget); + return NULL; } - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm (NULL, colormap, &mask, - NULL, found_filename); - if (gdkpixmap == NULL) + pixbuf = gdk_pixbuf_new_from_file (pathname, &error); + if (!pixbuf) { - g_warning ("Error loading pixmap file: %s", found_filename); - g_free (found_filename); - return create_dummy_pixmap (widget); + fprintf (stderr, "Failed to load pixbuf file: %s: %s\n", + pathname, error->message); + g_error_free (error); } - g_free (found_filename); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); - return pixmap; + g_free (pathname); + return pixbuf; } -/* This is an internally used function to check if a pixmap file exists. */ -gchar* -check_file_exists (const gchar *directory, - const gchar *filename) +/* This is used to set ATK action descriptions. */ +void +glade_set_atk_action_description (AtkAction *action, + const gchar *action_name, + const gchar *description) { - gchar *full_filename; - struct stat s; - gint status; - - full_filename = (gchar*) g_malloc (strlen (directory) + 1 - + strlen (filename) + 1); - strcpy (full_filename, directory); - strcat (full_filename, G_DIR_SEPARATOR_S); - strcat (full_filename, filename); - - status = stat (full_filename, &s); - if (status == 0 && S_ISREG (s.st_mode)) - return full_filename; - g_free (full_filename); - return NULL; + gint n_actions, i; + + n_actions = atk_action_get_n_actions (action); + for (i = 0; i < n_actions; i++) + { + if (!strcmp (atk_action_get_name (action, i), action_name)) + atk_action_set_description (action, i, description); + } } diff --git a/ghc/rts/VisSupport.h b/ghc/rts/VisSupport.h index aee31f9..2dea079 100644 --- a/ghc/rts/VisSupport.h +++ b/ghc/rts/VisSupport.h @@ -21,8 +21,6 @@ GtkWidget* lookup_widget (GtkWidget *widget, const gchar *widget_name); -/* get_widget() is deprecated. Use lookup_widget instead. */ -#define get_widget lookup_widget /* Use this function to set the directory containing installed pixmaps. */ void add_pixmap_directory (const gchar *directory); @@ -32,7 +30,15 @@ void add_pixmap_directory (const gchar *directory); * Private Functions. */ -/* This is used to create the pixmaps in the interface. */ +/* This is used to create the pixmaps used in the interface. */ GtkWidget* create_pixmap (GtkWidget *widget, const gchar *filename); +/* This is used to create the pixbufs used in the interface. */ +GdkPixbuf* create_pixbuf (const gchar *filename); + +/* This is used to set ATK action descriptions. */ +void glade_set_atk_action_description (AtkAction *action, + const gchar *action_name, + const gchar *description); + diff --git a/ghc/rts/VisWindow.c b/ghc/rts/VisWindow.c index f3ee96f..188b889 100644 --- a/ghc/rts/VisWindow.c +++ b/ghc/rts/VisWindow.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -18,6 +19,13 @@ #include "VisWindow.h" #include "VisSupport.h" +#define GLADE_HOOKUP_OBJECT(component,widget,name) \ + g_object_set_data_full (G_OBJECT (component), name, \ + gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) + +#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ + g_object_set_data (G_OBJECT (component), name, widget) + GtkWidget* create_GHC_Front_Panel (void) { @@ -30,6 +38,7 @@ create_GHC_Front_Panel (void) GtkWidget *label40; GtkWidget *map_ruler; GtkWidget *memmap; + GtkWidget *label1; GtkWidget *frame8; GtkWidget *vbox14; GtkWidget *table4; @@ -37,6 +46,7 @@ create_GHC_Front_Panel (void) GtkWidget *gen_hbox; GtkWidget *generations; GtkWidget *label39; + GtkWidget *label41; GtkWidget *frame7; GtkWidget *table3; GtkWidget *res_hruler; @@ -44,6 +54,7 @@ create_GHC_Front_Panel (void) GtkWidget *res_drawingarea; GtkWidget *label37; GtkWidget *label38; + GtkWidget *label42; GtkWidget *vbox5; GtkWidget *frame5; GtkWidget *vbox6; @@ -60,6 +71,7 @@ create_GHC_Front_Panel (void) GtkWidget *allocated_label; GtkWidget *footprint_label; GtkWidget *alloc_rate_label; + GtkWidget *label43; GtkWidget *frame9; GtkWidget *table5; GtkWidget *label20; @@ -80,108 +92,92 @@ create_GHC_Front_Panel (void) GtkWidget *hseparator2; GtkWidget *label35; GtkWidget *total_label; + GtkWidget *label44; GtkWidget *frame6; GtkWidget *vbox7; GtkWidget *vbox9; - GSList *grp1_group = NULL; GtkWidget *cont_radio; + GSList *cont_radio_group = NULL; GtkWidget *stop_before_radio; GtkWidget *stop_after_radio; GtkWidget *stop_both_radio; GtkWidget *vbox8; GtkWidget *stop_but; GtkWidget *continue_but; + GtkWidget *label45; GtkWidget *quit_but; GtkWidget *statusbar; GHC_Front_Panel = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_object_set_data (GTK_OBJECT (GHC_Front_Panel), "GHC_Front_Panel", GHC_Front_Panel); + gtk_widget_set_name (GHC_Front_Panel, "GHC_Front_Panel"); gtk_window_set_title (GTK_WINDOW (GHC_Front_Panel), "GHC Front Panel"); gtk_window_set_default_size (GTK_WINDOW (GHC_Front_Panel), 450, 600); vbox1 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox1); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "vbox1", vbox1, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox1, "vbox1"); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (GHC_Front_Panel), vbox1); hbox1 = gtk_hbox_new (FALSE, 10); - gtk_widget_ref (hbox1); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "hbox1", hbox1, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (hbox1, "hbox1"); gtk_widget_show (hbox1); gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox1), 10); vbox4 = gtk_vbox_new (FALSE, 10); - gtk_widget_ref (vbox4); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "vbox4", vbox4, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox4, "vbox4"); gtk_widget_show (vbox4); gtk_box_pack_start (GTK_BOX (hbox1), vbox4, TRUE, TRUE, 0); - frame3 = gtk_frame_new ("Memory Map"); - gtk_widget_ref (frame3); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "frame3", frame3, - (GtkDestroyNotify) gtk_widget_unref); + frame3 = gtk_frame_new (NULL); + gtk_widget_set_name (frame3, "frame3"); gtk_widget_show (frame3); gtk_box_pack_start (GTK_BOX (vbox4), frame3, TRUE, TRUE, 0); hbox3 = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hbox3); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "hbox3", hbox3, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (hbox3, "hbox3"); gtk_widget_show (hbox3); gtk_container_add (GTK_CONTAINER (frame3), hbox3); label40 = gtk_label_new ("Mb"); - gtk_widget_ref (label40); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label40", label40, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label40, "label40"); gtk_widget_show (label40); gtk_box_pack_start (GTK_BOX (hbox3), label40, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label40), GTK_JUSTIFY_CENTER); map_ruler = gtk_vruler_new (); - gtk_widget_ref (map_ruler); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "map_ruler", map_ruler, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (map_ruler, "map_ruler"); gtk_widget_show (map_ruler); gtk_box_pack_start (GTK_BOX (hbox3), map_ruler, FALSE, FALSE, 0); - gtk_ruler_set_range (GTK_RULER (map_ruler), 0, 10, 5.18797, 10); + gtk_ruler_set_range (GTK_RULER (map_ruler), 0, 10, 1.40845, 10); memmap = gtk_drawing_area_new (); - gtk_widget_ref (memmap); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "memmap", memmap, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (memmap, "memmap"); gtk_widget_show (memmap); gtk_box_pack_start (GTK_BOX (hbox3), memmap, TRUE, TRUE, 0); - frame8 = gtk_frame_new ("Generations"); - gtk_widget_ref (frame8); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "frame8", frame8, - (GtkDestroyNotify) gtk_widget_unref); + label1 = gtk_label_new ("Memory Map"); + gtk_widget_set_name (label1, "label1"); + gtk_widget_show (label1); + gtk_frame_set_label_widget (GTK_FRAME (frame3), label1); + + frame8 = gtk_frame_new (NULL); + gtk_widget_set_name (frame8, "frame8"); gtk_widget_show (frame8); gtk_box_pack_start (GTK_BOX (vbox4), frame8, TRUE, TRUE, 0); vbox14 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox14); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "vbox14", vbox14, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox14, "vbox14"); gtk_widget_show (vbox14); gtk_container_add (GTK_CONTAINER (frame8), vbox14); table4 = gtk_table_new (2, 3, FALSE); - gtk_widget_ref (table4); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "table4", table4, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (table4, "table4"); gtk_widget_show (table4); gtk_box_pack_start (GTK_BOX (vbox14), table4, TRUE, TRUE, 0); gen_ruler = gtk_vruler_new (); - gtk_widget_ref (gen_ruler); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "gen_ruler", gen_ruler, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (gen_ruler, "gen_ruler"); gtk_widget_show (gen_ruler); gtk_table_attach (GTK_TABLE (table4), gen_ruler, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), @@ -189,51 +185,45 @@ create_GHC_Front_Panel (void) gtk_ruler_set_range (GTK_RULER (gen_ruler), 0, 10, 1.69935, 10); gen_hbox = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (gen_hbox); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "gen_hbox", gen_hbox, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (gen_hbox, "gen_hbox"); gtk_widget_show (gen_hbox); gtk_table_attach (GTK_TABLE (table4), gen_hbox, 2, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); generations = gtk_drawing_area_new (); - gtk_widget_ref (generations); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "generations", generations, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (generations, "generations"); gtk_widget_show (generations); gtk_table_attach (GTK_TABLE (table4), generations, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label39 = gtk_label_new ("Mb"); - gtk_widget_ref (label39); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label39", label39, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label39, "label39"); gtk_widget_show (label39); gtk_table_attach (GTK_TABLE (table4), label39, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label39), GTK_JUSTIFY_CENTER); + + label41 = gtk_label_new ("Generations"); + gtk_widget_set_name (label41, "label41"); + gtk_widget_show (label41); + gtk_frame_set_label_widget (GTK_FRAME (frame8), label41); - frame7 = gtk_frame_new ("Residency"); - gtk_widget_ref (frame7); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "frame7", frame7, - (GtkDestroyNotify) gtk_widget_unref); + frame7 = gtk_frame_new (NULL); + gtk_widget_set_name (frame7, "frame7"); gtk_widget_show (frame7); gtk_box_pack_start (GTK_BOX (vbox4), frame7, TRUE, TRUE, 0); table3 = gtk_table_new (3, 3, FALSE); - gtk_widget_ref (table3); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "table3", table3, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (table3, "table3"); gtk_widget_show (table3); gtk_container_add (GTK_CONTAINER (frame7), table3); gtk_container_set_border_width (GTK_CONTAINER (table3), 2); res_hruler = gtk_hruler_new (); - gtk_widget_ref (res_hruler); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "res_hruler", res_hruler, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (res_hruler, "res_hruler"); gtk_widget_show (res_hruler); gtk_table_attach (GTK_TABLE (table3), res_hruler, 2, 3, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), @@ -241,9 +231,7 @@ create_GHC_Front_Panel (void) gtk_ruler_set_range (GTK_RULER (res_hruler), 0, 10, 8.35443, 10); res_vruler = gtk_vruler_new (); - gtk_widget_ref (res_vruler); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "res_vruler", res_vruler, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (res_vruler, "res_vruler"); gtk_widget_show (res_vruler); gtk_table_attach (GTK_TABLE (table3), res_vruler, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), @@ -251,66 +239,57 @@ create_GHC_Front_Panel (void) gtk_ruler_set_range (GTK_RULER (res_vruler), 0, 10, 9.69925, 10); res_drawingarea = gtk_drawing_area_new (); - gtk_widget_ref (res_drawingarea); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "res_drawingarea", res_drawingarea, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (res_drawingarea, "res_drawingarea"); gtk_widget_show (res_drawingarea); gtk_table_attach (GTK_TABLE (table3), res_drawingarea, 2, 3, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label37 = gtk_label_new ("Secs"); - gtk_widget_ref (label37); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label37", label37, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label37, "label37"); gtk_widget_show (label37); gtk_table_attach (GTK_TABLE (table3), label37, 2, 3, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label37), GTK_JUSTIFY_CENTER); label38 = gtk_label_new ("Mb"); - gtk_widget_ref (label38); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label38", label38, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label38, "label38"); gtk_widget_show (label38); gtk_table_attach (GTK_TABLE (table3), label38, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label38), GTK_JUSTIFY_CENTER); + + label42 = gtk_label_new ("Residency"); + gtk_widget_set_name (label42, "label42"); + gtk_widget_show (label42); + gtk_frame_set_label_widget (GTK_FRAME (frame7), label42); vbox5 = gtk_vbox_new (FALSE, 10); - gtk_widget_ref (vbox5); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "vbox5", vbox5, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox5, "vbox5"); gtk_widget_show (vbox5); gtk_box_pack_end (GTK_BOX (hbox1), vbox5, FALSE, FALSE, 0); - frame5 = gtk_frame_new ("Stats"); - gtk_widget_ref (frame5); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "frame5", frame5, - (GtkDestroyNotify) gtk_widget_unref); + frame5 = gtk_frame_new (NULL); + gtk_widget_set_name (frame5, "frame5"); gtk_widget_show (frame5); gtk_box_pack_start (GTK_BOX (vbox5), frame5, FALSE, TRUE, 0); vbox6 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox6); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "vbox6", vbox6, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox6, "vbox6"); gtk_widget_show (vbox6); gtk_container_add (GTK_CONTAINER (frame5), vbox6); gtk_container_set_border_width (GTK_CONTAINER (vbox6), 5); table1 = gtk_table_new (4, 3, FALSE); - gtk_widget_ref (table1); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "table1", table1, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (table1, "table1"); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (vbox6), table1, TRUE, TRUE, 0); gtk_table_set_col_spacings (GTK_TABLE (table1), 7); label12 = gtk_label_new ("Allocated"); - gtk_widget_ref (label12); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label12", label12, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label12, "label12"); gtk_widget_show (label12); gtk_table_attach (GTK_TABLE (table1), label12, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), @@ -319,9 +298,7 @@ create_GHC_Front_Panel (void) gtk_misc_set_alignment (GTK_MISC (label12), 1, 0.5); label13 = gtk_label_new ("Live"); - gtk_widget_ref (label13); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label13", label13, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label13, "label13"); gtk_widget_show (label13); gtk_table_attach (GTK_TABLE (table1), label13, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), @@ -330,9 +307,7 @@ create_GHC_Front_Panel (void) gtk_misc_set_alignment (GTK_MISC (label13), 1, 0.5); label14 = gtk_label_new ("Allocation Rate"); - gtk_widget_ref (label14); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label14", label14, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label14, "label14"); gtk_widget_show (label14); gtk_table_attach (GTK_TABLE (table1), label14, 0, 1, 3, 4, (GtkAttachOptions) (0), @@ -340,10 +315,8 @@ create_GHC_Front_Panel (void) gtk_label_set_justify (GTK_LABEL (label14), GTK_JUSTIFY_RIGHT); gtk_misc_set_alignment (GTK_MISC (label14), 1, 0.5); - label15 = gtk_label_new ("Footprint"); - gtk_widget_ref (label15); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label15", label15, - (GtkDestroyNotify) gtk_widget_unref); + label15 = gtk_label_new ("\t\tFootprint"); + gtk_widget_set_name (label15, "label15"); gtk_widget_show (label15); gtk_table_attach (GTK_TABLE (table1), label15, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), @@ -352,386 +325,422 @@ create_GHC_Front_Panel (void) gtk_misc_set_alignment (GTK_MISC (label15), 1, 0.5); label16 = gtk_label_new ("M/sec"); - gtk_widget_ref (label16); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label16", label16, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label16, "label16"); gtk_widget_show (label16); gtk_table_attach (GTK_TABLE (table1), label16, 2, 3, 3, 4, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_CENTER); label17 = gtk_label_new ("M"); - gtk_widget_ref (label17); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label17", label17, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label17, "label17"); gtk_widget_show (label17); gtk_table_attach (GTK_TABLE (table1), label17, 2, 3, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label17), 7.45058e-09, 0.5); label18 = gtk_label_new ("M"); - gtk_widget_ref (label18); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label18", label18, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label18, "label18"); gtk_widget_show (label18); gtk_table_attach (GTK_TABLE (table1), label18, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (label18), 7.45058e-09, 0.5); label19 = gtk_label_new ("M"); - gtk_widget_ref (label19); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label19", label19, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label19, "label19"); gtk_widget_show (label19); gtk_table_attach (GTK_TABLE (table1), label19, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label19), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (label19), 7.45058e-09, 0.5); live_label = gtk_label_new (""); - gtk_widget_ref (live_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "live_label", live_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (live_label, "live_label"); gtk_widget_show (live_label); gtk_table_attach (GTK_TABLE (table1), live_label, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (live_label, 70, -2); + gtk_label_set_justify (GTK_LABEL (live_label), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (live_label), 1, 0.5); allocated_label = gtk_label_new (""); - gtk_widget_ref (allocated_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "allocated_label", allocated_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (allocated_label, "allocated_label"); gtk_widget_show (allocated_label); gtk_table_attach (GTK_TABLE (table1), allocated_label, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (allocated_label, 70, -2); + gtk_label_set_justify (GTK_LABEL (allocated_label), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (allocated_label), 1, 0.5); footprint_label = gtk_label_new (""); - gtk_widget_ref (footprint_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "footprint_label", footprint_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (footprint_label, "footprint_label"); gtk_widget_show (footprint_label); gtk_table_attach (GTK_TABLE (table1), footprint_label, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (footprint_label, 70, -2); + gtk_label_set_justify (GTK_LABEL (footprint_label), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (footprint_label), 1, 0.5); alloc_rate_label = gtk_label_new (""); - gtk_widget_ref (alloc_rate_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "alloc_rate_label", alloc_rate_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (alloc_rate_label, "alloc_rate_label"); gtk_widget_show (alloc_rate_label); gtk_table_attach (GTK_TABLE (table1), alloc_rate_label, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (alloc_rate_label, 70, -2); + gtk_label_set_justify (GTK_LABEL (alloc_rate_label), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (alloc_rate_label), 1, 0.5); - frame9 = gtk_frame_new ("Threads"); - gtk_widget_ref (frame9); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "frame9", frame9, - (GtkDestroyNotify) gtk_widget_unref); + label43 = gtk_label_new ("Stats"); + gtk_widget_set_name (label43, "label43"); + gtk_widget_show (label43); + gtk_frame_set_label_widget (GTK_FRAME (frame5), label43); + + frame9 = gtk_frame_new (NULL); + gtk_widget_set_name (frame9, "frame9"); gtk_widget_show (frame9); gtk_box_pack_start (GTK_BOX (vbox5), frame9, FALSE, TRUE, 0); table5 = gtk_table_new (9, 2, FALSE); - gtk_widget_ref (table5); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "table5", table5, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (table5, "table5"); gtk_widget_show (table5); gtk_container_add (GTK_CONTAINER (frame9), table5); gtk_container_set_border_width (GTK_CONTAINER (table5), 6); gtk_table_set_col_spacings (GTK_TABLE (table5), 10); label20 = gtk_label_new ("Running"); - gtk_widget_ref (label20); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label20", label20, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label20, "label20"); gtk_widget_show (label20); gtk_table_attach (GTK_TABLE (table5), label20, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label20), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (label20), 1, 0.5); label21 = gtk_label_new ("Blocked on I/O (Read)"); - gtk_widget_ref (label21); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label21", label21, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label21, "label21"); gtk_widget_show (label21); gtk_table_attach (GTK_TABLE (table5), label21, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label21), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (label21), 1, 0.5); label22 = gtk_label_new ("Blocked on MVar"); - gtk_widget_ref (label22); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label22", label22, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label22, "label22"); gtk_widget_show (label22); gtk_table_attach (GTK_TABLE (table5), label22, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label22), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (label22), 1, 0.5); label24 = gtk_label_new ("Blocked on throwTo"); - gtk_widget_ref (label24); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label24", label24, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label24, "label24"); gtk_widget_show (label24); gtk_table_attach (GTK_TABLE (table5), label24, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label24), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (label24), 1, 0.5); label26 = gtk_label_new ("Blocked on Black Hole"); - gtk_widget_ref (label26); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label26", label26, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label26, "label26"); gtk_widget_show (label26); gtk_table_attach (GTK_TABLE (table5), label26, 0, 1, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label26), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (label26), 1, 0.5); label25 = gtk_label_new ("Sleeping"); - gtk_widget_ref (label25); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label25", label25, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label25, "label25"); gtk_widget_show (label25); gtk_table_attach (GTK_TABLE (table5), label25, 0, 1, 6, 7, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label25), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (label25), 1, 0.5); label27 = gtk_label_new ("Blocked on I/O (Write)"); - gtk_widget_ref (label27); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label27", label27, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label27, "label27"); gtk_widget_show (label27); gtk_table_attach (GTK_TABLE (table5), label27, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label27), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (label27), 1, 0.5); running_label = gtk_label_new ("label28"); - gtk_widget_ref (running_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "running_label", running_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (running_label, "running_label"); gtk_widget_show (running_label); gtk_table_attach (GTK_TABLE (table5), running_label, 1, 2, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (running_label), GTK_JUSTIFY_CENTER); blockread_label = gtk_label_new ("label29"); - gtk_widget_ref (blockread_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "blockread_label", blockread_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (blockread_label, "blockread_label"); gtk_widget_show (blockread_label); gtk_table_attach (GTK_TABLE (table5), blockread_label, 1, 2, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (blockread_label), GTK_JUSTIFY_CENTER); blockwrite_label = gtk_label_new ("label30"); - gtk_widget_ref (blockwrite_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "blockwrite_label", blockwrite_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (blockwrite_label, "blockwrite_label"); gtk_widget_show (blockwrite_label); gtk_table_attach (GTK_TABLE (table5), blockwrite_label, 1, 2, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (blockwrite_label), GTK_JUSTIFY_CENTER); blockmvar_label = gtk_label_new ("label31"); - gtk_widget_ref (blockmvar_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "blockmvar_label", blockmvar_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (blockmvar_label, "blockmvar_label"); gtk_widget_show (blockmvar_label); gtk_table_attach (GTK_TABLE (table5), blockmvar_label, 1, 2, 3, 4, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (blockmvar_label), GTK_JUSTIFY_CENTER); blockthrowto_label = gtk_label_new ("label32"); - gtk_widget_ref (blockthrowto_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "blockthrowto_label", blockthrowto_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (blockthrowto_label, "blockthrowto_label"); gtk_widget_show (blockthrowto_label); gtk_table_attach (GTK_TABLE (table5), blockthrowto_label, 1, 2, 4, 5, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (blockthrowto_label), GTK_JUSTIFY_CENTER); blockbh_label = gtk_label_new ("label33"); - gtk_widget_ref (blockbh_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "blockbh_label", blockbh_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (blockbh_label, "blockbh_label"); gtk_widget_show (blockbh_label); gtk_table_attach (GTK_TABLE (table5), blockbh_label, 1, 2, 5, 6, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (blockbh_label), GTK_JUSTIFY_CENTER); sleeping_label = gtk_label_new ("label34"); - gtk_widget_ref (sleeping_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "sleeping_label", sleeping_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (sleeping_label, "sleeping_label"); gtk_widget_show (sleeping_label); gtk_table_attach (GTK_TABLE (table5), sleeping_label, 1, 2, 6, 7, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (sleeping_label), GTK_JUSTIFY_CENTER); hseparator1 = gtk_hseparator_new (); - gtk_widget_ref (hseparator1); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "hseparator1", hseparator1, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (hseparator1, "hseparator1"); gtk_widget_show (hseparator1); gtk_table_attach (GTK_TABLE (table5), hseparator1, 0, 1, 7, 8, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); hseparator2 = gtk_hseparator_new (); - gtk_widget_ref (hseparator2); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "hseparator2", hseparator2, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (hseparator2, "hseparator2"); gtk_widget_show (hseparator2); gtk_table_attach (GTK_TABLE (table5), hseparator2, 1, 2, 7, 8, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label35 = gtk_label_new ("Total"); - gtk_widget_ref (label35); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "label35", label35, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label35, "label35"); gtk_widget_show (label35); gtk_table_attach (GTK_TABLE (table5), label35, 0, 1, 8, 9, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label35), GTK_JUSTIFY_CENTER); gtk_misc_set_alignment (GTK_MISC (label35), 1, 0.5); total_label = gtk_label_new ("label36"); - gtk_widget_ref (total_label); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "total_label", total_label, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (total_label, "total_label"); gtk_widget_show (total_label); gtk_table_attach (GTK_TABLE (table5), total_label, 1, 2, 8, 9, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (total_label), GTK_JUSTIFY_CENTER); - frame6 = gtk_frame_new ("Updates"); - gtk_widget_ref (frame6); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "frame6", frame6, - (GtkDestroyNotify) gtk_widget_unref); + label44 = gtk_label_new ("Threads"); + gtk_widget_set_name (label44, "label44"); + gtk_widget_show (label44); + gtk_frame_set_label_widget (GTK_FRAME (frame9), label44); + + frame6 = gtk_frame_new (NULL); + gtk_widget_set_name (frame6, "frame6"); gtk_widget_show (frame6); gtk_box_pack_start (GTK_BOX (vbox5), frame6, FALSE, FALSE, 0); vbox7 = gtk_vbox_new (FALSE, 10); - gtk_widget_ref (vbox7); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "vbox7", vbox7, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox7, "vbox7"); gtk_widget_show (vbox7); gtk_container_add (GTK_CONTAINER (frame6), vbox7); gtk_container_set_border_width (GTK_CONTAINER (vbox7), 5); vbox9 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox9); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "vbox9", vbox9, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox9, "vbox9"); gtk_widget_show (vbox9); gtk_box_pack_start (GTK_BOX (vbox7), vbox9, TRUE, TRUE, 0); - cont_radio = gtk_radio_button_new_with_label (grp1_group, "Continuous"); - grp1_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cont_radio)); - gtk_widget_ref (cont_radio); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "cont_radio", cont_radio, - (GtkDestroyNotify) gtk_widget_unref); + cont_radio = gtk_radio_button_new_with_mnemonic (NULL, "Continuous"); + gtk_widget_set_name (cont_radio, "cont_radio"); gtk_widget_show (cont_radio); gtk_box_pack_start (GTK_BOX (vbox9), cont_radio, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cont_radio), cont_radio_group); + cont_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cont_radio)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cont_radio), TRUE); - stop_before_radio = gtk_radio_button_new_with_label (grp1_group, "Stop before GC"); - grp1_group = gtk_radio_button_group (GTK_RADIO_BUTTON (stop_before_radio)); - gtk_widget_ref (stop_before_radio); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "stop_before_radio", stop_before_radio, - (GtkDestroyNotify) gtk_widget_unref); + stop_before_radio = gtk_radio_button_new_with_mnemonic (NULL, "Stop before GC"); + gtk_widget_set_name (stop_before_radio, "stop_before_radio"); gtk_widget_show (stop_before_radio); gtk_box_pack_start (GTK_BOX (vbox9), stop_before_radio, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (stop_before_radio), cont_radio_group); + cont_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (stop_before_radio)); - stop_after_radio = gtk_radio_button_new_with_label (grp1_group, "Stop after GC"); - grp1_group = gtk_radio_button_group (GTK_RADIO_BUTTON (stop_after_radio)); - gtk_widget_ref (stop_after_radio); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "stop_after_radio", stop_after_radio, - (GtkDestroyNotify) gtk_widget_unref); + stop_after_radio = gtk_radio_button_new_with_mnemonic (NULL, "Stop after GC"); + gtk_widget_set_name (stop_after_radio, "stop_after_radio"); gtk_widget_show (stop_after_radio); gtk_box_pack_start (GTK_BOX (vbox9), stop_after_radio, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (stop_after_radio), cont_radio_group); + cont_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (stop_after_radio)); - stop_both_radio = gtk_radio_button_new_with_label (grp1_group, "Stop before & after GC"); - grp1_group = gtk_radio_button_group (GTK_RADIO_BUTTON (stop_both_radio)); - gtk_widget_ref (stop_both_radio); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "stop_both_radio", stop_both_radio, - (GtkDestroyNotify) gtk_widget_unref); + stop_both_radio = gtk_radio_button_new_with_mnemonic (NULL, "Stop before & after GC"); + gtk_widget_set_name (stop_both_radio, "stop_both_radio"); gtk_widget_show (stop_both_radio); gtk_box_pack_start (GTK_BOX (vbox9), stop_both_radio, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (stop_both_radio), cont_radio_group); + cont_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (stop_both_radio)); vbox8 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox8); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "vbox8", vbox8, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox8, "vbox8"); gtk_widget_show (vbox8); gtk_box_pack_start (GTK_BOX (vbox7), vbox8, FALSE, FALSE, 0); - stop_but = gtk_button_new_with_label ("Stop"); - gtk_widget_ref (stop_but); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "stop_but", stop_but, - (GtkDestroyNotify) gtk_widget_unref); + stop_but = gtk_button_new_with_mnemonic ("Stop"); + gtk_widget_set_name (stop_but, "stop_but"); gtk_widget_show (stop_but); gtk_box_pack_start (GTK_BOX (vbox8), stop_but, FALSE, FALSE, 0); - continue_but = gtk_button_new_with_label ("Continue"); - gtk_widget_ref (continue_but); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "continue_but", continue_but, - (GtkDestroyNotify) gtk_widget_unref); + continue_but = gtk_button_new_with_mnemonic ("Continue"); + gtk_widget_set_name (continue_but, "continue_but"); gtk_widget_show (continue_but); gtk_box_pack_start (GTK_BOX (vbox8), continue_but, FALSE, FALSE, 0); - quit_but = gtk_button_new_with_label ("Quit"); - gtk_widget_ref (quit_but); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "quit_but", quit_but, - (GtkDestroyNotify) gtk_widget_unref); + label45 = gtk_label_new ("Updates"); + gtk_widget_set_name (label45, "label45"); + gtk_widget_show (label45); + gtk_frame_set_label_widget (GTK_FRAME (frame6), label45); + + quit_but = gtk_button_new_with_mnemonic ("Quit"); + gtk_widget_set_name (quit_but, "quit_but"); gtk_widget_show (quit_but); gtk_box_pack_end (GTK_BOX (vbox5), quit_but, FALSE, FALSE, 0); statusbar = gtk_statusbar_new (); - gtk_widget_ref (statusbar); - gtk_object_set_data_full (GTK_OBJECT (GHC_Front_Panel), "statusbar", statusbar, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (statusbar, "statusbar"); gtk_widget_show (statusbar); gtk_box_pack_start (GTK_BOX (vbox1), statusbar, FALSE, FALSE, 0); - gtk_signal_connect (GTK_OBJECT (cont_radio), "clicked", - GTK_SIGNAL_FUNC (on_cont_radio_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (stop_before_radio), "clicked", - GTK_SIGNAL_FUNC (on_stop_before_radio_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (stop_after_radio), "clicked", - GTK_SIGNAL_FUNC (on_stop_after_radio_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (stop_both_radio), "clicked", - GTK_SIGNAL_FUNC (on_stop_both_radio_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (stop_but), "clicked", - GTK_SIGNAL_FUNC (on_stop_but_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (continue_but), "clicked", - GTK_SIGNAL_FUNC (on_continue_but_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (quit_but), "clicked", - GTK_SIGNAL_FUNC (on_quit_but_clicked), - NULL); + g_signal_connect ((gpointer) cont_radio, "clicked", + G_CALLBACK (on_cont_radio_clicked), + NULL); + g_signal_connect ((gpointer) stop_before_radio, "clicked", + G_CALLBACK (on_stop_before_radio_clicked), + NULL); + g_signal_connect ((gpointer) stop_after_radio, "clicked", + G_CALLBACK (on_stop_after_radio_clicked), + NULL); + g_signal_connect ((gpointer) stop_both_radio, "clicked", + G_CALLBACK (on_stop_both_radio_clicked), + NULL); + g_signal_connect ((gpointer) stop_but, "clicked", + G_CALLBACK (on_stop_but_clicked), + NULL); + g_signal_connect ((gpointer) continue_but, "clicked", + G_CALLBACK (on_continue_but_clicked), + NULL); + g_signal_connect ((gpointer) quit_but, "clicked", + G_CALLBACK (on_quit_but_clicked), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (GHC_Front_Panel, GHC_Front_Panel, "GHC_Front_Panel"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, vbox1, "vbox1"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, hbox1, "hbox1"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, vbox4, "vbox4"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, frame3, "frame3"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, hbox3, "hbox3"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label40, "label40"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, map_ruler, "map_ruler"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, memmap, "memmap"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label1, "label1"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, frame8, "frame8"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, vbox14, "vbox14"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, table4, "table4"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, gen_ruler, "gen_ruler"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, gen_hbox, "gen_hbox"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, generations, "generations"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label39, "label39"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label41, "label41"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, frame7, "frame7"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, table3, "table3"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, res_hruler, "res_hruler"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, res_vruler, "res_vruler"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, res_drawingarea, "res_drawingarea"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label37, "label37"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label38, "label38"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label42, "label42"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, vbox5, "vbox5"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, frame5, "frame5"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, vbox6, "vbox6"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, table1, "table1"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label12, "label12"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label13, "label13"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label14, "label14"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label15, "label15"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label16, "label16"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label17, "label17"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label18, "label18"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label19, "label19"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, live_label, "live_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, allocated_label, "allocated_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, footprint_label, "footprint_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, alloc_rate_label, "alloc_rate_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label43, "label43"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, frame9, "frame9"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, table5, "table5"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label20, "label20"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label21, "label21"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label22, "label22"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label24, "label24"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label26, "label26"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label25, "label25"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label27, "label27"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, running_label, "running_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, blockread_label, "blockread_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, blockwrite_label, "blockwrite_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, blockmvar_label, "blockmvar_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, blockthrowto_label, "blockthrowto_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, blockbh_label, "blockbh_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, sleeping_label, "sleeping_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, hseparator1, "hseparator1"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, hseparator2, "hseparator2"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label35, "label35"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, total_label, "total_label"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label44, "label44"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, frame6, "frame6"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, vbox7, "vbox7"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, vbox9, "vbox9"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, cont_radio, "cont_radio"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, stop_before_radio, "stop_before_radio"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, stop_after_radio, "stop_after_radio"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, stop_both_radio, "stop_both_radio"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, vbox8, "vbox8"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, stop_but, "stop_but"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, continue_but, "continue_but"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, label45, "label45"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, quit_but, "quit_but"); + GLADE_HOOKUP_OBJECT (GHC_Front_Panel, statusbar, "statusbar"); return GHC_Front_Panel; } diff --git a/ghc/rts/ghc-frontpanel.glade b/ghc/rts/ghc-frontpanel.glade index a4b5290..9b73afc 100644 --- a/ghc/rts/ghc-frontpanel.glade +++ b/ghc/rts/ghc-frontpanel.glade @@ -1,1450 +1,1622 @@ - - - - - Ghc-FrontPanel - ghc-frontpanel - - . - pixmaps - C - False - False - False - False - False - VisWindow.c - VisWindow.h - VisCallbacks.c - VisCallbacks.h - VisSupport.c - VisSupport.h - - - - GtkWindow - GHC Front Panel - GHC Front Panel - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - 450 - 600 - False - True - False - - - GtkVBox - vbox1 - False - 0 - - - GtkHBox - hbox1 - 10 - False - 10 - - 0 - True - True - - - - GtkVBox - vbox4 - False - 10 - - 0 - True - True - - - - GtkFrame - frame3 - - 0 - GTK_SHADOW_ETCHED_IN - - 0 - True - True - - - - GtkHBox - hbox3 - False - 0 - - - GtkLabel - label40 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 0 - False - False - - + + + + + + + True + GHC Front Panel + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + 450 + 600 + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_NORMAL + GDK_GRAVITY_NORTH_WEST + True + + + + True + False + 0 - - GtkVRuler - map_ruler - GTK_PIXELS - 0 - 10 - 5.18797 - 10 - - 0 - False - False - - - - - GtkDrawingArea - memmap - - 0 - True - True - - - - + + + 10 + True + False + 10 - - GtkFrame - frame8 - - 0 - GTK_SHADOW_ETCHED_IN - 0 - True - True - + + True + False + 10 - - GtkVBox - vbox14 - False - 0 - - - GtkTable - table4 - 2 - 3 - False - 0 - 0 - 0 - True - True - - - - GtkVRuler - gen_ruler - GTK_PIXELS - 0 - 10 - 1.69935 - 10 - - 1 - 2 - 0 - 1 - 0 - 0 - False - True - False - False - True - True - - - - - GtkHBox - gen_hbox - False - 0 - - 2 - 3 - 1 - 2 - 0 - 0 - True - False - False - False - True - True - - - - Placeholder - - - - Placeholder + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + False + 0 + + + + True + Mb + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + GTK_PIXELS + 0 + 10 + 1.40845072269 + 10 + + + 0 + False + False + + + + + + True + + + 0 + True + True + + + + + + + + True + Memory Map + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + - - - Placeholder - - - - - GtkDrawingArea - generations - - 2 - 3 - 0 - 1 - 0 - 0 - False - False - False - False - True - True - - - - - GtkLabel - label39 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 0 - 1 - 0 - 1 - 0 - 0 - False - False - False - False - False - False - - - - - - - - GtkFrame - frame7 - - 0 - GTK_SHADOW_ETCHED_IN - - 0 - True - True - - - - GtkTable - table3 - 2 - 3 - 3 - False - 0 - 0 - - - GtkHRuler - res_hruler - GTK_PIXELS - 0 - 10 - 8.35443 - 10 - - 2 - 3 - 1 - 2 - 0 - 0 - True - False - False - False - True - True + + 0 + True + True + - - - GtkVRuler - res_vruler - GTK_PIXELS - 0 - 10 - 9.69925 - 10 - 1 - 2 - 2 - 3 - 0 - 0 - False - True - False - False - True - True - - - - - GtkDrawingArea - res_drawingarea - - 2 - 3 - 2 - 3 - 0 - 0 - False - False - False - False - True - True - - - - - GtkLabel - label37 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 2 - 3 - 0 - 1 - 0 - 0 - False - False - False - False - False - False + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + False + 0 + + + + True + 2 + 3 + False + 0 + 0 + + + + True + GTK_PIXELS + 0 + 10 + 1.69934999943 + 10 + + + 1 + 2 + 0 + 1 + fill + + + + + + True + False + 0 + + + + + + + + + + + + + + + 2 + 3 + 1 + 2 + fill + + + + + + True + + + 2 + 3 + 0 + 1 + fill + fill + + + + + + True + Mb + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + + + + + + + 0 + True + True + + + + + + + + True + Generations + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + - - - GtkLabel - label38 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - 0 - 1 - 2 - 3 - 0 - 0 - False - False - False - False - False - False + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + 3 + 3 + False + 0 + 0 + + + + True + GTK_PIXELS + 0 + 10 + 8.35443019867 + 10 + + + 2 + 3 + 1 + 2 + fill + + + + + + True + GTK_PIXELS + 0 + 10 + 9.69925022125 + 10 + + + 1 + 2 + 2 + 3 + fill + + + + + + True + + + 2 + 3 + 2 + 3 + fill + fill + + + + + + True + Secs + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 2 + 3 + 0 + 1 + + + + + + + + True + Mb + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 2 + 3 + + + + + + + + + + True + Residency + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + - - - - - - GtkVBox - vbox5 - False - 10 - - 0 - False - False - GTK_PACK_END - - - - GtkFrame - frame5 - - 0 - GTK_SHADOW_ETCHED_IN - - 0 - False - True + + 0 + True + True + - - GtkVBox - vbox6 - 5 - False - 0 - - - Placeholder - - - - Placeholder - - - - GtkTable - table1 - 4 - 3 - False - 0 - 7 - - 0 - True - True - - - - GtkLabel - label12 - - GTK_JUSTIFY_RIGHT - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 1 - 2 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label13 - - GTK_JUSTIFY_RIGHT - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 0 - 1 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label14 - - GTK_JUSTIFY_RIGHT - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 3 - 4 - 0 - 0 - False - False - False - False - False - False - - - - - GtkLabel - label15 - - GTK_JUSTIFY_RIGHT - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 2 - 3 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label16 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 2 - 3 - 3 - 4 - 0 - 0 - False - False - False - False - False - False - - - - - GtkLabel - label17 - - GTK_JUSTIFY_LEFT - False - 7.45058e-09 - 0.5 - 0 - 0 - - 2 - 3 - 2 - 3 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label18 - - GTK_JUSTIFY_CENTER - False - 7.45058e-09 - 0.5 - 0 - 0 - - 2 - 3 - 1 - 2 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label19 - - GTK_JUSTIFY_CENTER - False - 7.45058e-09 - 0.5 - 0 - 0 - - 2 - 3 - 0 - 1 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - live_label - 70 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 1 - 2 - 0 - 1 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - allocated_label - 70 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 1 - 2 - 1 - 2 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - footprint_label - 70 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 1 - 2 - 2 - 3 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - alloc_rate_label - 70 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 1 - 2 - 3 - 4 - 0 - 0 - False - False - False - False - True - False - - - - - - - - GtkFrame - frame9 - - 0 - GTK_SHADOW_ETCHED_IN - 0 - False - True - + + True + False + 10 - - GtkTable - table5 - 6 - 9 - 2 - False - 0 - 10 - - - GtkLabel - label20 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label21 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 1 - 2 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label22 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 3 - 4 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label24 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 4 - 5 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label26 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 5 - 6 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label25 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 6 - 7 - 0 - 0 - False - False - False - False - True - False - - - - - GtkLabel - label27 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 2 - 3 - 0 - 0 - False - False - False - False - False - False - - - - - GtkLabel - running_label - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 1 - 2 - 0 - 1 - 0 - 0 - False - False - False - False - False - False - - - - - GtkLabel - blockread_label - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 1 - 2 - 1 - 2 - 0 - 0 - False - False - False - False - False - False - - - - - GtkLabel - blockwrite_label - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 1 - 2 - 2 - 3 - 0 - 0 - False - False - False - False - False - False - - - - - GtkLabel - blockmvar_label - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 1 - 2 - 3 - 4 - 0 - 0 - False - False - False - False - False - False - - - - - GtkLabel - blockthrowto_label - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 1 - 2 - 4 - 5 - 0 - 0 - False - False - False - False - False - False - - - - - GtkLabel - blockbh_label - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 1 - 2 - 5 - 6 - 0 - 0 - False - False - False - False - False - False - - - - - GtkLabel - sleeping_label - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - 1 - 2 - 6 - 7 - 0 - 0 - False - False - False - False - False - False - - - - - GtkHSeparator - hseparator1 - - 0 - 1 - 7 - 8 - 0 - 0 - False - True - False - False - True - True - - - - - GtkHSeparator - hseparator2 - - 1 - 2 - 7 - 8 - 0 - 0 - False - False - False - False - True - True - - - - - GtkLabel - label35 - - GTK_JUSTIFY_CENTER - False - 1 - 0.5 - 0 - 0 - - 0 - 1 - 8 - 9 - 0 - 0 - False - False - False - False - True - False + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 5 + True + False + 0 + + + + + + + + + + + + True + 4 + 3 + False + 0 + 7 + + + + True + Allocated + False + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + Live + False + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + Allocation Rate + False + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 3 + 4 + + + + + + + + True + Footprint + False + False + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + M/sec + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 2 + 3 + 3 + 4 + + + + + + + + True + M + False + False + GTK_JUSTIFY_LEFT + False + False + 7.45058015283e-09 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 2 + 3 + 2 + 3 + fill + + + + + + + True + M + False + False + GTK_JUSTIFY_CENTER + False + False + 7.45058015283e-09 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 2 + 3 + 1 + 2 + fill + + + + + + + True + M + False + False + GTK_JUSTIFY_CENTER + False + False + 7.45058015283e-09 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 2 + 3 + 0 + 1 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 0 + 1 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 1 + 2 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 2 + 3 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 3 + 4 + fill + + + + + + 0 + True + True + + + + + + + + True + Stats + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + False + True + - - - GtkLabel - total_label - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - 1 - 2 - 8 - 9 - 0 - 0 - False - False - False - False - False - False + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 6 + True + 9 + 2 + False + 0 + 10 + + + + True + Running + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + Blocked on I/O (Read) + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + Blocked on MVar + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 3 + 4 + fill + + + + + + + True + Blocked on throwTo + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 4 + 5 + fill + + + + + + + True + Blocked on Black Hole + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 5 + 6 + fill + + + + + + + True + Sleeping + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 6 + 7 + fill + + + + + + + True + Blocked on I/O (Write) + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 2 + 3 + + + + + + + + True + label28 + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 0 + 1 + + + + + + + + True + label29 + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 1 + 2 + + + + + + + + True + label30 + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 2 + 3 + + + + + + + + True + label31 + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 3 + 4 + + + + + + + + True + label32 + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 4 + 5 + + + + + + + + True + label33 + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 5 + 6 + + + + + + + + True + label34 + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 6 + 7 + + + + + + + + True + + + 0 + 1 + 7 + 8 + fill + + + + + + True + + + 1 + 2 + 7 + 8 + fill + fill + + + + + + True + Total + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 8 + 9 + fill + + + + + + + True + label36 + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 8 + 9 + + + + + + + + + + True + Threads + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + False + True + - - - - - GtkFrame - frame6 - - 0 - GTK_SHADOW_ETCHED_IN - - 0 - False - False - - - - GtkVBox - vbox7 - 5 - False - 10 - - - GtkVBox - vbox9 - False - 0 - 0 - True - True + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 5 + True + False + 10 + + + + True + False + 0 + + + + True + True + Continuous + True + GTK_RELIEF_NORMAL + True + True + False + True + + + + 0 + False + False + + + + + + True + True + Stop before GC + True + GTK_RELIEF_NORMAL + True + False + False + True + cont_radio + + + + 0 + False + False + + + + + + True + True + Stop after GC + True + GTK_RELIEF_NORMAL + True + False + False + True + cont_radio + + + + 0 + False + False + + + + + + True + True + Stop before & after GC + True + GTK_RELIEF_NORMAL + True + False + False + True + cont_radio + + + + 0 + False + False + + + + + 0 + True + True + + + + + + True + False + 0 + + + + True + True + Stop + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + + + + + True + True + Continue + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + + + + 0 + False + False + + + + + + + + True + Updates + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + False + False + - - GtkRadioButton - cont_radio - True - - clicked - on_cont_radio_clicked - Tue, 17 Oct 2000 15:55:50 GMT - - - True - True - grp1 - - 0 - False - False - - - - - GtkRadioButton - stop_before_radio - True - - clicked - on_stop_before_radio_clicked - Tue, 17 Oct 2000 15:56:04 GMT - - - False - True - grp1 - - 0 - False - False - - - - - GtkRadioButton - stop_after_radio - True - - clicked - on_stop_after_radio_clicked - Tue, 17 Oct 2000 15:56:10 GMT - - - False - True - grp1 - - 0 - False - False - - - - - GtkRadioButton - stop_both_radio - True - - clicked - on_stop_both_radio_clicked - Tue, 17 Oct 2000 15:56:22 GMT - - - False - True - grp1 - - 0 - False - False - - - - - - GtkVBox - vbox8 - False - 0 - 0 - False - False + + True + True + Quit + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + GTK_PACK_END + - - - GtkButton - stop_but - True - - clicked - on_stop_but_clicked - Tue, 17 Oct 2000 15:56:46 GMT - - - - 0 - False - False - - - - - GtkButton - continue_but - True - - clicked - on_continue_but_clicked - Tue, 17 Oct 2000 15:56:53 GMT - - - - 0 - False - False - - - - - - - GtkButton - quit_but - True - - clicked - on_quit_but_clicked - Tue, 17 Oct 2000 15:57:03 GMT - - - - 0 - False - False - GTK_PACK_END + + 0 + False + False + GTK_PACK_END + - - + + 0 + True + True + + - - GtkStatusbar - statusbar - 0 - False - False + + True + True + + + 0 + False + False + - + - + -- 1.7.10.4