Index: gcalctool/calctool.c
===================================================================
--- gcalctool/calctool.c	(revision 1769)
+++ gcalctool/calctool.c	(working copy)
@@ -66,19 +66,8 @@
 
 Vars v;            /* Calctool variables and options. */
 
-/*  This table shows the keyboard values that are currently being used:
- *
- *           |  a b c d e f g h i j k l m n o p q r s t u v w x y z
- *-----------+-----------------------------------------------------
- *  Lower:   |  a b c d e f     i     l m n   p   r s t u v   x
- *  Upper:   |  A   C D E F G     J K L M N   P   R S T       X Y
- *  Numeric: |  0 1 2 3 4 5 6 7 8 9
- *  Other:   |  @ . + - * / = % ( ) # < > [ ] { } | & ~ ^ ? ! :
- *           |  BackSpace Delete Return
- *-----------+-----------------------------------------------------
- */
-
 // FIXME: Sort this list
+// FIXME: Stop being translatable (parser would break)
 struct button buttons[NKEYS] = {
 
 /* id,
Index: gcalctool/ce_parser.c
===================================================================
--- gcalctool/ce_parser.c	(revision 1769)
+++ gcalctool/ce_parser.c	(working copy)
@@ -46,7 +46,6 @@
     }
 
     ret = (parser_state.error) ? parser_state.error : ret;
-
     if (ret) {
         return(ret);
     } else {
Index: gcalctool/gtk.c
===================================================================
--- gcalctool/gtk.c	(revision 1769)
+++ gcalctool/gtk.c	(working copy)
@@ -21,7 +21,6 @@
 #include "config.h"
 
 // FIXME: Acc works in all modes
-// TODO: Move dialogs to Glade
 
 #include <stdio.h>
 #include <string.h>
@@ -402,56 +401,58 @@
                        G_CALLBACK(name))
 
 struct Xobject {               /* Gtk+/Xlib graphics object. */
-    GtkAccelGroup *kbd_accel;
     GdkAtom clipboard_atom;
     GdkAtom primary_atom;
     GConfClient *client;
+
     GladeXML  *ui;
-    GtkWidget *aframe;                 /* ASCII window. */
-    GtkWidget *aframe_ch;
-    GtkWidget *base[MAXBASES];         /* Numeric base radio buttons. */
+    
+    GtkWidget *kframe;                 /* Main window. */
+ 
     GtkWidget *cm_dialog;              /* Change Mode dialog. */
     GtkWidget *con_dialog;             /* Edit constants dialog. */
-    GtkWidget *disp[MAXDISPMODES];     /* Numeric display mode. */
     GtkWidget *fun_dialog;             /* Edit functions dialog. */
-    GtkWidget *hyp;                    /* Hyperbolic mode. */
-    GtkWidget *inv;                    /* Inverse mode. */
-    GtkWidget *kframe;                 /* Main window. */
-    GtkWidget *menubar;
-    GtkWidget *mode_panel;
+    GtkWidget *menubar; // FIXME: Why is this needed?
 
     GtkWidget *bit_panel;
     GtkWidget *bits[MAXBITS];          /* The 0/1 labels in the bit panel. */
 
-    GtkWidget *khbox;                  /* Box containing statusbar and image */
     GtkWidget *status_image;           /* Statusbar image */
     GtkWidget *statusbar; 
 
     GtkWidget *undo;                   /* Undo menuitem */ 
     GtkWidget *redo;                   /* Redo menuitem */ 
+    GtkWidget *copy;                   /* Copy menuitem */
+    GtkWidget *paste;	               /* Paste menuitem */
+    
+    GtkWidget *aframe;                 /* ASCII window. */
+    GtkWidget *aframe_ch;
 
-    GtkWidget* copy;		       /* Copy menuitem */
-    GtkWidget* paste;		       /* Paste menuitem */
-
     GtkWidget *display_item;           /* Calculator display. */
+    GtkWidget *scrolledwindow;         /* Scrolled window for display_item. */
+
     GtkWidget *rframe;                 /* Register window. */
+    GtkWidget *regs[MAXREGS];          /* Memory registers. */
+
     GtkWidget *spframe;                /* Set Precision window. */
     GtkWidget *spframe_val;
-    GtkWidget *scrolledwindow;         /* Scrolled window for display_item. */
-    GtkWidget *regs[MAXREGS];          /* Memory registers. */
     GtkWidget *menus[MAXMENUS];
-    GtkWidget *trig[MAXTRIGMODES];     /* Trigonometric mode. */
 
     GtkWidget *buttons[NBUTTONS];
 
-    GtkWidget *core_panel;    
-    GtkWidget *bas_panel;
-    GtkWidget *adv_panel;
-    GtkWidget *fin_panel;
-    GtkWidget *sci_panel;
+    GtkWidget *bas_panel;              /* Panel containing widgets used in basic mode */
+    GtkWidget *adv_panel;              /* Panel containing widgets used in advanced mode */
+    GtkWidget *fin_panel;              /* Panel containing widgets used in financial mode */
+    GtkWidget *sci_panel;              /* Panel containing widgets used in scientific mode */
+    GtkWidget *mode_panel;             /* Panel containing scientific mode widgets */
+    
+    /* Scientific mode widgets */
+    GtkWidget *hyp;                    /* Hyperbolic mode. */
+    GtkWidget *inv;                    /* Inverse mode. */
+    GtkWidget *base[MAXBASES];         /* Numeric base radio buttons. */
+    GtkWidget *disp[MAXDISPMODES];     /* Numeric display mode. */
+    GtkWidget *trig[MAXTRIGMODES];     /* Trigonometric mode. */
 
-    Display *dpy;
-
     int mode;                     /* The new mode. */
     int menuval;                  /* Index to button array at menu time. */
     char *lnp;                    /* Localized numerical point (UTF8 format) */
@@ -488,6 +489,7 @@
 
 static void menu_cancel_cb(GtkWidget *w);
 static gboolean aframe_key_cb(GtkWidget *, GdkEventKey *, gpointer);
+static void mem_response(GtkDialog *, int);
 static gboolean dismiss_aframe(GtkWidget *, GdkEvent *, gpointer);
 static gboolean dismiss_rframe(GtkWidget *, GdkEvent *, gpointer);
 static gboolean dismiss_spframe(GtkWidget *, GdkEvent *, gpointer);
@@ -556,7 +558,6 @@
 int
 main(int argc, char **argv)
 {
-
     v = (Vars)  LINT_CAST(calloc(1, sizeof(struct calcVars)));
     X = (XVars) LINT_CAST(calloc(1, sizeof(struct Xobject)));
 
@@ -573,9 +574,6 @@
     v->home = (char *) g_get_home_dir();
     gtk_rc_parse(g_build_path(v->home, RCNAME, NULL));
 
-    X->kbd_accel = gtk_accel_group_new();
-    X->dpy = GDK_DISPLAY();
-
     gtk_window_set_default_icon_name("gnome-calculator");
 
     do_calctool(argc, argv);
@@ -859,72 +857,6 @@
     }
 }
 
