summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2004-06-30 14:07:51 +0000
committerJose Antonio Ortega Ruiz <jao@gnu.org>2004-06-30 14:07:51 +0000
commitb7d63b0be1981c7f12b76ad7e085e5c6f43ff387 (patch)
tree13068a72f2d3eea4092f1a52e7750af586fce872
parentd9d66aa5f24bc07a4885332c433f3602b7380f9d (diff)
downloadmdk-b7d63b0be1981c7f12b76ad7e085e5c6f43ff387.tar.gz
mdk-b7d63b0be1981c7f12b76ad7e085e5c6f43ff387.tar.bz2
detachable windows in gtk+2
-rw-r--r--mixgtk/mixgtk.c81
-rw-r--r--mixgtk/mixgtk.glade3287
-rw-r--r--mixgtk/mixgtk.h14
-rw-r--r--mixgtk/mixgtk_config.c30
-rw-r--r--mixgtk/mixgtk_config.h18
-rw-r--r--mixgtk/mixgtk_device.c49
-rw-r--r--mixgtk/mixgtk_device.h4
-rw-r--r--mixgtk/mixgtk_mixal.c87
-rw-r--r--mixgtk/mixgtk_mixal.h17
-rw-r--r--mixgtk/mixgtk_mixvm.c69
-rw-r--r--mixgtk/mixgtk_mixvm.h31
-rw-r--r--mixgtk/mixgtk_widgets.c74
-rw-r--r--mixgtk/mixgtk_widgets.h14
-rw-r--r--mixgtk/mixgtk_wm.c559
-rw-r--r--mixgtk/mixgtk_wm.h18
15 files changed, 1826 insertions, 2526 deletions
diff --git a/mixgtk/mixgtk.c b/mixgtk/mixgtk.c
index 97f6a16..8526390 100644
--- a/mixgtk/mixgtk.c
+++ b/mixgtk/mixgtk.c
@@ -1,7 +1,7 @@
/* -*-c-*- -------------- mixgtk.c :
* Main functions of the mix gtk front-end
* ------------------------------------------------------------------
- * $Id: mixgtk.c,v 1.17 2004/06/24 01:40:48 jao Exp $
+ * $Id: mixgtk.c,v 1.18 2004/06/30 14:07:54 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
*
@@ -25,102 +25,43 @@
#include <string.h>
#include "mixgtk_widgets.h"
+
#include "mixgtk_cmd_dispatcher.h"
-#include "mixgtk_device.h"
-#include "mixgtk_mixvm.h"
-#include "mixgtk_mixal.h"
#include "mixgtk_input.h"
-#include "mixgtk_fontsel.h"
#include "mixgtk_config.h"
#include "mixgtk_wm.h"
#include "mixgtk.h"
-static const gchar *SPLIT_ARG_ = "-s";
-static const gchar *SPLIT_LONG_ARG_ = "--split";
-
+/* initialise the app */
gboolean
-mixgtk_restart (void)
+mixgtk_init (int argc, char *argv[])
{
- mix_vm_t *vm;
-
- if (!mixgtk_widget_factory_init ())
- {
- g_error (_("Unable to initialise application: missing glade file"));
- return FALSE;
- }
-
- if (!mixgtk_cmd_dispatcher_init (MIXGTK_MAIN))
- {
- g_error (_("Unable to initialise application (command dispatcher)\n"));
- return FALSE;
- }
-
- vm = mixgtk_cmd_dispatcher_get_vm ();
+ mix_init_lib ();
- if (!mixgtk_mixvm_init (vm, MIXGTK_MIXVM_DIALOG))
- {
- g_error (_("Unable to initialise application (mixvm widgets)\n"));
- return FALSE;
- }
+ gtk_init (&argc, &argv);
- if (!mixgtk_mixal_init (vm, MIXGTK_MIXAL_DIALOG))
+ if (!mixgtk_config_load ())
{
- g_error (_("Unable to initialise application (mixal widgets)\n"));
- return FALSE;
+ g_error (_("Unable to load gmixvm configuration"));
}
- if (!mixgtk_device_init (GTK_CONTAINER
- (mixgtk_widget_factory_get
- (MIXGTK_DEVICES_DIALOG, MIXGTK_WIDGET_DEVICES)),
- vm))
+ if (!mixgtk_widget_factory_init ())
{
- g_error (_("Unable to initialise application (devices)\n"));
+ g_error (_("Unable to initialise application: missing glade file"));
return FALSE;
}
if (!mixgtk_wm_init ())
{
- g_error (_("Unable to initialise application (visibility)\n"));
+ g_error (_("Unable to initialise application\n"));
return FALSE;
}
mixgtk_input_init ();
- gtk_widget_show (mixgtk_widget_factory_get_dialog (MIXGTK_MAIN));
- mixgtk_mixvm_update_vm_widgets ();
-
return TRUE;
}
-/* initialise the app */
-gboolean
-mixgtk_init (int argc, char *argv[])
-{
- gboolean split = FALSE;
- gint k;
-
- mix_init_lib ();
-
- if (!mixgtk_config_load ())
- {
- g_error ("Unable to read configuration\n");
- return FALSE;
- }
-
- for (k = 0; k < argc; ++k)
- if (!strcmp (argv[k], SPLIT_ARG_) || !strcmp (argv[k], SPLIT_LONG_ARG_))
- {
- split = TRUE;
- break;
- }
- if (!split && mixgtk_config_is_split ()) split = TRUE;
- mixgtk_config_set_split (split);
-
- gtk_init (&argc, &argv);
-
- return mixgtk_restart ();
-}
-
/* main loop */
void
mixgtk_main (void)
diff --git a/mixgtk/mixgtk.glade b/mixgtk/mixgtk.glade
index a73dfc6..a7ef1b4 100644
--- a/mixgtk/mixgtk.glade
+++ b/mixgtk/mixgtk.glade
@@ -17,7 +17,6 @@
<property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <signal name="destroy" handler="on_main_window_destroy"/>
<child>
<widget class="GtkVBox" id="main_vbox">
@@ -49,7 +48,7 @@
<accelerator key="F3" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image91">
+ <widget class="GtkImage" id="image214">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -72,7 +71,7 @@
<accelerator key="F4" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image92">
+ <widget class="GtkImage" id="image215">
<property name="visible">True</property>
<property name="stock">gtk-justify-fill</property>
<property name="icon_size">1</property>
@@ -95,7 +94,7 @@
<accelerator key="F5" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image93">
+ <widget class="GtkImage" id="image216">
<property name="visible">True</property>
<property name="stock">gtk-execute</property>
<property name="icon_size">1</property>
@@ -124,7 +123,7 @@
<accelerator key="Q" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image94">
+ <widget class="GtkImage" id="image217">
<property name="visible">True</property>
<property name="stock">gtk-quit</property>
<property name="icon_size">1</property>
@@ -142,45 +141,6 @@
</child>
<child>
- <widget class="GtkMenuItem" id="view">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Vie_w</property>
- <property name="use_underline">True</property>
-
- <child>
- <widget class="GtkMenu" id="view_menu">
-
- <child>
- <widget class="GtkCheckMenuItem" id="show_toolbars">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Toolbar</property>
- <property name="use_underline">True</property>
- <property name="active">False</property>
- <signal name="toggled" handler="on_show_toolbars_toggled"/>
- <accelerator key="T" modifiers="GDK_MOD1_MASK" signal="activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkSeparatorMenuItem" id="separator5">
- <property name="visible">True</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="split_windows">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Split _windows</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_split_windows_activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
<widget class="GtkMenuItem" id="debug">
<property name="visible">True</property>
<property name="label" translatable="yes">De_bug</property>
@@ -199,7 +159,7 @@
<accelerator key="R" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image95">
+ <widget class="GtkImage" id="image218">
<property name="visible">True</property>
<property name="stock">gtk-go-forward</property>
<property name="icon_size">1</property>
@@ -222,7 +182,7 @@
<accelerator key="N" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image96">
+ <widget class="GtkImage" id="image219">
<property name="visible">True</property>
<property name="stock">gtk-goto-last</property>
<property name="icon_size">1</property>
@@ -245,7 +205,7 @@
<accelerator key="C" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image97">
+ <widget class="GtkImage" id="image220">
<property name="visible">True</property>
<property name="stock">gtk-clear</property>
<property name="icon_size">1</property>
@@ -268,7 +228,7 @@
<accelerator key="Y" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image98">
+ <widget class="GtkImage" id="image221">
<property name="visible">True</property>
<property name="stock">gtk-index</property>
<property name="icon_size">1</property>
@@ -301,7 +261,7 @@
<property name="use_underline">True</property>
<child internal-child="image">
- <widget class="GtkImage" id="image99">
+ <widget class="GtkImage" id="image222">
<property name="visible">True</property>
<property name="stock">gtk-select-font</property>
<property name="icon_size">1</property>
@@ -373,7 +333,7 @@
<signal name="activate" handler="on_devform_activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image100">
+ <widget class="GtkImage" id="image223">
<property name="visible">True</property>
<property name="stock">gtk-zoom-100</property>
<property name="icon_size">1</property>
@@ -394,7 +354,7 @@
<signal name="activate" handler="on_devdir_activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image101">
+ <widget class="GtkImage" id="image224">
<property name="visible">True</property>
<property name="stock">gtk-home</property>
<property name="icon_size">1</property>
@@ -415,7 +375,7 @@
<signal name="activate" handler="on_external_programs_activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image102">
+ <widget class="GtkImage" id="image225">
<property name="visible">True</property>
<property name="stock">gtk-preferences</property>
<property name="icon_size">1</property>
@@ -429,6 +389,67 @@
</child>
<child>
+ <widget class="GtkImageMenuItem" id=" ">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Detached _windows</property>
+ <property name="use_underline">True</property>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image226">
+ <property name="visible">True</property>
+ <property name="stock">gtk-dnd-multiple</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenu" id=" _menu">
+
+ <child>
+ <widget class="GtkCheckMenuItem" id="detach_vm">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Virtual machine</property>
+ <property name="use_underline">True</property>
+ <property name="active">False</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkCheckMenuItem" id="detach_source">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Source</property>
+ <property name="use_underline">True</property>
+ <property name="active">False</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkCheckMenuItem" id="detach_dev">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Devices</property>
+ <property name="use_underline">True</property>
+ <property name="active">False</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkCheckMenuItem" id="show_toolbars">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Show toolbars</property>
+ <property name="use_underline">True</property>
+ <property name="active">False</property>
+ </widget>
+ </child>
+
+ <child>
<widget class="GtkSeparatorMenuItem" id="separator3">
<property name="visible">True</property>
</widget>
@@ -443,7 +464,7 @@
<signal name="activate" handler="on_save_activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image103">
+ <widget class="GtkImage" id="image227">
<property name="visible">True</property>
<property name="stock">gtk-save</property>
<property name="icon_size">1</property>
@@ -512,6 +533,8 @@
<widget class="GtkToolButton" id="load_button">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Load MIX program</property>
+ <property name="label" translatable="yes">Open</property>
+ <property name="use_underline">True</property>
<property name="stock_id">gtk-open</property>
<property name="visible_horizontal">True</property>
<property name="visible_vertical">True</property>
@@ -528,6 +551,8 @@
<widget class="GtkToolButton" id="compile_button">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Compile MIXAL source</property>
+ <property name="label" translatable="yes">Compile</property>
+ <property name="use_underline">True</property>
<property name="stock_id">gtk-execute</property>
<property name="visible_horizontal">True</property>
<property name="visible_vertical">True</property>
@@ -698,7 +723,7 @@
</child>
<child>
- <widget class="GtkSeparatorToolItem" id="separatortoolitem3">
+ <widget class="GtkSeparatorToolItem" id="separatortoolitem8">
<property name="visible">True</property>
<property name="draw">True</property>
<property name="visible_horizontal">True</property>
@@ -711,16 +736,16 @@
</child>
<child>
- <widget class="GtkToolButton" id="button26">
+ <widget class="GtkToolButton" id="toolbutton1">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Split windows</property>
- <property name="label" translatable="yes"></property>
+ <property name="tooltip" translatable="yes">Detach window</property>
+ <property name="label" translatable="yes">Detach</property>
<property name="use_underline">True</property>
- <property name="icon">splitw.xpm</property>
+ <property name="stock_id">gtk-dnd-multiple</property>
<property name="visible_horizontal">True</property>
<property name="visible_vertical">True</property>
- <property name="is_important">True</property>
- <signal name="clicked" handler="on_split_windows_activate"/>
+ <property name="is_important">False</property>
+ <signal name="clicked" handler="on_detach_clicked" last_modification_time="Tue, 29 Jun 2004 22:14:37 GMT"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -736,1281 +761,101 @@
</child>
<child>
- <widget class="GtkVBox" id="inner_vbox">
+ <widget class="GtkVPaned" id="main_panel">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <property name="can_focus">True</property>
+ <property name="position">0</property>
<child>
<widget class="GtkNotebook" id="main_notebook">
- <property name="border_width">2</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="show_tabs">True</property>
<property name="show_border">True</property>
<property name="tab_pos">GTK_POS_TOP</property>
<property name="scrollable">False</property>
- <property name="enable_popup">True</property>
- <signal name="switch_page" handler="on_notebook_switch_page"/>
+ <property name="enable_popup">False</property>
<child>
- <widget class="GtkHBox" id="mixvm_widget">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkVBox" id="vbox6">
- <property name="border_width">1</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">1</property>
-
- <child>
- <widget class="GtkFrame" id="frame3">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkTable" id="table1">
- <property name="border_width">8</property>
- <property name="visible">True</property>
- <property name="n_rows">3</property>
- <property name="n_columns">6</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">11</property>
-
- <child>
- <widget class="GtkLabel" id="label97">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">A</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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>
- </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="label100">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">I1</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</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="label101">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">I2</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</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="GtkEntry" id="rA_entry">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">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" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">19</property>
- <signal name="button_press_event" handler="on_register_click"/>
- </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="x_options"></property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="rI1_entry">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <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" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">9</property>
- <signal name="button_press_event" handler="on_register_click"/>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">4</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="rI2_entry">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <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">+ 00 00</property>
- <property name="has_frame">True</property>
- <property name="invisible_char" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">9</property>
- <signal name="button_press_event" handler="on_register_click"/>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">4</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label98">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">X</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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>
- </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="label102">
- <property name="width_request">16</property>
- <property name="height_request">16</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">I3</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</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="label103">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">I4</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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>
- </widget>
- <packing>
- <property name="left_attach">4</property>
- <property name="right_attach">5</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="label104">
- <property name="width_request">16</property>
- <property name="height_request">16</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">I5</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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>
- </widget>
- <packing>
- <property name="left_attach">4</property>
- <property name="right_attach">5</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="label105">
- <property name="width_request">16</property>
- <property name="height_request">16</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">I6</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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>
- </widget>
- <packing>
- <property name="left_attach">4</property>
- <property name="right_attach">5</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="label99">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">J</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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>
- </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="GtkEntry" id="rX_entry">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <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">+ 00 00 00 00 00</property>
- <property name="has_frame">True</property>
- <property name="invisible_char" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">19</property>
- <signal name="button_press_event" handler="on_register_click"/>
- </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="x_options"></property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="rI4_entry">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <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" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">9</property>
- <signal name="button_press_event" handler="on_register_click"/>
- </widget>
- <packing>
- <property name="left_attach">5</property>
- <property name="right_attach">6</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="rI5_entry">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <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" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">9</property>
- <signal name="button_press_event" handler="on_register_click"/>
- </widget>
- <packing>
- <property name="left_attach">5</property>
- <property name="right_attach">6</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="rI6_entry">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <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" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">9</property>
- <signal name="button_press_event" handler="on_register_click"/>
- </widget>
- <packing>
- <property name="left_attach">5</property>
- <property name="right_attach">6</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkEntry" id="rI3_entry">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <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" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">9</property>
- <signal name="button_press_event" handler="on_register_click"/>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">4</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options"></property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox22">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkEntry" id="rJ_entry">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <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" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">9</property>
- <signal name="button_press_event" handler="on_register_click"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <placeholder/>
- </child>
- </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="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label264">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Registers </property>
- <property name="use_underline">False</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">2</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">5</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox7">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkFrame" id="frame5">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox6">
- <property name="border_width">1</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">5</property>
-
- <child>
- <widget class="GtkRadioButton" id="greater_radio">
- <property name="border_width">2</property>
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Greater</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">G</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="on_cmp_g_toggled"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="equal_radio">
- <property name="border_width">2</property>
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Equal</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">E</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">greater_radio</property>
- <signal name="toggled" handler="on_cmp_e_toggled"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkRadioButton" id="lesser_radio">
- <property name="border_width">2</property>
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Lesser</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">L</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">greater_radio</property>
- <signal name="toggled" handler="on_cmp_l_toggled"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVSeparator" id="vseparator9">
- <property name="height_request">7</property>
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="over_toggle">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Overflow</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="on_overflow_toggled" last_modification_time="Mon, 21 Jun 2004 11:44:04 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label266">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Flags </property>
- <property name="use_underline">False</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">2</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <placeholder/>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame6">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox7">
- <property name="border_width">4</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">1</property>
-
- <child>
- <widget class="GtkEntry" id="loc_entry">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <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">4</property>
- <property name="text" translatable="yes">0</property>
- <property name="has_frame">True</property>
- <property name="invisible_char" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <property name="width_chars">6</property>
- </widget>
- <packing>
- <property name="padding">5</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="loc_arrow">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">View loc address</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_loc_arrow_clicked"/>
-
- <child>
- <widget class="GtkImage" id="image4">
- <property name="visible">True</property>
- <property name="stock">gtk-jump-to</property>
- <property name="icon_size">4</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">1</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label1323">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Location </property>
- <property name="use_underline">False</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">2</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">5</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame2">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox4">
- <property name="border_width">5</property>
- <property name="visible">True</property>
- <property name="homogeneous">True</property>
- <property name="spacing">5</property>
-
- <child>
- <widget class="GtkLabel" id="label258">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">Uptime:</property>
- <property name="use_underline">False</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>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="uptime_label">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">00000000</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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">5</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label260">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">Elapsed:</property>
- <property name="use_underline">False</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>
- </widget>
- <packing>
- <property name="padding">3</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="elapsed_label">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">000000</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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">5</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label261">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">Program:</property>
- <property name="use_underline">False</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>
- </widget>
- <packing>
- <property name="padding">2</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="program_label">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">000000</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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">5</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label263">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Times </property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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">2</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">5</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">2</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame4">
- <property name="border_width">7</property>
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-
- <child>
- <widget class="GtkScrolledWindow" id="memory_scroll">
- <property name="border_width">5</property>
- <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_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="memory_cells">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_BUTTON_PRESS_MASK</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">True</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label265">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Memory </property>
- <property name="use_underline">False</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">2</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">3</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="tab_expand">False</property>
- <property name="tab_fill">True</property>
- </packing>
+ <placeholder/>
</child>
<child>
- <widget class="GtkLabel" id="label241">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Virtual machine</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">2</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
+ <placeholder/>
</child>
+ </widget>
+ <packing>
+ <property name="shrink">False</property>
+ <property name="resize">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="prompt_vbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkScrolledWindow" id="mixal_scrol">
+ <widget class="GtkScrolledWindow" id="mixlog_scrolledwindow">
<property name="visible">True</property>
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
- <widget class="GtkTreeView" id="mixal_clist">
+ <widget class="GtkTextView" id="command_log">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Click to toggle breakpoint</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK</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="editable">False</property>
+ <property name="overwrite">False</property>
+ <property name="accepts_tab">True</property>
+ <property name="justification">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap_mode">GTK_WRAP_WORD</property>
+ <property name="cursor_visible">False</property>
+ <property name="pixels_above_lines">0</property>
+ <property name="pixels_below_lines">0</property>
+ <property name="pixels_inside_wrap">0</property>
+ <property name="left_margin">0</property>
+ <property name="right_margin">0</property>
+ <property name="indent">0</property>
+ <property name="text" translatable="yes"></property>
</widget>
</child>
</widget>
<packing>
- <property name="tab_expand">False</property>
- <property name="tab_fill">True</property>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label106">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Source</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow37">
+ <widget class="GtkEntry" id="command_prompt">
<property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Enter MIXVM command here</property>
<property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkViewport" id="devices_container">
- <property name="visible">True</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
-
- <child>
- <placeholder/>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="tab_expand">False</property>
- <property name="tab_fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="devices_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Devices</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</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="has_focus">True</property>
+ <property name="editable">True</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" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <signal name="key_press_event" handler="on_command_prompt_key_press_event" after="yes"/>
+ <signal name="activate" handler="on_command_prompt_activate" last_modification_time="Sat, 19 Jun 2004 00:00:22 GMT"/>
</widget>
<packing>
- <property name="type">tab</property>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
- <property name="padding">2</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow25">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkViewport" id="viewport1">
- <property name="visible">True</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
-
- <child>
- <widget class="GtkVBox" id="prompt_vbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkScrolledWindow" id="mixlog_scrolledwindow">
- <property name="visible">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTextView" id="command_log">
- <property name="visible">True</property>
- <property name="editable">False</property>
- <property name="overwrite">False</property>
- <property name="accepts_tab">True</property>
- <property name="justification">GTK_JUSTIFY_LEFT</property>
- <property name="wrap_mode">GTK_WRAP_WORD</property>
- <property name="cursor_visible">False</property>
- <property name="pixels_above_lines">0</property>
- <property name="pixels_below_lines">0</property>
- <property name="pixels_inside_wrap">0</property>
- <property name="left_margin">0</property>
- <property name="right_margin">0</property>
- <property name="indent">0</property>
- <property name="text" translatable="yes"></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="GtkEntry" id="command_prompt">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Enter MIXVM command here</property>
- <property name="can_focus">True</property>
- <property name="has_focus">True</property>
- <property name="editable">True</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" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <signal name="key_press_event" handler="on_command_prompt_key_press_event" after="yes"/>
- <signal name="activate" handler="on_command_prompt_activate" last_modification_time="Sat, 19 Jun 2004 00:00:22 GMT"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="shrink">True</property>
+ <property name="resize">True</property>
</packing>
</child>
</widget>
@@ -2036,748 +881,6 @@
</child>
</widget>
-<widget class="GtkWindow" id="split_main_window">
- <property name="title" translatable="yes">gmixvm</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="default_width">570</property>
- <property name="default_height">235</property>
- <property name="resizable">True</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_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <signal name="destroy" handler="on_main_window_destroy"/>
-
- <child>
- <widget class="GtkVBox" id="main_vbox">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
- <child>
- <widget class="GtkMenuBar" id="mainmenubar">
- <property name="visible">True</property>
-
- <child>
- <widget class="GtkMenuItem" id="file">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_File</property>
- <property name="use_underline">True</property>
-
- <child>
- <widget class="GtkMenu" id="file_menu">
- <property name="visible">True</property>
-
- <child>
- <widget class="GtkMenuItem" id="file_open">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Load a MIX file</property>
- <property name="label" translatable="yes">_Load...</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_file_open_activate"/>
- <accelerator key="F3" modifiers="GDK_MOD1_MASK" signal="activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="edit">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Edit a MIXAL source file</property>
- <property name="label" translatable="yes">_Edit...</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_file_edit_activate"/>
- <accelerator key="F4" modifiers="GDK_MOD1_MASK" signal="activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="compile">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Compile a MIXAL source file</property>
- <property name="label" translatable="yes">_Compile...</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_file_compile_activate"/>
- <accelerator key="F5" modifiers="GDK_MOD1_MASK" signal="activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="separator2">
- <property name="visible">True</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="file_exit">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Exit application</property>
- <property name="label" translatable="yes">E_xit</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_file_exit_activate"/>
- <accelerator key="Q" modifiers="GDK_MOD1_MASK" signal="activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="view">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_View</property>
- <property name="use_underline">True</property>
-
- <child>
- <widget class="GtkMenu" id="view_menu">
- <property name="visible">True</property>
-
- <child>
- <widget class="GtkCheckMenuItem" id="mix_view">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_MIX</property>
- <property name="use_underline">True</property>
- <property name="active">False</property>
- <signal name="toggled" handler="on_view_toggled"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkCheckMenuItem" id="mixal_view">
- <property name="visible">True</property>
- <property name="label" translatable="yes">MI_XAL</property>
- <property name="use_underline">True</property>
- <property name="active">False</property>
- <signal name="toggled" handler="on_view_toggled"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkCheckMenuItem" id="devices_view">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Devices</property>
- <property name="use_underline">True</property>
- <property name="active">False</property>
- <signal name="toggled" handler="on_view_toggled"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkCheckMenuItem" id="show_toolbars">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Toolbars</property>
- <property name="use_underline">True</property>
- <property name="active">False</property>
- <signal name="toggled" handler="on_show_toolbars_toggled"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="separator4">
- <property name="visible">True</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="one_window">
- <property name="visible">True</property>
- <property name="label" translatable="yes">One _window</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_one_window_activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="debug">
- <property name="visible">True</property>
- <property name="label" translatable="yes">D_ebug</property>
- <property name="use_underline">True</property>
-
- <child>
- <widget class="GtkMenu" id="debug_menu">
- <property name="visible">True</property>
-
- <child>
- <widget class="GtkMenuItem" id="debug_run">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Run program</property>
- <property name="label" translatable="yes">_Run</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_debug_run_activate"/>
- <accelerator key="R" modifiers="GDK_MOD1_MASK" signal="activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="debug_next">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Execute next instruction</property>
- <property name="label" translatable="yes">_Next</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_debug_next_activate"/>
- <accelerator key="N" modifiers="GDK_MOD1_MASK" signal="activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="clear_breakpoints">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Clear all set breakpoints</property>
- <property name="label" translatable="yes">_Clear breakpoints</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_clear_breakpoints_activate"/>
- <accelerator key="C" modifiers="GDK_MOD1_MASK" signal="activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="symbols">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Show the symbol table</property>
- <property name="label" translatable="yes">_Symbols...</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_symbols_activate"/>
- <accelerator key="Y" modifiers="GDK_MOD1_MASK" signal="activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="settings1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Settings</property>
- <property name="use_underline">True</property>
-
- <child>
- <widget class="GtkMenu" id="settings1_menu">
- <property name="visible">True</property>
-
- <child>
- <widget class="GtkMenuItem" id="colors">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Change colors of MIXAL</property>
- <property name="label" translatable="yes">_Colors...</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_colors_activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="fonts1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Change _font</property>
- <property name="use_underline">True</property>
-
- <child>
- <widget class="GtkMenu" id="fonts1_menu">
- <property name="visible">True</property>
-
- <child>
- <widget class="GtkMenuItem" id="mix">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_MIX</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_mix_font_activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="mixal">
- <property name="visible">True</property>
- <property name="label" translatable="yes">MI_XAL</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_mixal_font_activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="command_prompt">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Command _prompt</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_prompt_font_activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="command_log">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Command l_og</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_log_font_activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="devices">
- <property name="visible">True</property>
- <property name="label" translatable="yes">De_vices</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_devices_font_activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="device_output1">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Change format of binary devices output</property>
- <property name="label" translatable="yes">_Device output...</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_devform_activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="devices_dir">
- <property name="visible">True</property>
- <property name="label" translatable="yes">De_vices dir...</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_devdir_activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="external_programs1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">E_xternal programs...</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_external_programs_activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="separator1">
- <property name="visible">True</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="save">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Save current settings</property>
- <property name="label" translatable="yes">_Save</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_save_activate"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkCheckMenuItem" id="save_on_exit">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Toogle save settings on exit</property>
- <property name="label" translatable="yes">Save on _exit</property>
- <property name="use_underline">True</property>
- <property name="active">True</property>
- <signal name="toggled" handler="on_save_on_exit_toggle"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="help">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Help</property>
- <property name="use_underline">True</property>
-
- <child>
- <widget class="GtkMenu" id="help_menu">
- <property name="visible">True</property>
-
- <child>
- <widget class="GtkMenuItem" id="about">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_About...</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_about_activate"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkStatusbar" id="main_statusbar">
- <property name="visible">True</property>
- <property name="has_resize_grip">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolbar" id="main_toolbar">
- <property name="visible">True</property>
- <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
- <property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
- <property name="tooltips">True</property>
- <property name="show_arrow">True</property>
-
- <child>
- <widget class="GtkToolButton" id="button4">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Load MIX program</property>
- <property name="label" translatable="yes">Load</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-open</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_file_open_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="button5">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Compile MIXAL source</property>
- <property name="label" translatable="yes">Build</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-execute</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_file_compile_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="button6">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Edit MIXAL source</property>
- <property name="label" translatable="yes">Edit</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-justify-fill</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_file_edit_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolItem" id="toolitem2">
- <property name="visible">True</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
-
- <child>
- <widget class="GtkVSeparator" id="vseparator7">
- <property name="visible">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkSeparatorToolItem" id="separatortoolitem4">
- <property name="visible">True</property>
- <property name="draw">True</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="button7">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Run</property>
- <property name="label" translatable="yes">Run</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-go-forward</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_debug_run_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="button8">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Next</property>
- <property name="label" translatable="yes">Step</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-goto-last</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_debug_next_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="button9">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Clear breakpoints</property>
- <property name="label" translatable="yes">Clear</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-clear</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_clear_breakpoints_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="button10">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Symbol table</property>
- <property name="label" translatable="yes">Symbols</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-index</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_symbols_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkSeparatorToolItem" id="separatortoolitem5">
- <property name="visible">True</property>
- <property name="draw">True</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="button24">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Command log font</property>
- <property name="label" translatable="yes">Font</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-select-color</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_log_font_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="button25">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Command prompt font</property>
- <property name="label" translatable="yes">Font</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-home</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_prompt_font_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="button32">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">External programs</property>
- <property name="label" translatable="yes">Extern</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-convert</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_external_programs_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkSeparatorToolItem" id="separatortoolitem6">
- <property name="visible">True</property>
- <property name="draw">True</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkToolButton" id="button27">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">One window</property>
- <property name="label" translatable="yes">One window</property>
- <property name="use_underline">True</property>
- <property name="icon">onew.xpm</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
- <signal name="clicked" handler="on_one_window_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox3">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkScrolledWindow" id="mixcmd_scrolledwindow">
- <property name="visible">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTextView" id="command_log">
- <property name="visible">True</property>
- <property name="editable">False</property>
- <property name="overwrite">False</property>
- <property name="accepts_tab">True</property>
- <property name="justification">GTK_JUSTIFY_LEFT</property>
- <property name="wrap_mode">GTK_WRAP_WORD</property>
- <property name="cursor_visible">True</property>
- <property name="pixels_above_lines">0</property>
- <property name="pixels_below_lines">0</property>
- <property name="pixels_inside_wrap">0</property>
- <property name="left_margin">0</property>
- <property name="right_margin">0</property>
- <property name="indent">0</property>
- <property name="text" translatable="yes"></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="GtkEntry" id="command_prompt">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Enter MIXVM command here</property>
- <property name="can_focus">True</property>
- <property name="has_focus">True</property>
- <property name="editable">True</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" translatable="yes">*</property>
- <property name="activates_default">False</property>
- <signal name="key_press_event" handler="on_command_prompt_key_press_event" after="yes"/>
- </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="GtkDialog" id="word_dialog">
<property name="title" translatable="yes">Enter value</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
@@ -3962,10 +2065,6 @@ disk7</property>
<property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <signal name="delete_event" handler="on_window_hide"/>
- <signal name="destroy_event" handler="on_window_hide"/>
- <signal name="destroy" handler="on_window_hide"/>
- <signal name="show" handler="mixgtk_mixal_update" after="yes"/>
<child>
<widget class="GtkVBox" id="vbox5">
@@ -3983,25 +2082,6 @@ disk7</property>
<property name="show_arrow">True</property>
<child>
- <widget class="GtkToolItem" id="toolitem3">
- <property name="visible">True</property>
- <property name="visible_horizontal">True</property>
- <property name="visible_vertical">True</property>
- <property name="is_important">False</property>
-
- <child>
- <widget class="GtkVSeparator" id="vseparator8">
- <property name="visible">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">False</property>
- </packing>
- </child>
-
- <child>
<widget class="GtkToolButton" id="button14">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Run</property>
@@ -4112,27 +2192,13 @@ disk7</property>
</child>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow27">
+ <widget class="GtkVBox" id="mixal_container">
<property name="visible">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
- <widget class="GtkTreeView" id="mixal_clist">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Click to toggle breakpoint</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">False</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <signal name="select_row" handler="on_mixal_select_row" after="yes"/>
- <signal name="motion_notify_event" handler="on_mixal_motion_notify_event"/>
- <signal name="leave_notify_event" handler="on_mixal_leave_notify_event"/>
- </widget>
+ <placeholder/>
</child>
</widget>
<packing>
@@ -4214,7 +2280,7 @@ disk7</property>
<property name="tooltip" translatable="yes">Output format</property>
<property name="label" translatable="yes">Output</property>
<property name="use_underline">True</property>
- <property name="stock_id">gtk-find-and-replace</property>
+ <property name="stock_id">gtk-zoom-100</property>
<property name="visible_horizontal">True</property>
<property name="visible_vertical">True</property>
<property name="is_important">False</property>
@@ -4252,13 +2318,10 @@ disk7</property>
</child>
<child>
- <widget class="GtkScrolledWindow" id="devices_container">
+ <widget class="GtkVBox" id="dev_container">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
- <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
<child>
<placeholder/>
@@ -4426,13 +2489,9 @@ disk7</property>
<property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <signal name="delete_event" handler="on_window_hide"/>
- <signal name="destroy_event" handler="on_window_hide"/>
- <signal name="destroy" handler="on_window_hide"/>
- <signal name="show" handler="mixgtk_mixvm_update_vm_widgets" after="yes"/>
<child>
- <widget class="GtkFrame" id="frame23">
+ <widget class="GtkFrame" id="mixvm_container">
<property name="border_width">5</property>
<property name="visible">True</property>
<property name="label_xalign">0</property>
@@ -4440,7 +2499,1055 @@ disk7</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
- <placeholder/>
+ <widget class="GtkHBox" id="mixvm_widget">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox6">
+ <property name="border_width">1</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">1</property>
+
+ <child>
+ <widget class="GtkFrame" id="frame3">
+ <property name="border_width">2</property>
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+ <child>
+ <widget class="GtkTable" id="table1">
+ <property name="border_width">8</property>
+ <property name="visible">True</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">6</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">11</property>
+
+ <child>
+ <widget class="GtkLabel" id="label97">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">A</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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>
+ </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="label100">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">I1</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</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="label101">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">I2</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</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="GtkEntry" id="rA_entry">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">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" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">19</property>
+ <signal name="button_press_event" handler="on_register_click"/>
+ </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="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="rI1_entry">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <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" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">9</property>
+ <signal name="button_press_event" handler="on_register_click"/>
+ </widget>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="rI2_entry">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <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">+ 00 00</property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">9</property>
+ <signal name="button_press_event" handler="on_register_click"/>
+ </widget>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label98">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">X</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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>
+ </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="label102">
+ <property name="width_request">16</property>
+ <property name="height_request">16</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">I3</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</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="label103">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">I4</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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>
+ </widget>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="right_attach">5</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="label104">
+ <property name="width_request">16</property>
+ <property name="height_request">16</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">I5</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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>
+ </widget>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="right_attach">5</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="label105">
+ <property name="width_request">16</property>
+ <property name="height_request">16</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">I6</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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>
+ </widget>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="right_attach">5</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="label99">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">J</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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>
+ </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="GtkEntry" id="rX_entry">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <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">+ 00 00 00 00 00</property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">19</property>
+ <signal name="button_press_event" handler="on_register_click"/>
+ </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="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="rI4_entry">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <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" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">9</property>
+ <signal name="button_press_event" handler="on_register_click"/>
+ </widget>
+ <packing>
+ <property name="left_attach">5</property>
+ <property name="right_attach">6</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="rI5_entry">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <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" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">9</property>
+ <signal name="button_press_event" handler="on_register_click"/>
+ </widget>
+ <packing>
+ <property name="left_attach">5</property>
+ <property name="right_attach">6</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="rI6_entry">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <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" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">9</property>
+ <signal name="button_press_event" handler="on_register_click"/>
+ </widget>
+ <packing>
+ <property name="left_attach">5</property>
+ <property name="right_attach">6</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="rI3_entry">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <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" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">9</property>
+ <signal name="button_press_event" handler="on_register_click"/>
+ </widget>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox22">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkEntry" id="rJ_entry">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <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" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">9</property>
+ <signal name="button_press_event" handler="on_register_click"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <placeholder/>
+ </child>
+ </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="x_options">fill</property>
+ <property name="y_options">fill</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label264">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Registers </property>
+ <property name="use_underline">False</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">2</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">5</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox7">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkFrame" id="frame5">
+ <property name="border_width">2</property>
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox6">
+ <property name="border_width">1</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">5</property>
+
+ <child>
+ <widget class="GtkRadioButton" id="greater_radio">
+ <property name="border_width">2</property>
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Greater</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">G</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="on_cmp_g_toggled"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="equal_radio">
+ <property name="border_width">2</property>
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Equal</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">E</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">greater_radio</property>
+ <signal name="toggled" handler="on_cmp_e_toggled"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="lesser_radio">
+ <property name="border_width">2</property>
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Lesser</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">L</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">greater_radio</property>
+ <signal name="toggled" handler="on_cmp_l_toggled"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVSeparator" id="vseparator9">
+ <property name="height_request">7</property>
+ <property name="visible">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="over_toggle">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Overflow</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="on_overflow_toggled" last_modification_time="Mon, 21 Jun 2004 11:44:04 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label266">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Flags </property>
+ <property name="use_underline">False</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">2</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <placeholder/>
+ </child>
+
+ <child>
+ <widget class="GtkFrame" id="frame6">
+ <property name="border_width">2</property>
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox7">
+ <property name="border_width">4</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">1</property>
+
+ <child>
+ <widget class="GtkEntry" id="loc_entry">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <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">4</property>
+ <property name="text" translatable="yes">0</property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">6</property>
+ </widget>
+ <packing>
+ <property name="padding">5</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="loc_arrow">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">View loc address</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_loc_arrow_clicked"/>
+
+ <child>
+ <widget class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="stock">gtk-jump-to</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">1</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label1323">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Location </property>
+ <property name="use_underline">False</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">2</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">5</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkFrame" id="frame2">
+ <property name="border_width">2</property>
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox4">
+ <property name="border_width">5</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">True</property>
+ <property name="spacing">5</property>
+
+ <child>
+ <widget class="GtkLabel" id="label258">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Uptime:</property>
+ <property name="use_underline">False</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>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="uptime_label">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">00000000</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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">5</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label260">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Elapsed:</property>
+ <property name="use_underline">False</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>
+ </widget>
+ <packing>
+ <property name="padding">3</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="elapsed_label">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">000000</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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">5</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label261">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Program:</property>
+ <property name="use_underline">False</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>
+ </widget>
+ <packing>
+ <property name="padding">2</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="program_label">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">000000</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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">5</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label263">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Times </property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</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">2</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">5</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">2</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkFrame" id="frame4">
+ <property name="border_width">7</property>
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="memory_scroll">
+ <property name="border_width">5</property>
+ <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_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="memory_cells">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="events">GDK_BUTTON_PRESS_MASK</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">True</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label265">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Memory </property>
+ <property name="use_underline">False</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">2</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">3</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+ </widget>
</child>
<child>
diff --git a/mixgtk/mixgtk.h b/mixgtk/mixgtk.h
index e4a16b6..7898d9e 100644
--- a/mixgtk/mixgtk.h
+++ b/mixgtk/mixgtk.h
@@ -3,22 +3,22 @@
* ------------------------------------------------------------------
* Last change: Time-stamp: <2001-04-29 12:06:48 jao>
* ------------------------------------------------------------------
- * Copyright (C) 2001 Free Software Foundation, Inc.
- *
+ * Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
+ *
*/
@@ -35,10 +35,6 @@
extern gboolean
mixgtk_init (int argc, char *argv[]);
-/* restart the gui */
-extern gboolean
-mixgtk_restart (void);
-
/* enter the main mixgtk loop */
extern void
mixgtk_main (void);
diff --git a/mixgtk/mixgtk_config.c b/mixgtk/mixgtk_config.c
index ccd1216..58a1a25 100644
--- a/mixgtk/mixgtk_config.c
+++ b/mixgtk/mixgtk_config.c
@@ -1,24 +1,24 @@
/* -*-c-*- -------------- mixgtk_config.c :
* Implementation of the functions declared in mixgtk_config.h
* ------------------------------------------------------------------
- * $Id: mixgtk_config.c,v 1.8 2002/03/29 16:30:49 jao Exp $
+ * $Id: mixgtk_config.c,v 1.9 2004/06/30 14:07:53 jao Exp $
* ------------------------------------------------------------------
- * Copyright (C) 2001, 2002 Free Software Foundation, Inc.
- *
+ * Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
+ *
*/
#include <stdlib.h>
@@ -32,9 +32,6 @@
#include "mixgtk_config.h"
static const gchar *MIXGTK_CONFIG_FILE_ = "gmixvm.config";
-static const gchar *SPLIT_KEY = "Split";
-static const gchar *SPLIT_YES = "Yes";
-static const gchar *SPLIT_NO = "No";
static const gchar *SHOW_TB_KEY = "Toolbars";
static const gchar *TB_YES = "Yes";
static const gchar *TB_NO = "No";
@@ -103,20 +100,7 @@ mixgtk_config_save (void)
}
gboolean
-mixgtk_config_is_split (void)
-{
- const gchar *split = mixgtk_config_get (SPLIT_KEY);
- return (split && !strcmp (split, SPLIT_YES));
-}
-
-void
-mixgtk_config_set_split (gboolean split)
-{
- mixgtk_config_update (SPLIT_KEY, split? SPLIT_YES : SPLIT_NO);
-}
-
-gboolean
-mixgtk_config_show_toolbars (void)
+mixgtk_config_show_toolbars (void)
{
const gchar *show = mixgtk_config_get (SHOW_TB_KEY);
return (!show || !strcmp (show, TB_YES));
diff --git a/mixgtk/mixgtk_config.h b/mixgtk/mixgtk_config.h
index ee09045..519698a 100644
--- a/mixgtk/mixgtk_config.h
+++ b/mixgtk/mixgtk_config.h
@@ -1,24 +1,24 @@
/* -*-c-*- ---------------- mixgtk_config.h :
* Configuration functions declarations.
* ------------------------------------------------------------------
- * $Id: mixgtk_config.h,v 1.5 2001/09/18 22:50:30 jao Exp $
+ * $Id: mixgtk_config.h,v 1.6 2004/06/30 14:07:53 jao Exp $
* ------------------------------------------------------------------
- * Copyright (C) 2001 Free Software Foundation, Inc.
- *
+ * Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
+ *
*/
@@ -61,12 +61,6 @@ mixgtk_config_save (void);
/* shared config params */
extern gboolean
-mixgtk_config_is_split (void);
-
-extern void
-mixgtk_config_set_split (gboolean split);
-
-extern gboolean
mixgtk_config_show_toolbars (void);
extern void
diff --git a/mixgtk/mixgtk_device.c b/mixgtk/mixgtk_device.c
index e701728..885c19c 100644
--- a/mixgtk/mixgtk_device.c
+++ b/mixgtk/mixgtk_device.c
@@ -1,7 +1,7 @@
/* -*-c-*- ---------------- mixgtk_device.c :
* actual types for mixgtk devices
* ------------------------------------------------------------------
- * $Id: mixgtk_device.c,v 1.22 2004/06/24 01:40:47 jao Exp $
+ * $Id: mixgtk_device.c,v 1.23 2004/06/30 14:07:53 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
*
@@ -42,7 +42,6 @@
static const gchar *DEV_FORMAT_KEY_ = "Device.format";
/* device container */
-static GtkContainer *container_ = NULL;
static GtkNotebook *dev_nb_ = NULL;
/* devdir dialog */
static GtkWidget *devdir_dlg_ = NULL;
@@ -284,6 +283,7 @@ mixgtk_device_construct_gui_ (struct mixgtk_device_t *dev)
gtk_tree_view_new_with_model (GTK_TREE_MODEL (bindev->store));
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (dev->widget), FALSE);
+ gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (dev->widget), TRUE);
for (k = 0; k < BIN_DEV_COL_; ++k)
{
@@ -293,14 +293,14 @@ mixgtk_device_construct_gui_ (struct mixgtk_device_t *dev)
"text", k, NULL));
}
+
g_free (types);
}
g_assert (dev->widget);
gtk_container_add (GTK_CONTAINER (dev->scroll), dev->widget);
+ mixgtk_fontsel_set_font (MIX_FONT_DEVICES, dev->widget);
gtk_notebook_append_page (dev_nb_, dev->scroll, label);
- gtk_widget_set_style (dev->widget,
- gtk_widget_get_style (GTK_WIDGET (dev_nb_)));
gtk_widget_show (label);
gtk_widget_show (dev->scroll);
gtk_widget_show (dev->widget);
@@ -368,11 +368,11 @@ mixgtk_device_new_ (mix_device_type_t type)
}
/* init default devices */
-gboolean
-mixgtk_device_init (GtkContainer *container, mix_vm_t *vm)
+GtkWidget *
+mixgtk_device_init (mix_vm_t *vm)
{
- g_return_val_if_fail (container != NULL, FALSE);
- g_return_val_if_fail (vm != NULL, FALSE);
+ g_assert (vm != NULL);
+
vm_ = vm;
devdlg_ = NULL;
devdir_dlg_ = NULL;
@@ -392,22 +392,12 @@ mixgtk_device_init (GtkContainer *container, mix_vm_t *vm)
dev_nb_ = GTK_NOTEBOOK (gtk_notebook_new ());
gtk_notebook_set_tab_pos (dev_nb_, GTK_POS_RIGHT);
- gtk_notebook_set_scrollable (dev_nb_, TRUE);
- gtk_container_add (container, GTK_WIDGET (dev_nb_));
- }
- else if (container_)
- {
- gtk_widget_reparent (GTK_WIDGET (dev_nb_), GTK_WIDGET (container));
+ gtk_notebook_set_scrollable (dev_nb_, FALSE);
}
- container_ = container;
-
- gtk_widget_show (GTK_WIDGET (dev_nb_));
- gtk_widget_show (GTK_WIDGET (container_));
-
mixgtk_fontsel_set_font (MIX_FONT_DEVICES, GTK_WIDGET (dev_nb_));
- return TRUE;
+ return GTK_WIDGET (dev_nb_);
}
void
@@ -584,19 +574,20 @@ void
on_devices_font_activate ()
{
gint no = gtk_notebook_get_n_pages (dev_nb_);
- GtkWidget **w = g_new (GtkWidget *, 2 * no + 1);
- gint k;
+ GtkWidget **w = g_new (GtkWidget *, no + 1);
+ gint k, j;
- w[2 * no] = GTK_WIDGET (dev_nb_);
- for (k = 0; k < no; ++k)
+ for (k = 0, j = 0; k < no && j < mix_dev_INVALID; ++j)
{
- w[k] = gtk_notebook_get_nth_page (dev_nb_, k);
- w[k + no] = gtk_bin_get_child (GTK_BIN (w[k]));
- g_assert (w[k]);
- g_assert (w[k + no]);
+ struct mixgtk_device_t * dev =
+ (struct mixgtk_device_t *) mix_vm_get_device (vm_, j);
+ if (dev != NULL) w[k++] = dev->widget;
}
- mixgtk_fontsel_query_font (MIX_FONT_DEVICES, w, 2 * no + 1);
+ g_assert (k == no);
+ w[k] = GTK_WIDGET (dev_nb_);
+
+ mixgtk_fontsel_query_font (MIX_FONT_DEVICES, w, no + 1);
g_free (w);
}
diff --git a/mixgtk/mixgtk_device.h b/mixgtk/mixgtk_device.h
index dde8a5c..b15cbb4 100644
--- a/mixgtk/mixgtk_device.h
+++ b/mixgtk/mixgtk_device.h
@@ -30,8 +30,8 @@
#include <mixlib/mix_device.h>
/* init default devices */
-extern gboolean
-mixgtk_device_init (GtkContainer *container, mix_vm_t *vm);
+extern GtkWidget *
+mixgtk_device_init (mix_vm_t *vm);
/* change the output format of a device */
extern void
diff --git a/mixgtk/mixgtk_mixal.c b/mixgtk/mixgtk_mixal.c
index 17f726f..1ee9475 100644
--- a/mixgtk/mixgtk_mixal.c
+++ b/mixgtk/mixgtk_mixal.c
@@ -1,7 +1,7 @@
/* -*-c-*- -------------- mixgtk_mixal.c :
* Implementation of the functions declared in mixgtk_mixal.h
* ------------------------------------------------------------------
- * $Id: mixgtk_mixal.c,v 1.18 2004/06/24 01:40:47 jao Exp $
+ * $Id: mixgtk_mixal.c,v 1.19 2004/06/30 14:07:53 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
*
@@ -30,17 +30,13 @@
#include "mixgtk_fontsel.h"
#include "mixgtk_mixal.h"
-
-#define MIXAL_TAB_POS_ 2
-
static mix_vm_t *vm_ = NULL;
static GtkTreeView *clist_ = NULL;
static GtkListStore *clist_store_ = NULL;
static gulong lineno_;
-static const gchar *LOCAL_STATUS_BAR_ = "mixal_statusbar";
-static GtkStatusbar *status_;
-static gint status_context_;
+static GtkStatusbar *status_ = NULL;
+static gint status_context_ = 0;
static GPtrArray *tips_text_ = NULL;
static GtkWidget *symbols_dlg_ = NULL;
@@ -149,18 +145,15 @@ fill_symbols_ (const mix_symbol_table_t *table)
insert_symbol_, NULL);
}
-static gboolean
-init_clist_ (mixgtk_dialog_id_t top)
+static void
+init_clist_ (void)
{
GtkStockItem item;
GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
GtkCellRenderer *bprenderer = gtk_cell_renderer_pixbuf_new ();
- clist_ = GTK_TREE_VIEW
- (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_MIXAL));
-
- g_assert (clist_);
+ clist_ = GTK_TREE_VIEW (gtk_tree_view_new ());
clist_store_ = gtk_list_store_new (CLIST_COL_NO,
G_TYPE_STRING,
@@ -173,6 +166,7 @@ init_clist_ (mixgtk_dialog_id_t top)
gtk_tree_view_set_model (clist_, GTK_TREE_MODEL (clist_store_));
g_object_unref (G_OBJECT (clist_store_));
+ gtk_tree_view_set_rules_hint (clist_, TRUE);
gtk_tree_view_append_column
(clist_,
@@ -206,44 +200,51 @@ init_clist_ (mixgtk_dialog_id_t top)
pc_stock_id_ = item.stock_id;
}
- return TRUE;
-}
+ symbols_dlg_ = NULL;
+ symbols_view_ = NULL;
+ g_signal_connect (G_OBJECT (clist_), "event",
+ G_CALLBACK (mixal_event_), NULL);
-/* initialise the mixal widgets */
-gboolean
-mixgtk_mixal_init (mix_vm_t *vm, mixgtk_dialog_id_t top)
-{
- static gboolean restart = FALSE;
- g_return_val_if_fail (vm != NULL, FALSE);
- vm_ = vm;
+ mixgtk_fontsel_set_font (MIX_FONT_MIXAL, GTK_WIDGET (clist_));
- if (!init_clist_ (top)) return FALSE;
+ g_object_ref (clist_);
- if (!mixgtk_config_is_split ())
- status_ = GTK_STATUSBAR
- (mixgtk_widget_factory_get (MIXGTK_MAIN, MIXGTK_WIDGET_STATUSBAR));
- else
- status_ = GTK_STATUSBAR
- (mixgtk_widget_factory_get_child_by_name (top, LOCAL_STATUS_BAR_));
+ gtk_widget_show (GTK_WIDGET (clist_));
- g_return_val_if_fail (status_ != NULL, FALSE);
- status_context_ = gtk_statusbar_get_context_id (status_, "MIXAL status");
+}
- symbols_dlg_ = NULL;
- symbols_view_ = NULL;
- g_signal_connect (G_OBJECT (clist_), "event",
- G_CALLBACK (mixal_event_), NULL);
+/* initialise the mixal widgets */
+GtkWidget *
+mixgtk_mixal_init (mix_vm_t *vm)
+{
+ if (vm != NULL) vm_ = vm;
- mixgtk_fontsel_set_font (MIX_FONT_MIXAL, GTK_WIDGET (clist_));
+ if (vm_ == NULL) return FALSE;
+
+ if (clist_ == NULL) init_clist_ ();
- if (restart) mixgtk_mixal_load_file ();
- else restart = TRUE;
+ status_ = NULL;
+ return GTK_WIDGET (clist_);
+}
+
+void
+mixgtk_mixal_reparent (GtkStatusbar *status)
+{
+ g_assert (status != NULL);
+ mixgtk_mixal_pop_status ();
+ status_ = status;
+ status_context_ = gtk_statusbar_get_context_id (status_, "MIXAL status");
+}
- return TRUE;
+void
+mixgtk_mixal_pop_status (void)
+{
+ if (status_ != NULL)
+ gtk_statusbar_pop (status_, status_context_);
}
/* load the corresponding mixal file */
@@ -549,15 +550,15 @@ on_symbols_activate ()
void
on_notebook_switch_page (GtkNotebook *notebook)
{
- gint p = gtk_notebook_get_current_page (notebook);
- if (p != MIXAL_TAB_POS_) gtk_statusbar_pop (status_, status_context_);
- if (p == MIXAL_TAB_POS_) mixgtk_mixal_update ();
+/* gint p = gtk_notebook_get_current_page (notebook); */
+/* if (p != MIXAL_TAB_POS_) gtk_statusbar_pop (status_, status_context_); */
+/* if (p == MIXAL_TAB_POS_) mixgtk_mixal_update (); */
}
void
on_mixal_leave_notify_event ()
{
- gtk_statusbar_pop (status_, status_context_);
+ if (status_ != NULL) gtk_statusbar_pop (status_, status_context_);
}
void
diff --git a/mixgtk/mixgtk_mixal.h b/mixgtk/mixgtk_mixal.h
index ccf3b61..248cf64 100644
--- a/mixgtk/mixgtk_mixal.h
+++ b/mixgtk/mixgtk_mixal.h
@@ -1,7 +1,7 @@
/* -*-c-*- ---------------- mixgtk_mixal.h :
* Declarations for functions displaying the mixal source file
* ------------------------------------------------------------------
- * Last change: Time-stamp: <2001-04-21 23:54:18 jao>
+ * $Id: mixgtk_mixal.h,v 1.6 2004/06/30 14:07:53 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2004 Free Software Foundation, Inc.
*
@@ -31,8 +31,11 @@
/* initialise the mixal widget */
-extern gboolean
-mixgtk_mixal_init (mix_vm_t *vm, mixgtk_dialog_id_t top);
+extern GtkWidget *
+mixgtk_mixal_init (mix_vm_t *vm);
+
+extern void
+mixgtk_mixal_reparent (GtkStatusbar *stat);
/* load the corresponding mixal file */
extern void
@@ -42,6 +45,9 @@ mixgtk_mixal_load_file (void);
extern void
mixgtk_mixal_update (void);
+extern void
+mixgtk_mixal_pop_status (void);
+
/* breakpoints */
extern void
mixgtk_mixal_update_bp_at_address (guint addr);
@@ -53,10 +59,5 @@ extern void
mixgtk_mixal_update_bp_all (void);
-/* callbacks */
-extern void
-on_mixal_select_row (GtkWidget *w, gint row, gint col, GdkEventButton *e,
- gpointer data);
-
#endif /* MIXGTK_MIXAL_H */
diff --git a/mixgtk/mixgtk_mixvm.c b/mixgtk/mixgtk_mixvm.c
index ca4b482..2a34367 100644
--- a/mixgtk/mixgtk_mixvm.c
+++ b/mixgtk/mixgtk_mixvm.c
@@ -1,7 +1,7 @@
/* -*-c-*- -------------- mixgtk_mixvm.c :
* Implementation of the functions declared in mixgtk_mixvm.h
* ------------------------------------------------------------------
- * $Id: mixgtk_mixvm.c,v 1.12 2004/06/24 01:40:47 jao Exp $
+ * $Id: mixgtk_mixvm.c,v 1.13 2004/06/30 14:07:53 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
*
@@ -48,13 +48,11 @@ static GtkLabel *progtime_;
static GtkLabel *uptime_;
static mix_vm_t *vm_;
-#define GOTO_ENTRY_NAME_ "goto_entry"
-
/* Static function prototypes */
static void init_goto_ (void);
static void update_register_ (mixgtk_widget_id_t reg);
-static gboolean init_mem_ (mixgtk_dialog_id_t top);
+static gboolean init_mem_ (void);
enum {
@@ -66,11 +64,12 @@ enum {
/* initialise the mixvm widgets */
gboolean
-mixgtk_mixvm_init (mix_vm_t *vm, mixgtk_dialog_id_t top)
+mixgtk_mixvm_init (mix_vm_t *vm)
{
int k;
- g_return_val_if_fail (vm != NULL, FALSE);
+ g_assert (vm != NULL);
+
vm_ = vm;
if (!tips_) tips_ = gtk_tooltips_new ();
@@ -78,39 +77,49 @@ mixgtk_mixvm_init (mix_vm_t *vm, mixgtk_dialog_id_t top)
for (k = 0; k < REGISTER_NO_; ++k)
{
reg_entries_[k] =
- GTK_ENTRY (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_rA + k));
- g_return_val_if_fail (reg_entries_[k] != NULL, FALSE);
- mixgtk_fontsel_set_font (MIX_FONT_MIXVM, GTK_WIDGET (reg_entries_[k]));
+ GTK_ENTRY (mixgtk_widget_factory_get(MIXGTK_MIXVM_DIALOG,
+ MIXGTK_WIDGET_rA + k));
+ g_assert (reg_entries_[k] != NULL);
+ mixgtk_fontsel_set_font (MIX_FONT_MIXVM,
+ GTK_WIDGET (reg_entries_[k]));
}
- loc_entry_ = GTK_ENTRY (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_LOC));
- g_return_val_if_fail (loc_entry_ != NULL, FALSE);
+ loc_entry_ =
+ GTK_ENTRY (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG,
+ MIXGTK_WIDGET_LOC));
+ g_assert (loc_entry_ != NULL);
mixgtk_fontsel_set_font (MIX_FONT_MIXVM, GTK_WIDGET (loc_entry_));
- uptime_ = GTK_LABEL (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_UPTIME));
- g_return_val_if_fail (uptime_ != NULL, FALSE);
+ uptime_ =
+ GTK_LABEL (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG,
+ MIXGTK_WIDGET_UPTIME));
+ g_assert (uptime_ != NULL);
progtime_ =
- GTK_LABEL (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_PROGTIME));
- g_return_val_if_fail (progtime_ != NULL, FALSE);
+ GTK_LABEL (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG,
+ MIXGTK_WIDGET_PROGTIME));
+ g_assert (progtime_ != NULL);
- laptime_ = GTK_LABEL (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_LAPTIME));
- g_return_val_if_fail (laptime_ != NULL, FALSE);
+ laptime_ =
+ GTK_LABEL (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG,
+ MIXGTK_WIDGET_LAPTIME));
+ g_assert (laptime_ != NULL);
over_button_ =
- GTK_TOGGLE_BUTTON (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_OVER));
- g_return_val_if_fail (over_button_ != NULL, FALSE);
+ GTK_TOGGLE_BUTTON
+ (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG, MIXGTK_WIDGET_OVER));
+ g_assert (over_button_ != NULL);
for (k = 0; k < 3; ++k)
{
cmp_buttons_[k] = GTK_TOGGLE_BUTTON
- (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_CMP_L +k));
- g_return_val_if_fail (cmp_buttons_[k] != NULL, FALSE);
+ (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG,
+ MIXGTK_WIDGET_CMP_L +k));
+ g_assert (cmp_buttons_[k] != NULL);
}
+ init_mem_ ();
- goto_ = NULL;
-
- return init_mem_ (top);
+ return TRUE;
}
/* update register widgets */
@@ -359,8 +368,8 @@ init_goto_ (void)
goto_ = mixgtk_widget_factory_get_dialog (MIXGTK_GOTO_DIALOG);
g_assert (goto_ != NULL);
goto_entry_ =
- GTK_ENTRY (mixgtk_widget_factory_get_child_by_name (MIXGTK_GOTO_DIALOG,
- GOTO_ENTRY_NAME_));
+ GTK_ENTRY (mixgtk_widget_factory_get (MIXGTK_GOTO_DIALOG,
+ MIXGTK_WIDGET_GOTO_ENTRY));
g_assert (goto_entry_ != NULL);
}
@@ -447,7 +456,7 @@ cont_clicked_ (GtkWidget *w, GdkEvent *event, gpointer data)
static gboolean
-init_mem_ (mixgtk_dialog_id_t top)
+init_mem_ (void)
{
gint k;
GtkTreeIter iter;
@@ -469,12 +478,12 @@ init_mem_ (mixgtk_dialog_id_t top)
-1);
}
-
/* view */
renderer = gtk_cell_renderer_text_new ();
- memory_ = GTK_TREE_VIEW (mixgtk_widget_factory_get (top,
- MIXGTK_WIDGET_CELLS));
+ memory_ =
+ GTK_TREE_VIEW (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG,
+ MIXGTK_WIDGET_CELLS));
g_assert (memory_);
g_assert (renderer);
diff --git a/mixgtk/mixgtk_mixvm.h b/mixgtk/mixgtk_mixvm.h
index f74b409..2288715 100644
--- a/mixgtk/mixgtk_mixvm.h
+++ b/mixgtk/mixgtk_mixvm.h
@@ -1,24 +1,24 @@
/* -*-c-*- ---------------- mixgtk_mixvm.h :
* Functions dealing with the mixvm widgets
* ------------------------------------------------------------------
- * Last change: Time-stamp: <01/03/09 22:12:04 jose>
+ * $Id: mixgtk_mixvm.h,v 1.4 2004/06/30 14:07:53 jao Exp $
* ------------------------------------------------------------------
- * Copyright (C) 2001 Free Software Foundation, Inc.
- *
+ * Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
+ *
*/
@@ -31,7 +31,7 @@
/* initialise the mixvm widgets */
extern gboolean
-mixgtk_mixvm_init (mix_vm_t *vm, mixgtk_dialog_id_t top);
+mixgtk_mixvm_init (mix_vm_t *vm);
/* update register widgets */
extern void
@@ -64,23 +64,6 @@ mixgtk_mixvm_update_times (void);
extern void
mixgtk_mixvm_update_vm_widgets (void);
-/* callbacks */
-extern void
-on_cmp_e_toggled (GtkWidget *widget, gpointer data);
-
-extern void
-on_cmp_g_toggled (GtkWidget *widget, gpointer data);
-
-extern void
-on_cmp_l_toggled (GtkWidget *widget, gpointer data);
-
-extern void
-on_overflow_toggled (GtkWidget *widget, gpointer data);
-
-extern void
-on_loc_arrow_clicked (GtkWidget *widget, gpointer data);
-
-
#endif /* MIXGTK_MIXVM_H */
diff --git a/mixgtk/mixgtk_widgets.c b/mixgtk/mixgtk_widgets.c
index 6ffff1e..80bb592 100644
--- a/mixgtk/mixgtk_widgets.c
+++ b/mixgtk/mixgtk_widgets.c
@@ -37,8 +37,6 @@ static const gchar * dnames_[] = {
"word_dialog",
"about_dialog",
"goto_dialog",
- "color_dialog",
- "colorsel_dialog",
"fontsel_dialog",
"devform_dialog",
"external_dialog",
@@ -47,18 +45,19 @@ static const gchar * dnames_[] = {
"devdir_dialog"
};
-const gchar *SPLIT_MAIN_NAME_ = "split_main_window";
-const gchar *MAIN_NAME_ = "main_window";
-
#define DLG_NO_ (sizeof (dnames_) / sizeof(dnames_[0]))
/* widget names */
static const gchar *names_[] = {
"main_statusbar",
+ "main_notebook",
"mixvm_widget",
+ "mixvm_container",
"command_prompt",
"command_log",
- "mixal_clist",
+ "dev_container",
+ "mixal_container",
+ "mixal_statusbar",
"rA_entry",
"rX_entry",
"rJ_entry",
@@ -76,24 +75,16 @@ static const gchar *names_[] = {
"elapsed_label",
"program_label",
"uptime_label",
- "memory_scroll",
"devices_container",
"loc_entry",
+ "goto_entry",
NULL
};
#define WIDGET_NO_ (sizeof (names_) / sizeof (names_[0]))
-#define VERSION_LABEL_ "version_label"
-#define GPL_TEXT_ "gpl_text"
-#define AUTOSAVE_ITEM_ "save_on_exit"
-
-static gboolean split_;
-
/* the glade specs */
static GladeXML *xml_[DLG_NO_] = {NULL};
-/* the about dialog */
-static GtkWidget *about_ = NULL;
/* the xml file name */
static const gchar *file_ = NULL;
@@ -105,39 +96,10 @@ static void init_xml_ (mixgtk_dialog_id_t dlg)
g_assert (xml_[dlg] != NULL);
}
-static void
-init_autosave_ (void)
-{
- GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM
- (mixgtk_widget_factory_get_child_by_name
- (MIXGTK_MAIN, AUTOSAVE_ITEM_));
- if (item)
- {
- gtk_check_menu_item_set_active (item, mixgtk_config_is_autosave ());
- }
-}
-
-static void
-init_about_ (void)
-{
- GtkWidget *label;
- about_ = mixgtk_widget_factory_get_dialog (MIXGTK_ABOUT_DIALOG);
- g_assert (about_ != NULL);
- label = mixgtk_widget_factory_get_child_by_name (MIXGTK_ABOUT_DIALOG,
- VERSION_LABEL_);
- g_assert (label != NULL);
- gtk_label_set_text (GTK_LABEL(label), VERSION);
- gtk_widget_show (label);
-}
-
/* create a new factory from an xml glade file */
gboolean
mixgtk_widget_factory_init (void)
{
- gboolean split = mixgtk_config_is_split ();
-
- about_ = NULL;
-
if (!file_)
{
const gchar *glade_file = GLADE_FILE;
@@ -154,12 +116,7 @@ mixgtk_widget_factory_init (void)
for (k = 0; k < DLG_NO_; ++k) if (xml_[k]) xml_[k] = NULL;
}
- split_ = split;
-
- dnames_[MIXGTK_MAIN] = split_? SPLIT_MAIN_NAME_ : MAIN_NAME_;
-
init_xml_ (MIXGTK_MAIN);
- init_autosave_ ();
return TRUE;
}
@@ -167,8 +124,8 @@ mixgtk_widget_factory_init (void)
GtkWidget *
mixgtk_widget_factory_get (mixgtk_dialog_id_t dlg, mixgtk_widget_id_t widget)
{
- g_return_val_if_fail (widget < WIDGET_NO_, NULL);
- if (!split_ && dlg < MIXGTK_WORD_DIALOG) dlg = MIXGTK_MAIN;
+ g_assert (widget < WIDGET_NO_);
+
return mixgtk_widget_factory_get_child_by_name (dlg, names_[widget]);
}
@@ -176,7 +133,8 @@ mixgtk_widget_factory_get (mixgtk_dialog_id_t dlg, mixgtk_widget_id_t widget)
GtkWidget *
mixgtk_widget_factory_get_dialog (mixgtk_dialog_id_t dlg)
{
- if (!split_ && dlg < MIXGTK_WORD_DIALOG) dlg = MIXGTK_MAIN;
+ g_assert (dlg < DLG_NO_);
+
if (!xml_[dlg]) init_xml_ (dlg);
return glade_xml_get_widget (xml_[dlg], dnames_[dlg]);
}
@@ -185,18 +143,10 @@ GtkWidget *
mixgtk_widget_factory_get_child_by_name (mixgtk_dialog_id_t dlg,
const gchar *name)
{
- g_return_val_if_fail (dlg < DLG_NO_, NULL);
- g_return_val_if_fail (name != NULL, NULL);
- if (!split_ && dlg < MIXGTK_WORD_DIALOG) dlg = MIXGTK_MAIN;
+ g_assert (dlg < DLG_NO_);
+ g_assert (name != NULL);
if (!xml_[dlg]) init_xml_ (dlg);
return glade_xml_get_widget (xml_[dlg], name);
}
-/* about box */
-void
-on_about_activate (GtkWidget *w, gpointer data)
-{
- if (!about_) init_about_ ();
- gtk_widget_show (about_);
-}
diff --git a/mixgtk/mixgtk_widgets.h b/mixgtk/mixgtk_widgets.h
index 5be3fb6..023c068 100644
--- a/mixgtk/mixgtk_widgets.h
+++ b/mixgtk/mixgtk_widgets.h
@@ -1,7 +1,7 @@
/* -*-c-*- ---------------- mixgtk_widgets.h :
* glade-based factory of mixvm widgets
* ------------------------------------------------------------------
- * Last change: Time-stamp: <2001-04-27 23:32:16 jao>
+ * $Id: mixgtk_widgets.h,v 1.13 2004/06/30 14:07:52 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2004 Free Software Foundation, Inc.
*
@@ -37,23 +37,25 @@ typedef enum {
MIXGTK_WORD_DIALOG, /* input dialog for a mix word */
MIXGTK_ABOUT_DIALOG,
MIXGTK_GOTO_DIALOG,
- MIXGTK_COLOR_DIALOG, /* color customization dialog */
- MIXGTK_COLORSEL_DIALOG, /* color selection dialog */
MIXGTK_FONTSEL_DIALOG, /* font selection dialog */
MIXGTK_DEVFORM_DIALOG, /* device format config dialog */
MIXGTK_EXTERNPROG_DIALOG, /* external programs dialog */
MIXGTK_SYMBOLS_DIALOG, /* symbol table dialog */
MIXGTK_INPUT_DIALOG, /* console input dialog */
- MIXGTK_DEVDIR_DIALOG
+ MIXGTK_DEVDIR_DIALOG /* devices directory chooser */
} mixgtk_dialog_id_t;
/* enumeration of mixvm widget ids */
typedef enum {
MIXGTK_WIDGET_STATUSBAR,
+ MIXGTK_WIDGET_NOTEBOOK, /* the notebook */
MIXGTK_WIDGET_MIXVM, /* virtual machine */
+ MIXGTK_WIDGET_MIXVM_CONTAINER,
MIXGTK_WIDGET_PROMPT, /* command prompt */
MIXGTK_WIDGET_LOG, /* command output */
- MIXGTK_WIDGET_MIXAL, /* mixal source file */
+ MIXGTK_WIDGET_DEV_CONTAINER,
+ MIXGTK_WIDGET_MIXAL_CONTAINER,
+ MIXGTK_WIDGET_MIXAL_STATUSBAR,
MIXGTK_WIDGET_rA,
MIXGTK_WIDGET_rX,
MIXGTK_WIDGET_rJ,
@@ -71,9 +73,9 @@ typedef enum {
MIXGTK_WIDGET_LAPTIME,
MIXGTK_WIDGET_PROGTIME,
MIXGTK_WIDGET_UPTIME,
- MIXGTK_WIDGET_CELLS_SCROLL,
MIXGTK_WIDGET_DEVICES,
MIXGTK_WIDGET_LOC,
+ MIXGTK_WIDGET_GOTO_ENTRY,
MIXGTK_WIDGET_NONE
} mixgtk_widget_id_t;
diff --git a/mixgtk/mixgtk_wm.c b/mixgtk/mixgtk_wm.c
index 9a7e2ef..76072a8 100644
--- a/mixgtk/mixgtk_wm.c
+++ b/mixgtk/mixgtk_wm.c
@@ -1,32 +1,40 @@
/* -*-c-*- -------------- mixgtk_wm.c :
* Implementation of the functions declared in mixgtk_wm.h
* ------------------------------------------------------------------
- * $Id: mixgtk_wm.c,v 1.6 2002/03/29 16:30:49 jao Exp $
+ * $Id: mixgtk_wm.c,v 1.7 2004/06/30 14:07:52 jao Exp $
* ------------------------------------------------------------------
- * Copyright (C) 2001, 2002 Free Software Foundation, Inc.
- *
+ * Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
+ *
*/
#include <string.h>
+#include "mixgtk_wm.h"
+
#include "mixgtk_widgets.h"
#include "mixgtk_config.h"
-#include "mixgtk_wm.h"
+#include "mixgtk_device.h"
+#include "mixgtk_mixvm.h"
+#include "mixgtk_mixal.h"
+#include "mixgtk_widgets.h"
+#include "mixgtk_cmd_dispatcher.h"
+#include "mixgtk.h"
+
typedef struct window_info_t_
{
mixgtk_dialog_id_t dialog;
@@ -34,93 +42,121 @@ typedef struct window_info_t_
GtkCheckMenuItem *menu;
const gchar *menu_name;
const gchar *config_key;
- gboolean visible;
+ gboolean detached;
const gchar *toolbar_name;
+ void (*detach) (void);
+ void (*attach) (void);
} window_info_t_;
-static window_info_t_ infos_[] = {
- {MIXGTK_MIXVM_DIALOG, NULL, NULL, "mix_view", "MIX.view", FALSE, NULL},
- {MIXGTK_MIXAL_DIALOG, NULL, NULL, "mixal_view", "MIXAL.view", FALSE,
- "mixal_toolbar"},
- {MIXGTK_DEVICES_DIALOG, NULL, NULL, "devices_view", "Devices.view",
- FALSE, "devices_toolbar"}
-};
+static const gchar *DETACH_YES_ = "Yes";
+static const gchar *DETACH_NO_ = "No";
+static GtkWidget *about_ = NULL;
-static size_t INF_NO_ = sizeof (infos_) / sizeof (infos_[0]);
+static GtkContainer *mixvm_container_ = NULL;
+static GtkContainer *mixal_container_ = NULL;
+static GtkContainer *dev_container_ = NULL;
-static gboolean split_ = FALSE;
static const gchar *TB_MENU_NAME_ = "show_toolbars";
static GtkCheckMenuItem *tb_menu_ = NULL;
+static GtkNotebook *notebook_ = NULL;
+
+static mix_vm_t *vm_ = NULL;
+
+static void init_info_ (void);
+static void init_notebook_ (void);
+static void init_dispatcher_ (void);
+static void init_mixvm_ (void);
+static void init_mixal_ (void);
+static void init_dev_ (void);
+static void init_signals_ (void);
+static void init_visibility_ (void);
+static void init_tb_ (void);
+static void init_about_ (void);
+static void init_autosave_ (void);
+static void remove_page_ (gint page);
+static void add_page_ (GtkWidget *w, mixgtk_window_id_t id);
+static void mixvm_attach_ (void);
+static void mixvm_detach_ (void);
+static void mixal_attach_ (void);
+static void mixal_detach_ (void);
+static void dev_attach_ (void);
+static void dev_detach_ (void);
+static void on_nb_switch_ (GtkNotebook *notebook, GtkNotebookPage *page,
+ guint page_num, gpointer user_data);
-static const gchar *VIEW_YES_ = "Yes";
-static const gchar *VIEW_NO_ = "No";
+static window_info_t_ infos_[] = {
+ {MIXGTK_MIXVM_DIALOG, NULL, NULL, "detach_vm", "MIX.detach",
+ FALSE, NULL, mixvm_detach_, mixvm_attach_},
+ {MIXGTK_MIXAL_DIALOG, NULL, NULL, "detach_source", "MIXAL.detach",
+ FALSE, "mixal_toolbar", mixal_detach_, mixal_attach_},
+ {MIXGTK_DEVICES_DIALOG, NULL, NULL, "detach_dev", "Devices.detach",
+ FALSE, "devices_toolbar", dev_detach_, dev_attach_}
+};
-/* flag marking that we are inside a restart process */
-static gboolean restart_ = FALSE;
+static size_t INF_NO_ = sizeof (infos_) / sizeof (infos_[0]);
+
gboolean
mixgtk_wm_init (void)
{
- split_ = mixgtk_config_is_split ();
- if (split_)
- {
- gint i;
- for (i = 0; i < INF_NO_; ++i)
- {
- const gchar *view = mixgtk_config_get (infos_[i].config_key);
- infos_[i].visible = !view || !strcmp (VIEW_YES_, view);
- if (!view) mixgtk_config_update (infos_[i].config_key, VIEW_YES_);
- infos_[i].widget =
- mixgtk_widget_factory_get_dialog (infos_[i].dialog);
- g_return_val_if_fail (infos_[i].widget, FALSE);
- infos_[i].menu = GTK_CHECK_MENU_ITEM
- (mixgtk_widget_factory_get_child_by_name
- (MIXGTK_MAIN, infos_[i].menu_name));
- g_return_val_if_fail (infos_[i].menu, FALSE);
- if (infos_[i].visible) gtk_widget_show (infos_[i].widget);
- gtk_check_menu_item_set_active (infos_[i].menu, infos_[i].visible);
- }
- }
- else
+ gint k;
+
+ init_info_ ();
+ init_notebook_ ();
+ init_dispatcher_ ();
+ init_mixvm_ ();
+ init_mixal_ ();
+ init_dev_ ();
+
+ for (k = 0; k < INF_NO_; ++k)
{
- gint k;
- for (k = 0; k < INF_NO_; ++k)
- if (infos_[k].widget) gtk_widget_destroy (infos_[k].widget);
+ if (infos_[k].detached)
+ mixgtk_wm_detach_window (k);
+ else
+ mixgtk_wm_attach_window (k);
}
- tb_menu_ = GTK_CHECK_MENU_ITEM
- (mixgtk_widget_factory_get_child_by_name (MIXGTK_MAIN,
- TB_MENU_NAME_));
- g_return_val_if_fail (tb_menu_, FALSE);
- gtk_check_menu_item_set_active (tb_menu_, mixgtk_config_show_toolbars ());
- mixgtk_wm_show_toolbars (mixgtk_config_show_toolbars ());
+ init_tb_ ();
+ init_about_ ();
+ init_autosave_ ();
+ init_visibility_ ();
+ init_signals_ ();
return TRUE;
}
void
-mixgtk_wm_show_window (mixgtk_window_id_t w)
+mixgtk_wm_detach_window (mixgtk_window_id_t w)
{
- g_return_if_fail (w < INF_NO_);
- if (!infos_[w].visible)
+ if (w < INF_NO_)
{
- infos_[w].visible = TRUE;
+ (*(infos_[w].detach)) ();
+ infos_[w].detached = TRUE;
gtk_check_menu_item_set_active (infos_[w].menu, TRUE);
- mixgtk_config_update (infos_[w].config_key, VIEW_YES_);
- gtk_widget_show (infos_[w].widget);
+ mixgtk_config_update (infos_[w].config_key, DETACH_YES_);
+ if (infos_[w].widget != NULL) gtk_widget_show (infos_[w].widget);
+ if (gtk_notebook_get_n_pages (notebook_) < 1)
+ gtk_widget_hide (GTK_WIDGET (notebook_));
+ gtk_widget_show (mixgtk_widget_factory_get_dialog (infos_[w].dialog));
}
}
void
-mixgtk_wm_hide_window (mixgtk_window_id_t w)
+mixgtk_wm_attach_window (mixgtk_window_id_t w)
{
- g_return_if_fail (w < INF_NO_);
- if (infos_[w].visible && !restart_)
+ if (w < INF_NO_)
{
- infos_[w].visible = FALSE;
+ gint page = gtk_notebook_page_num (notebook_, infos_[w].widget);
+
+ gtk_widget_hide (mixgtk_widget_factory_get_dialog (infos_[w].dialog));
+
+ if (page < 0) (*(infos_[w].attach)) ();
+
+ infos_[w].detached = FALSE;
gtk_check_menu_item_set_active (infos_[w].menu, FALSE);
- mixgtk_config_update (infos_[w].config_key, VIEW_NO_);
- gtk_widget_hide (infos_[w].widget);
+ mixgtk_config_update (infos_[w].config_key, DETACH_NO_);
+ if (gtk_notebook_get_n_pages (notebook_) == 1)
+ gtk_widget_show (GTK_WIDGET (notebook_));
}
}
@@ -128,92 +164,397 @@ void
mixgtk_wm_show_toolbars (gboolean show)
{
static const gchar *MAIN_TB_NAME = "main_toolbar";
+ int k;
+
GtkWidget *toolbar =
mixgtk_widget_factory_get_child_by_name (MIXGTK_MAIN, MAIN_TB_NAME);
+
if (toolbar != NULL)
{
if (show) gtk_widget_show (toolbar);
else gtk_widget_hide (toolbar);
}
-
- if (split_)
+
+ for (k = 0; k < INF_NO_; ++k)
{
- int k;
- for (k = 0; k < INF_NO_; ++k)
- {
- if (infos_[k].toolbar_name != NULL)
- {
- GtkWidget *tb = mixgtk_widget_factory_get_child_by_name
- (infos_[k].dialog, infos_[k].toolbar_name);
- if (show && tb) gtk_widget_show (tb);
- else if (tb) gtk_widget_hide (tb);
+ if (infos_[k].toolbar_name != NULL)
+ {
+ GtkWidget *tb = mixgtk_widget_factory_get_child_by_name
+ (infos_[k].dialog, infos_[k].toolbar_name);
+ if (tb)
+ {
+ if (show) gtk_widget_show (tb); else gtk_widget_hide (tb);
}
}
}
-
+
mixgtk_config_set_show_toolbars (show);
}
+
/* callbacks */
void
-on_view_toggled (GtkCheckMenuItem *item)
+on_detach_clicked (GtkWidget *ignored)
{
- if (!restart_)
+ gint page = gtk_notebook_get_current_page (notebook_);
+ if (page >= 0)
{
gint k;
+ GtkWidget *w = gtk_notebook_get_nth_page (notebook_, page);
+
for (k = 0; k < INF_NO_; ++k)
- if (item == infos_[k].menu) break;
- g_return_if_fail (k < INF_NO_);
- if (item->active)
- mixgtk_wm_show_window (k);
- else
- mixgtk_wm_hide_window (k);
- mixgtk_config_update (infos_[k].config_key,
- (item->active)? VIEW_YES_ : VIEW_NO_);
- infos_[k].visible = item->active;
+ if (infos_[k].widget == w) mixgtk_wm_detach_window (k);
}
}
void
-on_one_window_activate ()
+on_attach_toggled (GtkCheckMenuItem *item)
{
- mixgtk_config_set_split (FALSE);
- restart_ = TRUE;
- gtk_widget_destroy (mixgtk_widget_factory_get_dialog (MIXGTK_MAIN));
+ gint k;
+ for (k = 0; k < INF_NO_; ++k)
+ if (item == infos_[k].menu) break;
+ g_return_if_fail (k < INF_NO_);
+ if (item->active) mixgtk_wm_detach_window (k);
+ else mixgtk_wm_attach_window (k);
+ mixgtk_config_update (infos_[k].config_key,
+ (item->active)? DETACH_YES_ : DETACH_NO_);
}
void
-on_split_windows_activate ()
+on_window_hide (GtkWidget *w)
{
- mixgtk_config_set_split (TRUE);
- restart_ = TRUE;
- gtk_widget_destroy (mixgtk_widget_factory_get_dialog (MIXGTK_MAIN));
+ gint k;
+ for (k = 0; k < INF_NO_; ++k)
+ if (w == mixgtk_widget_factory_get_dialog (infos_[k].dialog)) break;
+ g_return_if_fail (k < INF_NO_);
+ mixgtk_wm_attach_window (k);
}
void
-on_window_hide (GtkWidget *w)
+on_show_toolbars_toggled (GtkCheckMenuItem *item)
+{
+ if (item->active != mixgtk_config_show_toolbars ())
+ mixgtk_wm_show_toolbars (item->active);
+}
+
+/* about box */
+void
+on_about_activate (GtkWidget *w, gpointer data)
+{
+ if (!about_) init_about_ ();
+ gtk_widget_show (about_);
+}
+
+
+static void
+init_info_ (void)
{
gint k;
for (k = 0; k < INF_NO_; ++k)
- if (w == infos_[k].widget) break;
- g_return_if_fail (k < INF_NO_);
- mixgtk_wm_hide_window (k);
+ {
+ const gchar *txt;
+
+ infos_[k].menu =
+ GTK_CHECK_MENU_ITEM
+ (mixgtk_widget_factory_get_child_by_name (MIXGTK_MAIN,
+ infos_[k].menu_name));
+ g_assert (infos_[k].menu != NULL);
+ txt = mixgtk_config_get (infos_[k].config_key);
+ infos_[k].detached = txt && !g_ascii_strcasecmp (txt, DETACH_YES_);
+ }
}
-
-void
-on_main_window_destroy (GtkWidget *w, gpointer data)
+
+static void
+init_notebook_ (void)
+{
+ notebook_ =
+ GTK_NOTEBOOK (mixgtk_widget_factory_get (MIXGTK_MAIN,
+ MIXGTK_WIDGET_NOTEBOOK));
+ g_assert (notebook_ != NULL);
+
+ gtk_notebook_set_tab_pos (notebook_, GTK_POS_TOP);
+ gtk_notebook_popup_disable (notebook_);
+ gtk_notebook_remove_page (notebook_, 0);
+
+ gtk_widget_show (GTK_WIDGET (notebook_));
+}
+
+static void
+add_page_ (GtkWidget *page, mixgtk_window_id_t id)
{
- if (restart_)
+ static const gchar *LABELS[] = {
+ N_("_Virtual machine"), N_("_Source"), N_("_Devices")
+ };
+
+ g_assert (page != NULL);
+ g_assert (id < INF_NO_);
+ g_assert (notebook_ != NULL);
+
+ gtk_notebook_append_page (notebook_, page,
+ gtk_label_new_with_mnemonic (LABELS[id]));
+ gtk_notebook_set_show_tabs (notebook_,
+ gtk_notebook_get_n_pages (notebook_) > 1);
+ gtk_widget_show (page);
+ gtk_widget_show (GTK_WIDGET (notebook_));
+}
+
+static void
+remove_page_ (gint page)
+{
+ gint pages;
+
+ g_assert (notebook_ != NULL);
+ gtk_notebook_remove_page (notebook_, page);
+
+ pages = gtk_notebook_get_n_pages (notebook_);
+ if (pages < 1) gtk_widget_hide (GTK_WIDGET (notebook_));
+ else gtk_notebook_set_show_tabs (notebook_, pages > 1);
+}
+
+static void
+init_signals_ (void)
+{
+ gint k;
+ for (k = 0; k < INF_NO_; ++k)
{
- mixgtk_restart ();
- restart_ = FALSE;
+ GObject *dialog =
+ G_OBJECT (mixgtk_widget_factory_get_dialog (infos_[k].dialog));
+
+ g_assert (dialog);
+
+ g_signal_connect (dialog, "destroy",
+ G_CALLBACK (on_window_hide), NULL);
+ g_signal_connect (dialog, "destroy_event",
+ G_CALLBACK (on_window_hide), NULL);
+ g_signal_connect (dialog, "delete_event",
+ G_CALLBACK (on_window_hide), NULL);
+ g_signal_connect (G_OBJECT (infos_[k].menu), "toggled",
+ G_CALLBACK (on_attach_toggled), NULL);
}
- else gtk_main_quit ();
+
+ g_signal_connect (G_OBJECT (notebook_), "switch-page",
+ G_CALLBACK (on_nb_switch_), NULL);
}
-void
-on_show_toolbars_toggled (GtkCheckMenuItem *item)
+static void
+init_visibility_ (void)
{
- if (!restart_ && item->active != mixgtk_config_show_toolbars ())
- mixgtk_wm_show_toolbars (item->active);
+ gint k;
+ for (k = 0; k < INF_NO_; ++k)
+ if (infos_[k].detached)
+ gtk_widget_show (mixgtk_widget_factory_get_dialog (infos_[k].dialog));
+ gtk_widget_show (mixgtk_widget_factory_get_dialog (MIXGTK_MAIN));
+}
+
+static void
+init_dispatcher_ (void)
+{
+ if (!mixgtk_cmd_dispatcher_init (MIXGTK_MAIN))
+ g_assert (FALSE);
+ vm_ = mixgtk_cmd_dispatcher_get_vm ();
+ g_assert (vm_ != NULL);
+}
+
+static void
+init_mixvm_ (void)
+{
+ GtkContainer *vm =
+ GTK_CONTAINER
+ (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG, MIXGTK_WIDGET_MIXVM));
+
+ mixvm_container_ =
+ GTK_CONTAINER (mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG,
+ MIXGTK_WIDGET_MIXVM_CONTAINER));
+
+ g_assert (mixvm_container_ != NULL);
+
+ g_assert (vm != NULL);
+ g_object_ref (G_OBJECT (vm));
+ infos_[MIXGTK_MIXVM_WINDOW].widget = GTK_WIDGET (vm);
+
+ mixgtk_mixvm_init (vm_);
+ mixgtk_mixvm_update_vm_widgets ();
+
+ gtk_widget_show (GTK_WIDGET (vm));
+
+}
+
+static void
+init_mixal_ (void)
+{
+ GtkWidget *page = gtk_scrolled_window_new (NULL, NULL);
+ GtkWidget *mixal = mixgtk_mixal_init (vm_);
+
+ g_assert (page != NULL);
+ g_assert (mixal != NULL);
+
+ g_object_ref (page);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (page),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+
+ gtk_container_add (GTK_CONTAINER (page), mixal);
+
+ infos_[MIXGTK_MIXAL_WINDOW].widget = page;
+
+ mixal_container_ =
+ GTK_CONTAINER (mixgtk_widget_factory_get (MIXGTK_MIXAL_DIALOG,
+ MIXGTK_WIDGET_MIXAL_CONTAINER));
+
+ g_assert (mixal_container_ != NULL);
+
+ gtk_container_add (mixal_container_, page);
+
+ gtk_widget_show (mixal);
+ gtk_widget_show (page);
+}
+
+static void
+init_dev_ (void)
+{
+ GtkWidget *page = gtk_scrolled_window_new (NULL, NULL);
+ GtkWidget *devs = mixgtk_device_init (vm_);
+
+ g_assert (page != NULL);
+ g_assert (devs != NULL);
+
+ g_object_ref (page);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (page),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+
+ gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (page), devs);
+
+ infos_[MIXGTK_DEVICES_WINDOW].widget = page;
+
+ dev_container_ =
+ GTK_CONTAINER (mixgtk_widget_factory_get (MIXGTK_DEVICES_DIALOG,
+ MIXGTK_WIDGET_DEV_CONTAINER));
+
+ g_assert (dev_container_ != NULL);
+
+ gtk_container_add (dev_container_, page);
+
+ gtk_widget_show (devs);
+ gtk_widget_show (page);
+}
+
+static void
+init_tb_ (void)
+{
+ tb_menu_ = GTK_CHECK_MENU_ITEM
+ (mixgtk_widget_factory_get_child_by_name (MIXGTK_MAIN,
+ TB_MENU_NAME_));
+ g_assert (tb_menu_ != NULL);
+
+ gtk_check_menu_item_set_active (tb_menu_, mixgtk_config_show_toolbars ());
+ mixgtk_wm_show_toolbars (mixgtk_config_show_toolbars ());
+
+ g_signal_connect (G_OBJECT (tb_menu_), "toggled",
+ G_CALLBACK (on_show_toolbars_toggled), NULL);
+}
+
+static void
+init_autosave_ (void)
+{
+#define AUTOSAVE_ITEM_ "save_on_exit"
+
+ GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM
+ (mixgtk_widget_factory_get_child_by_name (MIXGTK_MAIN, AUTOSAVE_ITEM_));
+ if (item)
+ {
+ gtk_check_menu_item_set_active (item, mixgtk_config_is_autosave ());
+ }
+}
+
+static void
+init_about_ (void)
+{
+#define VERSION_LABEL_ "version_label"
+#define GPL_TEXT_ "gpl_text"
+ GtkWidget *label;
+ about_ = mixgtk_widget_factory_get_dialog (MIXGTK_ABOUT_DIALOG);
+ g_assert (about_ != NULL);
+ label = mixgtk_widget_factory_get_child_by_name (MIXGTK_ABOUT_DIALOG,
+ VERSION_LABEL_);
+ g_assert (label != NULL);
+ gtk_label_set_text (GTK_LABEL (label), VERSION);
+ gtk_widget_show (label);
+}
+
+static void
+mixvm_attach_ (void)
+{
+ gtk_container_remove (mixvm_container_, infos_[MIXGTK_MIXVM_WINDOW].widget);
+ add_page_ (infos_[MIXGTK_MIXVM_WINDOW].widget, MIXGTK_MIXVM_WINDOW);
+}
+
+static void
+mixvm_detach_ (void)
+{
+ gtk_widget_reparent (infos_[MIXGTK_MIXVM_WINDOW].widget,
+ GTK_WIDGET (mixvm_container_));
+}
+
+static void
+mixal_attach_ (void)
+{
+ static GtkStatusbar *stat = NULL;
+
+ if (stat == NULL)
+ {
+ stat =
+ GTK_STATUSBAR
+ (mixgtk_widget_factory_get (MIXGTK_MAIN, MIXGTK_WIDGET_STATUSBAR));
+ g_assert (stat);
+
+ }
+
+ mixgtk_mixal_reparent (stat);
+ gtk_container_remove (mixal_container_, infos_[MIXGTK_MIXAL_WINDOW].widget);
+ add_page_ (infos_[MIXGTK_MIXAL_WINDOW].widget, MIXGTK_MIXAL_WINDOW);
+}
+
+static void
+mixal_detach_ (void)
+{
+ static GtkStatusbar *stat = NULL;
+
+ if (stat == NULL)
+ {
+ stat =
+ GTK_STATUSBAR
+ (mixgtk_widget_factory_get (MIXGTK_MIXAL_DIALOG,
+ MIXGTK_WIDGET_MIXAL_STATUSBAR));
+ g_assert (stat);
+ }
+ else
+ gtk_widget_reparent (infos_[MIXGTK_MIXAL_WINDOW].widget,
+ GTK_WIDGET (mixal_container_));
+
+ mixgtk_mixal_reparent (stat);
+}
+
+static void
+dev_attach_ (void)
+{
+ gtk_container_remove (dev_container_, infos_[MIXGTK_DEVICES_WINDOW].widget);
+ add_page_ (infos_[MIXGTK_DEVICES_WINDOW].widget, MIXGTK_DEVICES_WINDOW);
+}
+
+static void
+dev_detach_ (void)
+{
+ gtk_widget_reparent (infos_[MIXGTK_DEVICES_WINDOW].widget,
+ GTK_WIDGET (dev_container_));
+}
+
+static void
+on_nb_switch_ (GtkNotebook *notebook, GtkNotebookPage *page,
+ guint page_num, gpointer user_data)
+{
+ if (!infos_[MIXGTK_MIXAL_WINDOW].detached
+ && page != NULL
+ && GTK_WIDGET (page) != infos_[MIXGTK_MIXAL_WINDOW].widget)
+ mixgtk_mixal_pop_status ();
}
diff --git a/mixgtk/mixgtk_wm.h b/mixgtk/mixgtk_wm.h
index 6a51b9f..c186b33 100644
--- a/mixgtk/mixgtk_wm.h
+++ b/mixgtk/mixgtk_wm.h
@@ -1,24 +1,24 @@
/* -*-c-*- ---------------- mixgtk_wm.h :
- * FUnctions for window management
+ * Functions for window management
* ------------------------------------------------------------------
- * Last change: Time-stamp: <01/02/12 00:23:41 jose>
+ * $Id: mixgtk_wm.h,v 1.3 2004/06/30 14:07:51 jao Exp $
* ------------------------------------------------------------------
- * Copyright (C) 2001 Free Software Foundation, Inc.
- *
+ * Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
+ *
*/
@@ -37,10 +37,10 @@ extern gboolean
mixgtk_wm_init (void);
extern void
-mixgtk_wm_show_window (mixgtk_window_id_t w);
+mixgtk_wm_attach_window (mixgtk_window_id_t w);
extern void
-mixgtk_wm_hide_window (mixgtk_window_id_t w);
+mixgtk_wm_detach_window (mixgtk_window_id_t w);
extern void
mixgtk_wm_show_toolbars (gboolean show);