-
-static void
-create_aframe()  /* Create auxiliary frame for ASC key. */
-{
-    GtkWidget *vbox, *hbox, *button_hbox, *label;
-    GtkWidget *insert_button, *cancel_button;
-
-    X->aframe = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-    gtk_window_set_title(GTK_WINDOW(X->aframe), _("Insert ASCII Value"));
-    gtk_window_set_resizable(GTK_WINDOW(X->aframe), FALSE);
-    gtk_window_set_transient_for(GTK_WINDOW(X->aframe), GTK_WINDOW(X->kframe));
-    gtk_window_set_type_hint(GTK_WINDOW(X->aframe), 
-                             GDK_WINDOW_TYPE_HINT_DIALOG);
-
-    vbox = gtk_vbox_new(FALSE, 12);
-    gtk_widget_show(vbox);
-    gtk_container_set_border_width(GTK_CONTAINER(vbox), 12);
-    gtk_container_add(GTK_CONTAINER(X->aframe), vbox);
-
-    hbox = gtk_hbox_new(FALSE, 6);
-    gtk_widget_show(hbox);
-    gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
-
-    label = gtk_label_new_with_mnemonic(_("Ch_aracter:"));
-    gtk_widget_show(label);
-    gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
-    gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
-
-    X->aframe_ch = gtk_entry_new();
-    gtk_label_set_mnemonic_widget(GTK_LABEL(label), GTK_WIDGET(X->aframe_ch));
-    gtk_entry_set_max_length(GTK_ENTRY(X->aframe_ch), 1);
-    gtk_widget_show(X->aframe_ch);
-    gtk_box_pack_start(GTK_BOX(hbox), X->aframe_ch, 
-                       FALSE, FALSE, 0);
-
-    button_hbox = gtk_hbutton_box_new();
-    gtk_button_box_set_layout(GTK_BUTTON_BOX(button_hbox), GTK_BUTTONBOX_END);
-    gtk_widget_show(button_hbox);
-    gtk_box_pack_start(GTK_BOX(vbox), button_hbox, TRUE, TRUE, 0);
-    gtk_box_set_spacing(GTK_BOX(button_hbox), 12);
-
-    cancel_button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
-    GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
-    gtk_widget_show(cancel_button);
-    gtk_box_pack_start(GTK_BOX(button_hbox), cancel_button, FALSE, FALSE, 0);
-
-    insert_button = gtk_button_new_with_mnemonic(_("_Insert"));
-    gtk_widget_show(insert_button);
-    GTK_WIDGET_SET_FLAGS(insert_button, GTK_CAN_DEFAULT);
-    gtk_window_set_default(GTK_WINDOW(X->aframe), insert_button);
-    gtk_box_pack_start(GTK_BOX(button_hbox), insert_button, FALSE, FALSE, 0);
-
-    g_signal_connect(G_OBJECT(X->aframe), "delete_event",
-                     G_CALLBACK(dismiss_aframe), NULL);
-    g_signal_connect(G_OBJECT(X->aframe_ch), "activate",
-                     G_CALLBACK(aframe_ok_cb), NULL);
-    g_signal_connect(G_OBJECT(insert_button), "clicked",
-                     G_CALLBACK(aframe_ok_cb), NULL);
-    g_signal_connect(G_OBJECT(cancel_button), "clicked",
-                     G_CALLBACK(aframe_cancel_cb), NULL);
-    g_signal_connect(G_OBJECT(X->aframe), "key_press_event", 
-                     G_CALLBACK(aframe_key_cb), NULL);
-    gtk_widget_realize(X->aframe);
-}
-
-
 static GtkTreeModel *
 create_cf_model(enum menu_type mtype, GtkWidget *dialog)
 {
@@ -976,66 +908,33 @@
 static GtkWidget *
 create_cfframe(enum menu_type mtype, GtkWidget *dialog)
 {
+    GladeXML *ui;
     const gchar *title;
     GdkGeometry geometry;
     GtkTreeModel *model;
-    GtkWidget *label, *sw, *treeview, *vbox;
-    gchar *str;
+    GtkWidget *treeview;
 
     title = (mtype == M_CON) ? _("Edit Constants") : _("Edit Functions");
     geometry.min_width = 380;
     geometry.min_height = 300;
     if (dialog == NULL) {
-        dialog = gtk_dialog_new_with_buttons(title, NULL,
-                          GTK_DIALOG_DESTROY_WITH_PARENT,
-                          GTK_STOCK_HELP,   GTK_RESPONSE_HELP,
-                          GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
-                          GTK_STOCK_OK,     GTK_RESPONSE_ACCEPT,
-                          NULL);
+        ui = glade_xml_new(UI_FILE, "cfframe", NULL);
+        dialog = glade_xml_get_widget(ui, "cfframe");
+        treeview = glade_xml_get_widget(ui, "cfframe_treeview");
+        glade_xml_signal_connect(ui, "cfframe_response_cb", G_CALLBACK(cfframe_response_cb));
 
         g_object_set_data(G_OBJECT(dialog), "mtype", (gpointer) mtype);
         gtk_dialog_set_default_response(GTK_DIALOG(dialog), 
                                         GTK_RESPONSE_ACCEPT);
-        gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);
-        gtk_container_set_border_width(GTK_CONTAINER(dialog), 5);
-        gtk_window_set_resizable(GTK_WINDOW(dialog), TRUE);
         gtk_window_set_transient_for(GTK_WINDOW(dialog), 
                                      GTK_WINDOW(X->kframe));
         gtk_window_set_geometry_hints(GTK_WINDOW(dialog), dialog,
                                       &geometry, GDK_HINT_MIN_SIZE);
-        vbox = gtk_vbox_new(FALSE, 6);
-        gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
 
-        str = g_strconcat("<small><i><b>", _("Note:"), "</b> ", 
-            _("All constant values are specified in the decimal numeric base."),
-            "</i></small>", NULL); 
-        label = gtk_label_new(_(str));
-        g_free(str);
-        gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
-        gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
-        gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
-        gtk_box_pack_end(GTK_BOX(vbox), label, FALSE, FALSE, 0);
-
-        label = gtk_label_new_with_mnemonic(
-                    _("Click a _value or description to edit it:"));
-        gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
-        gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
-        gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
-
-        sw = gtk_scrolled_window_new(NULL, NULL);
-        gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw),
-                                            GTK_SHADOW_NONE);
-        gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
-                                       GTK_POLICY_AUTOMATIC,
-                                       GTK_POLICY_NEVER);
-        gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
-
         model = create_cf_model(mtype, dialog);
-
-        treeview = gtk_tree_view_new_with_model(model);
-        gtk_label_set_mnemonic_widget(GTK_LABEL(label), treeview);
+        gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), model);
         g_object_unref(model);
-        gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE);
+        
         gtk_tree_selection_set_mode(
                 gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)),
                                             GTK_SELECTION_SINGLE);
@@ -1046,20 +945,37 @@
                       COLUMN_VALUE, TRUE);
         add_cf_column(GTK_TREE_VIEW(treeview), _("Description"),
                       COLUMN_DESCRIPTION, TRUE);
-
-        gtk_container_add(GTK_CONTAINER(sw), treeview);
-
-        g_signal_connect(G_OBJECT(dialog), "response",
-                         G_CALLBACK(cfframe_response_cb), (gpointer) model);
-
-        gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), vbox);
     }
     gtk_widget_show_all(dialog);
 
     return(dialog);
 }
 
+static void update_mode_widgets(int mode)
+{
+    GtkWidget *widget;
+    
+    switch (mode) {
+    case FINANCIAL:
+        widget = GET_WIDGET("view_financial_menu");
+        break;
+        
+    case SCIENTIFIC:
+        widget = GET_WIDGET("view_scientific_menu");
+        break;
+        
+    case ADVANCED:
+        widget = GET_WIDGET("view_advanced_menu");
+        break;
+        
+    default:
+        widget = GET_WIDGET("view_advanced_menu");
+        break;
+    }
+    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), TRUE);
+}
 
+
 static void
 change_mode(int mode)
 {
@@ -1072,31 +988,10 @@
 static void
 cm_response_cb(GtkDialog *dialog, int response)
 {
-    GtkWidget *radio;
-
     if (response == GTK_RESPONSE_ACCEPT) {
         change_mode(X->mode);
     } else {
-
-        switch (v->modetype) {
-            case FINANCIAL:
-                radio = GET_WIDGET("view_financial_menu");
-                break;
-
-            case SCIENTIFIC:
-                radio = GET_WIDGET("view_scientific_menu");
-                break;
-
-            case ADVANCED:
-                radio = GET_WIDGET("view_advanced_menu");
-                break;
-
-            default:
-                radio = GET_WIDGET("view_advanced_menu");
-                break;
-        }
-
-        gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(radio), TRUE);
+        update_mode_widgets(v->modetype);
     }
 
     gtk_widget_destroy(X->cm_dialog);
@@ -1164,71 +1059,6 @@
 }
 
 
-static void
-create_spframe()     /* Create auxiliary frame for Set Precision value. */
-{
-    GtkWidget *vbox, *hbox, *button_hbox, *label;
-    GtkWidget *set_button, *cancel_button;
-
-    X->spframe = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-    gtk_window_set_title(GTK_WINDOW(X->spframe), _("Set Precision"));
-    gtk_window_set_resizable(GTK_WINDOW(X->spframe), FALSE);
-    gtk_window_set_transient_for(GTK_WINDOW(X->spframe), GTK_WINDOW(X->kframe));
-    gtk_window_set_type_hint(GTK_WINDOW(X->spframe),
-                             GDK_WINDOW_TYPE_HINT_DIALOG);
-
-    vbox = gtk_vbox_new(FALSE, 12);
-    gtk_widget_show(vbox);
-    gtk_container_set_border_width(GTK_CONTAINER(vbox), 12);
-    gtk_container_add(GTK_CONTAINER(X->spframe), vbox);
-
-    hbox = gtk_hbox_new(FALSE, 6);
-    gtk_widget_show(hbox);
-    gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
-
-    label = gtk_label_new_with_mnemonic(_("Significant _places:"));
-    gtk_widget_show(label);
-    gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
-    gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
-
-    X->spframe_val = gtk_spin_button_new_with_range(0, MAXACC, 1);
-    gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(X->spframe_val),
-                                      GTK_UPDATE_IF_VALID);
-    gtk_spin_button_set_value(GTK_SPIN_BUTTON(X->spframe_val), 
-                              (double) v->accuracy);
-    gtk_entry_set_max_length(GTK_ENTRY(X->spframe_val), 2);
-    gtk_widget_show(X->spframe_val);
-    gtk_box_pack_start(GTK_BOX(hbox), X->spframe_val, FALSE, FALSE, 0);
-
-    button_hbox = gtk_hbutton_box_new();
-    gtk_button_box_set_layout(GTK_BUTTON_BOX(button_hbox), GTK_BUTTONBOX_END);
-    gtk_widget_show(button_hbox);
-    gtk_box_pack_start(GTK_BOX(vbox), button_hbox, TRUE, TRUE, 0);
-    gtk_box_set_spacing(GTK_BOX(button_hbox), 12);
-
-    cancel_button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
-    GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
-    gtk_widget_show(cancel_button);
-    gtk_box_pack_start(GTK_BOX(button_hbox), cancel_button, FALSE, FALSE, 0);
-
-    set_button = gtk_button_new_with_mnemonic(_("_Set"));
-    gtk_widget_show(set_button);
-    GTK_WIDGET_SET_FLAGS(set_button, GTK_CAN_DEFAULT);
-    gtk_window_set_default(GTK_WINDOW(X->spframe), set_button);
-    gtk_box_pack_start(GTK_BOX(button_hbox), set_button, FALSE, FALSE, 0);
-
-    g_signal_connect(G_OBJECT(X->spframe), "delete_event",
-                     G_CALLBACK(dismiss_spframe), NULL);
-    g_signal_connect(G_OBJECT(X->spframe), "key_press_event",
-                     G_CALLBACK(spframe_key_cb), NULL);
-    g_signal_connect(G_OBJECT(set_button), "clicked",
-                     G_CALLBACK(spframe_ok_cb), NULL);
-    g_signal_connect(G_OBJECT(cancel_button), "clicked",
-                     G_CALLBACK(spframe_cancel_cb), NULL);
-    gtk_widget_realize(X->spframe);
-}
-
-
 static gboolean
 bit_toggled(GtkWidget *event_box, GdkEventButton *event)
 {
@@ -1295,7 +1125,8 @@
 
 
 static void
-update_copy_paste_status() {
+update_copy_paste_status()
+{
     GtkTextBuffer *buffer;
     gboolean can_paste;
     gboolean can_copy;
@@ -1310,7 +1141,8 @@
     gtk_widget_set_sensitive(GTK_WIDGET(X->paste), can_paste);
 }
 
-static void set_menubar_tooltip(gchar *menu_name)
+static void
+set_menubar_tooltip(gchar *menu_name)
 {
     GtkWidget *menu;
     gchar *tooltip;
@@ -1333,7 +1165,7 @@
 
     v->tool_label = NULL;
     if (v->titleline == NULL) {
-        hn = make_hostname(X->dpy);
+        hn = make_hostname(GDK_DISPLAY());
         v->tool_label = malloc(MAXLINE);
 
         SNPRINTF(v->tool_label, MAXLINE, "%s %s", _("Calculator"), hn);
@@ -1360,6 +1192,30 @@
         exit(0);
     }
 
+    X->kframe = GET_WIDGET("calc_window");
+
+    X->aframe = GET_WIDGET("ascii_window");
+    gtk_window_set_transient_for(GTK_WINDOW(X->aframe), GTK_WINDOW(X->kframe));
+    X->aframe_ch = GET_WIDGET("ascii_entry");
+
+    X->spframe = GET_WIDGET("precision_dialog");
+    X->spframe_val = GET_WIDGET("spframe_spin");
+    gtk_window_set_transient_for(GTK_WINDOW(X->spframe), GTK_WINDOW(X->kframe));
+    gtk_spin_button_set_value(GTK_SPIN_BUTTON(X->spframe_val), 
+                              (double) v->accuracy);
+    gtk_entry_set_max_length(GTK_ENTRY(X->spframe_val), 2);
+    
+    X->rframe = GET_WIDGET("register_dialog");
+    g_object_set_data(G_OBJECT(X->rframe), "rframe", X->rframe);
+    gtk_window_set_transient_for(GTK_WINDOW(X->rframe), GTK_WINDOW(X->kframe));
+
+    for (i = 0; i < MAXREGS; i++) {
+        SNPRINTF(name, MAXLINE, "register_entry_%d", i);
+        X->regs[i] = GET_WIDGET(name);
+        gtk_entry_set_text(GTK_ENTRY(X->regs[i]),
+                           make_number(v->MPmvals[i], v->base, TRUE));
+    }
+
     // When connecting up signals, would ideally use autoconnect but not sure how to get the build process
     // working. See http://library.gnome.org/devel/libglade/unstable and
     // http://www.jamesh.id.au/software/libglade/ for some information on how to get this to work
@@ -1401,9 +1257,17 @@
     CONNECT_SIGNAL(accuracy_radio_cb);
     CONNECT_SIGNAL(menu_cancel_cb);
     CONNECT_SIGNAL(bit_toggled);
+    CONNECT_SIGNAL(dismiss_aframe);
+    CONNECT_SIGNAL(aframe_ok_cb);
+    CONNECT_SIGNAL(aframe_cancel_cb);
+    CONNECT_SIGNAL(aframe_key_cb);
+    CONNECT_SIGNAL(dismiss_spframe);
+    CONNECT_SIGNAL(spframe_ok_cb);
+    CONNECT_SIGNAL(spframe_cancel_cb);
+    CONNECT_SIGNAL(spframe_key_cb);
+    CONNECT_SIGNAL(dismiss_rframe);
+    CONNECT_SIGNAL(mem_response);
 
-    X->kframe = GET_WIDGET("calc_window");
-    
     widget = GET_WIDGET("kvbox");
     gtk_widget_set_direction(widget, GTK_TEXT_DIR_LTR );
 
@@ -1432,7 +1296,6 @@
     gtk_window_set_title(GTK_WINDOW(X->kframe), _(v->tool_label));
     set_win_position();
 
-    X->core_panel = GET_WIDGET("core_panel");
     X->bas_panel = GET_WIDGET("basic_panel");
     X->sci_panel = GET_WIDGET("scientific_panel");
     X->adv_panel = GET_WIDGET("advanced_panel");
@@ -1486,7 +1349,6 @@
 
     set_accuracy_tooltip(v->accuracy);
 
-    gtk_window_add_accel_group(GTK_WINDOW(X->kframe), X->kbd_accel);
     grey_buttons(v->base);
     if (v->modetype == BASIC) {
         gtk_window_set_focus(GTK_WINDOW(X->kframe), GTK_WIDGET(X->buttons[BUT_CLEAR_BASIC]));
@@ -1499,27 +1361,8 @@
     gtk_widget_show(X->status_image);
     gtk_box_pack_start(GTK_BOX(X->statusbar), X->status_image, FALSE, TRUE, 0);
 
-    switch (v->modetype) {
-        case FINANCIAL:
-            widget = GET_WIDGET("view_financial_menu");
-            break;
+    update_mode_widgets(v->modetype);
 
-        case SCIENTIFIC:
-            widget = GET_WIDGET("view_scientific_menu");
-            break;
-
-        case ADVANCED:
-            widget = GET_WIDGET("view_advanced_menu");
-            break;
-
-        default:
-            widget = GET_WIDGET("view_basic_menu");
-            break;
-    }
-
-    gtk_widget_set_direction(widget, GTK_TEXT_DIR_LTR);
-    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), TRUE);
-
     /* Use loaded Arithmetic Precedence mode setting. */
     if (v->syntax == exprs) {
         widget = GET_WIDGET("arithmetic_precedence_menu");
@@ -1557,7 +1400,7 @@
     set_redo_and_undo_button_sensitivity(0, 0);
     
     /* Connect up menu callbacks */
-    for(i = 1; i < 16; i++)
+    for (i = 1; i < 16; i++)
     {
         SNPRINTF(name, MAXLINE, "shift_left%d_menu", i);
         g_object_set_data(G_OBJECT(GET_WIDGET(name)), "shiftcount", GINT_TO_POINTER(i));
@@ -1572,7 +1415,7 @@
     /* Make shortcuts for accuracy menus */
     accel_group = gtk_accel_group_new();
     gtk_window_add_accel_group(GTK_WINDOW(X->kframe), accel_group);
-    for(i = 0; i < 10; i++)
+    for (i = 0; i < 10; i++)
     {
         SNPRINTF(name, MAXLINE, "acc_item%d", i);
         widget = GET_WIDGET(name);
@@ -1602,93 +1445,20 @@
 
 /*ARGSUSED*/
 static void
-mem_response(GtkDialog *dialog, int response, gpointer user_data)
+mem_response(GtkDialog *dialog, int response)
 {
     set_memory_toggle(FALSE);
     put_resource(R_REGS, "false");
     gtk_widget_hide(X->rframe);
 }
 
-
-static void
-create_rframe()
-{
-    char *line, *markup, *acc_name;
-    char name[MAXLINE];
-    int i;
-    AtkObject *atko[MAXREGS];
-    GtkWidget *label[MAXREGS], *table, *vbox;
-
-    X->rframe = gtk_dialog_new();
-    g_object_set_data(G_OBJECT(X->rframe), "rframe", X->rframe);
-    gtk_window_set_resizable(GTK_WINDOW(X->rframe), FALSE);
-    gtk_window_set_transient_for(GTK_WINDOW(X->rframe), GTK_WINDOW(X->kframe));
-    gtk_window_set_title(GTK_WINDOW(X->rframe), _("Memory Registers"));
-    gtk_container_set_border_width(GTK_CONTAINER(X->rframe), 5);
-    gtk_dialog_set_has_separator(GTK_DIALOG(X->rframe), FALSE);
-    gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(X->rframe)->vbox), 2);
-
-    vbox = GTK_DIALOG(X->rframe)->vbox;
-
-    table = gtk_table_new(10, 2, FALSE);
-    gtk_table_set_row_spacings(GTK_TABLE(table), 6);
-    gtk_table_set_col_spacings(GTK_TABLE(table), 12);
-    gtk_container_set_border_width(GTK_CONTAINER(table), 5);
-
-    for (i = 0; i < MAXREGS; i++) {
-        /* Translators: "R%d" is the abbreviation for "Register %d", used in the
-         * memory register dialog.
-         */
-        line = g_strdup_printf(ngettext("R%d","R%d", i), i);
-        markup = g_strdup_printf("<span weight=\"bold\">%s</span>", line);
-        label[i] = gtk_label_new(NULL);
-        gtk_misc_set_alignment(GTK_MISC(label[i]), 0.0, 0.5);
-        gtk_label_set_markup(GTK_LABEL(label[i]), markup);
-        g_free(line);
-        g_free(markup);
-        gtk_table_attach(GTK_TABLE(table), label[i], 0, 1, i, i+1,
-                         (GtkAttachOptions) (GTK_FILL),
-                         (GtkAttachOptions) (0), 0, 0);
-        gtk_misc_set_alignment(GTK_MISC(label[i]), 0, 0.5);
-
-        X->regs[i] = gtk_entry_new();
-        gtk_entry_set_text(GTK_ENTRY(X->regs[i]),
-                           make_number(v->MPmvals[i], v->base, TRUE));
-        gtk_editable_set_editable(GTK_EDITABLE(X->regs[i]), FALSE);
-        gtk_table_attach(GTK_TABLE(table), X->regs[i], 1, 2, i, i+1,
-                         (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                         (GtkAttachOptions) (0), 0, 0);
-
-        SNPRINTF(name, MAXLINE, "register %1d", i);
-        gtk_widget_set_name(X->regs[i], name);
-
-        acc_name = g_strdup_printf(ngettext("register %1d", "register %1d", i), i);
-        atko[i] = gtk_widget_get_accessible(X->regs[i]);
-        atk_object_set_name(atko[i], acc_name);
-        g_free(acc_name);
-    }
-    gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0);
-
-    gtk_dialog_add_button(GTK_DIALOG(X->rframe), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
-
-    gtk_widget_show_all(vbox);
-
-    g_signal_connect(G_OBJECT(X->rframe), "delete_event",
-                     G_CALLBACK(dismiss_rframe), NULL);
-    g_signal_connect(X->rframe, "response",
-                     G_CALLBACK(mem_response), NULL);
-
-    gtk_widget_realize(X->rframe);
-}
-
-
 /*ARGSUSED*/
 static gboolean
 dismiss_aframe(GtkWidget *widget, GdkEvent *event, gpointer user_data)
 {
-    X->aframe = NULL;
+    gtk_widget_hide(widget);
 
-    return(FALSE);
+    return(TRUE);
 }
 
 
@@ -1706,9 +1476,9 @@
 static gboolean
 dismiss_spframe(GtkWidget *widget, GdkEvent *event, gpointer user_data)
 {
-    X->spframe = NULL;
+    gtk_widget_hide(X->spframe);
 
-    return(FALSE);
+    return(TRUE);
 }
 
 
@@ -2206,7 +1976,6 @@
     X->clipboard_atom = gdk_atom_intern("CLIPBOARD", FALSE);
     X->primary_atom = gdk_atom_intern("PRIMARY", FALSE);
     create_kframe();                     /* Create main gcalctool window. */
-    create_rframe();                     /* Create memory register window. */
     set_mode(v->modetype);
 
     X->menus[M_ACC] = GET_WIDGET("accuracy_popup");
@@ -2834,6 +2603,9 @@
                          "gtk-dialog-error");
         beep();
     }
+    else if (event->keyval == GDK_Escape) {
+        gtk_widget_hide(X->spframe);
+    }    
 
     return(FALSE);
 }
@@ -3309,11 +3081,7 @@
 static void
 show_ascii_frame()      /* Display ASCII popup. */
 {
-    if (X->aframe == NULL) {
-        create_aframe();
-    }
-
-    if (gdk_window_is_visible(X->aframe->window) == FALSE) {
+    if (!GTK_WIDGET_VISIBLE(X->aframe)) {
         ds_position_popup(X->kframe, X->aframe, DS_POPUP_LEFT);
     }
     gtk_window_set_focus(GTK_WINDOW(X->kframe), GTK_WIDGET(X->aframe_ch));
@@ -3371,11 +3139,7 @@
 static void
 show_precision_frame()      /* Display Set Precision popup. */
 {
-    if (X->spframe == NULL) {
-        create_spframe();
-    }
-
-    if (gdk_window_is_visible(X->spframe->window) == FALSE) {
+    if (!GTK_WIDGET_VISIBLE(X->spframe)) {
         ds_position_popup(X->kframe, X->spframe, DS_POPUP_LEFT);
     }
     gtk_window_set_focus(GTK_WINDOW(X->spframe), GTK_WIDGET(X->spframe_val));
@@ -3453,6 +3217,7 @@
         f = X->rframe;
     }
 
+    gtk_widget_realize(f);
     if (state && gdk_window_is_visible(f->window)) {
         gdk_window_raise(f->window);
         return;
@@ -3472,50 +3237,50 @@
 static void
 help_display(void)
 {
-        GError *error = NULL;
-        char *command;
-        const char *lang;
-        char *uri = NULL;
-        GdkScreen *gscreen;
+    GError *error = NULL;
+    char *command;
+    const char *lang;
+    char *uri = NULL;
+    GdkScreen *gscreen;
 
-        int i;
-
-        const char * const * langs = g_get_language_names ();
-
-        for (i = 0; langs[i]; i++) {
-                lang = langs[i];
-                if (strchr (lang, '.')) {
-                        continue;
-                }
-
-                uri = g_build_filename(PACKAGE_DATA_DIR,
-                                       "/gnome/help/gcalctool/",
-                                        lang,
-                                       "/gcalctool.xml",
-                                        NULL);
-                                        
-                if (g_file_test (uri, G_FILE_TEST_EXISTS)) {
-                    break;
-                }
+    int i;
+    
+    const char * const * langs = g_get_language_names ();
+    
+    for (i = 0; langs[i]; i++) {
+        lang = langs[i];
+        if (strchr (lang, '.')) {
+            continue;
         }
         
-        command = g_strconcat ("gnome-open ghelp://", uri, NULL);
-        gscreen = gdk_screen_get_default();
-        gdk_spawn_command_line_on_screen (gscreen, command, &error);
-        if (error) {
-                GtkWidget *d;
-
-            d = gtk_message_dialog_new(NULL,
-                                GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
-                                error->message);
-                gtk_dialog_run(GTK_DIALOG(d));
-                gtk_widget_destroy(d);
-                g_error_free(error);
-                error = NULL;
+        uri = g_build_filename(PACKAGE_DATA_DIR,
+                               "/gnome/help/gcalctool/",
+                               lang,
+                               "/gcalctool.xml",
+                               NULL);
+        
+        if (g_file_test (uri, G_FILE_TEST_EXISTS)) {
+            break;
         }
-
-        g_free (command);
-        g_free (uri);
+    }
+    
+    command = g_strconcat ("gnome-open ghelp://", uri, NULL);
+    gscreen = gdk_screen_get_default();
+    gdk_spawn_command_line_on_screen (gscreen, command, &error);
+    if (error) {
+        GtkWidget *d;
+        
+        d = gtk_message_dialog_new(NULL,
+                                   GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
+                                   GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
+                                   error->message);
+        gtk_dialog_run(GTK_DIALOG(d));
+        gtk_widget_destroy(d);
+        g_error_free(error);
+        error = NULL;
+    }
+    
+    g_free (command);
+    g_free (uri);
 }
 
Index: glade/gcalctool.glade
===================================================================
--- glade/gcalctool.glade	(revision 1769)
+++ glade/gcalctool.glade	(working copy)
@@ -6579,4 +6579,994 @@
   </child>
 </widget>
 
+<widget class="GtkWindow" id="ascii_window">
+  <property name="title" translatable="yes">Insert ASCII Value</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">False</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+  <signal name="delete_event" handler="dismiss_aframe" last_modification_time="Wed, 31 Oct 2007 04:41:44 GMT"/>
+  <signal name="key_press_event" handler="aframe_key_cb" last_modification_time="Wed, 31 Oct 2007 04:43:04 GMT"/>
+
+  <child>
+    <widget class="GtkVBox" id="vbox1">
+      <property name="border_width">12</property>
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">12</property>
+
+      <child>
+	<widget class="GtkHBox" id="hbox21">
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <widget class="GtkLabel" id="label39">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Ch_aracter:</property>
+	      <property name="use_underline">True</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="mnemonic_widget">ascii_entry</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="ascii_entry">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">True</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">1</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	      <signal name="activate" handler="aframe_ok_cb" last_modification_time="Wed, 31 Oct 2007 04:42:22 GMT"/>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHButtonBox" id="hbuttonbox1">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+	  <property name="spacing">12</property>
+
+	  <child>
+	    <widget class="GtkButton" id="button1">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-cancel</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <signal name="clicked" handler="aframe_cancel_cb" last_modification_time="Wed, 31 Oct 2007 04:42:41 GMT"/>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="button2">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="has_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label" translatable="yes">_Insert</property>
+	      <property name="use_underline">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <signal name="clicked" handler="aframe_ok_cb" last_modification_time="Wed, 31 Oct 2007 04:42:31 GMT"/>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkDialog" id="register_dialog">
+  <property name="border_width">5</property>
+  <property name="title" translatable="yes">Memory Registers</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">False</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+  <property name="has_separator">False</property>
+  <signal name="delete_event" handler="dismiss_rframe" last_modification_time="Wed, 31 Oct 2007 05:00:30 GMT"/>
+  <signal name="response" handler="mem_response" last_modification_time="Wed, 31 Oct 2007 05:00:40 GMT"/>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="dialog-vbox1">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">2</property>
+
+      <child internal-child="action_area">
+	<widget class="GtkHButtonBox" id="dialog-action_area1">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+	  <child>
+	    <widget class="GtkButton" id="closebutton1">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-close</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">-7</property>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	  <property name="pack_type">GTK_PACK_END</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkTable" id="table9">
+	  <property name="border_width">5</property>
+	  <property name="visible">True</property>
+	  <property name="n_rows">10</property>
+	  <property name="n_columns">2</property>
+	  <property name="homogeneous">False</property>
+	  <property name="row_spacing">6</property>
+	  <property name="column_spacing">12</property>
+
+	  <child>
+	    <widget class="GtkLabel" id="label40">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes" comments="&quot;R0&quot; is the abbreviation for &quot;Register 0&quot;, used in the memory register dialog">&lt;span weight=&quot;bold&quot;&gt;R0&lt;/span&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">0</property>
+	      <property name="right_attach">1</property>
+	      <property name="top_attach">0</property>
+	      <property name="bottom_attach">1</property>
+	      <property name="x_options">fill</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label41">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes" comments="&quot;R1&quot; is the abbreviation for &quot;Register 1&quot;, used in the memory register dialog">&lt;span weight=&quot;bold&quot;&gt;R1&lt;/span&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">0</property>
+	      <property name="right_attach">1</property>
+	      <property name="top_attach">1</property>
+	      <property name="bottom_attach">2</property>
+	      <property name="x_options">fill</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label42">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes" comments="&quot;R2&quot; is the abbreviation for &quot;Register 2&quot;, used in the memory register dialog">&lt;span weight=&quot;bold&quot;&gt;R2&lt;/span&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">0</property>
+	      <property name="right_attach">1</property>
+	      <property name="top_attach">2</property>
+	      <property name="bottom_attach">3</property>
+	      <property name="x_options">fill</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label43">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes" comments="&quot;R3&quot; is the abbreviation for &quot;Register 3&quot;, used in the memory register dialog">&lt;span weight=&quot;bold&quot;&gt;R3&lt;/span&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">0</property>
+	      <property name="right_attach">1</property>
+	      <property name="top_attach">3</property>
+	      <property name="bottom_attach">4</property>
+	      <property name="x_options">fill</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label44">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes" comments="&quot;R4&quot; is the abbreviation for &quot;Register 4&quot;, used in the memory register dialog">&lt;span weight=&quot;bold&quot;&gt;R4&lt;/span&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">0</property>
+	      <property name="right_attach">1</property>
+	      <property name="top_attach">4</property>
+	      <property name="bottom_attach">5</property>
+	      <property name="x_options">fill</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label45">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes" comments="&quot;R5&quot; is the abbreviation for &quot;Register 5&quot;, used in the memory register dialog">&lt;span weight=&quot;bold&quot;&gt;R5&lt;/span&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">0</property>
+	      <property name="right_attach">1</property>
+	      <property name="top_attach">5</property>
+	      <property name="bottom_attach">6</property>
+	      <property name="x_options">fill</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label46">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes" comments="&quot;R6&quot; is the abbreviation for &quot;Register 6&quot;, used in the memory register dialog">&lt;span weight=&quot;bold&quot;&gt;R6&lt;/span&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">0</property>
+	      <property name="right_attach">1</property>
+	      <property name="top_attach">6</property>
+	      <property name="bottom_attach">7</property>
+	      <property name="x_options">fill</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label47">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes" comments="&quot;R7&quot; is the abbreviation for &quot;Register 7&quot;, used in the memory register dialog">&lt;span weight=&quot;bold&quot;&gt;R7&lt;/span&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">0</property>
+	      <property name="right_attach">1</property>
+	      <property name="top_attach">7</property>
+	      <property name="bottom_attach">8</property>
+	      <property name="x_options">fill</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label48">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes" comments="&quot;R8&quot; is the abbreviation for &quot;Register 8&quot;, used in the memory register dialog">&lt;span weight=&quot;bold&quot;&gt;R8&lt;/span&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">0</property>
+	      <property name="right_attach">1</property>
+	      <property name="top_attach">8</property>
+	      <property name="bottom_attach">9</property>
+	      <property name="x_options">fill</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label49">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes" comments="&quot;R9&quot; is the abbreviation for &quot;Register 9&quot;, used in the memory register dialog">&lt;span weight=&quot;bold&quot;&gt;R9&lt;/span&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">0</property>
+	      <property name="right_attach">1</property>
+	      <property name="top_attach">9</property>
+	      <property name="bottom_attach">10</property>
+	      <property name="x_options">fill</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="register_entry_0">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">False</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">0</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	      <accessibility>
+		<atkproperty name="AtkObject::accessible_name" translatable="yes">register 0</atkproperty>
+	      </accessibility>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">1</property>
+	      <property name="right_attach">2</property>
+	      <property name="top_attach">0</property>
+	      <property name="bottom_attach">1</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="register_entry_1">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">False</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">0</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">1</property>
+	      <property name="right_attach">2</property>
+	      <property name="top_attach">1</property>
+	      <property name="bottom_attach">2</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="register_entry_2">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">False</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">0</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">1</property>
+	      <property name="right_attach">2</property>
+	      <property name="top_attach">2</property>
+	      <property name="bottom_attach">3</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="register_entry_3">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">False</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">0</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">1</property>
+	      <property name="right_attach">2</property>
+	      <property name="top_attach">3</property>
+	      <property name="bottom_attach">4</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="register_entry_4">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">False</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">0</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">1</property>
+	      <property name="right_attach">2</property>
+	      <property name="top_attach">4</property>
+	      <property name="bottom_attach">5</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="register_entry_5">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">False</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">0</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">1</property>
+	      <property name="right_attach">2</property>
+	      <property name="top_attach">5</property>
+	      <property name="bottom_attach">6</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="register_entry_6">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">False</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">0</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">1</property>
+	      <property name="right_attach">2</property>
+	      <property name="top_attach">6</property>
+	      <property name="bottom_attach">7</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="register_entry_7">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">False</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">0</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">1</property>
+	      <property name="right_attach">2</property>
+	      <property name="top_attach">7</property>
+	      <property name="bottom_attach">8</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="register_entry_8">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">False</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">0</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">1</property>
+	      <property name="right_attach">2</property>
+	      <property name="top_attach">8</property>
+	      <property name="bottom_attach">9</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkEntry" id="register_entry_9">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">False</property>
+	      <property name="visibility">True</property>
+	      <property name="max_length">0</property>
+	      <property name="text" translatable="yes"></property>
+	      <property name="has_frame">True</property>
+	      <property name="invisible_char">●</property>
+	      <property name="activates_default">False</property>
+	    </widget>
+	    <packing>
+	      <property name="left_attach">1</property>
+	      <property name="right_attach">2</property>
+	      <property name="top_attach">9</property>
+	      <property name="bottom_attach">10</property>
+	      <property name="y_options"></property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkDialog" id="cfframe">
+  <property name="border_width">5</property>
+  <property name="width_request">380</property>
+  <property name="height_request">300</property>
+  <property name="title" translatable="yes"></property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">True</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+  <property name="has_separator">False</property>
+  <signal name="response" handler="cfframe_response_cb" last_modification_time="Wed, 31 Oct 2007 05:52:17 GMT"/>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="dialog-vbox2">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child internal-child="action_area">
+	<widget class="GtkHButtonBox" id="dialog-action_area2">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+	  <child>
+	    <widget class="GtkButton" id="helpbutton1">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-help</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">-11</property>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="cancelbutton1">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-cancel</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">-6</property>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="okbutton1">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="has_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-ok</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">-5</property>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	  <property name="pack_type">GTK_PACK_END</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkVBox" id="vbox2">
+	  <property name="border_width">5</property>
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">6</property>
+
+	  <child>
+	    <widget class="GtkLabel" id="label51">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Click a _value or description to edit it:</property>
+	      <property name="use_underline">True</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkScrolledWindow" id="scrolledwindow1">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	      <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
+	      <property name="shadow_type">GTK_SHADOW_NONE</property>
+	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+	      <child>
+		<widget class="GtkTreeView" id="cfframe_treeview">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="headers_visible">True</property>
+		  <property name="rules_hint">True</property>
+		  <property name="reorderable">False</property>
+		  <property name="enable_search">True</property>
+		  <property name="fixed_height_mode">False</property>
+		  <property name="hover_selection">False</property>
+		  <property name="hover_expand">False</property>
+		</widget>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label50">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">&lt;small&gt;&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; All constant values are specified in the decimal numeric base.&lt;/i&gt;&lt;/small&gt;</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">True</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkWindow" id="precision_dialog">
+  <property name="title" translatable="yes">Set Precision</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">False</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+  <signal name="delete_event" handler="dismiss_spframe" last_modification_time="Wed, 31 Oct 2007 06:04:37 GMT"/>
+  <signal name="key_press_event" handler="spframe_key_cb" last_modification_time="Wed, 31 Oct 2007 06:04:33 GMT"/>
+
+  <child>
+    <widget class="GtkVBox" id="vbox3">
+      <property name="border_width">12</property>
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">12</property>
+
+      <child>
+	<widget class="GtkHBox" id="hbox22">
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">6</property>
+
+	  <child>
+	    <widget class="GtkLabel" id="label52">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Significant _places:</property>
+	      <property name="use_underline">True</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkSpinButton" id="spframe_spin">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="climb_rate">1</property>
+	      <property name="digits">0</property>
+	      <property name="numeric">True</property>
+	      <property name="update_policy">GTK_UPDATE_IF_VALID</property>
+	      <property name="snap_to_ticks">False</property>
+	      <property name="wrap">False</property>
+	      <property name="adjustment">1 0 99 1 10 10</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHButtonBox" id="hbuttonbox2">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+	  <property name="spacing">12</property>
+
+	  <child>
+	    <widget class="GtkButton" id="button3">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-cancel</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <signal name="clicked" handler="spframe_cancel_cb" last_modification_time="Wed, 31 Oct 2007 06:04:24 GMT"/>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="button4">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="has_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label" translatable="yes">_Set</property>
+	      <property name="use_underline">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <signal name="clicked" handler="spframe_ok_cb" last_modification_time="Wed, 31 Oct 2007 06:04:17 GMT"/>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>
