summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2004-06-24 01:40:46 +0000
committerJose Antonio Ortega Ruiz <jao@gnu.org>2004-06-24 01:40:46 +0000
commit2c92c7e85faa068d4037c361df91ebed79e87916 (patch)
tree90187bfd97de14251d384fd0400ff93c23596f2e
parent39602cc09f0c9ecab59670a4a47348fc063653a1 (diff)
downloadmdk-2c92c7e85faa068d4037c361df91ebed79e87916.tar.gz
mdk-2c92c7e85faa068d4037c361df91ebed79e87916.tar.bz2
almost complete (barring bugs) reimplementation of all gmixvm functionality in non-split mode for gtk 2.0.
-rw-r--r--mixgtk/mixgtk.c10
-rw-r--r--mixgtk/mixgtk.glade1616
-rw-r--r--mixgtk/mixgtk_cmd_dispatcher.c20
-rw-r--r--mixgtk/mixgtk_device.c279
-rw-r--r--mixgtk/mixgtk_device.h12
-rw-r--r--mixgtk/mixgtk_fontsel.c240
-rw-r--r--mixgtk/mixgtk_fontsel.h32
-rw-r--r--mixgtk/mixgtk_mixal.c16
-rw-r--r--mixgtk/mixgtk_mixvm.c22
-rw-r--r--mixgtk/mixgtk_widgets.c2
-rw-r--r--mixgtk/mixgtk_widgets.h2
11 files changed, 562 insertions, 1689 deletions
diff --git a/mixgtk/mixgtk.c b/mixgtk/mixgtk.c
index 3b926b4..97f6a16 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.16 2004/06/23 10:50:10 jao Exp $
+ * $Id: mixgtk.c,v 1.17 2004/06/24 01:40:48 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
*
@@ -36,7 +36,7 @@
#include "mixgtk.h"
static const gchar *SPLIT_ARG_ = "-s";
-static const gchar *SPLIT_LONG_ARG_ = "--s";
+static const gchar *SPLIT_LONG_ARG_ = "--split";
gboolean
mixgtk_restart (void)
@@ -49,8 +49,6 @@ mixgtk_restart (void)
return FALSE;
}
- mixgtk_fontsel_load_defaults ();
-
if (!mixgtk_cmd_dispatcher_init (MIXGTK_MAIN))
{
g_error (_("Unable to initialise application (command dispatcher)\n"));
@@ -71,9 +69,9 @@ mixgtk_restart (void)
return FALSE;
}
- if (!mixgtk_device_init (GTK_NOTEBOOK
+ if (!mixgtk_device_init (GTK_CONTAINER
(mixgtk_widget_factory_get
- (MIXGTK_DEVICES_DIALOG, MIXGTK_WIDGET_DEVICE)),
+ (MIXGTK_DEVICES_DIALOG, MIXGTK_WIDGET_DEVICES)),
vm))
{
g_error (_("Unable to initialise application (devices)\n"));
diff --git a/mixgtk/mixgtk.glade b/mixgtk/mixgtk.glade
index b246fff..a73dfc6 100644
--- a/mixgtk/mixgtk.glade
+++ b/mixgtk/mixgtk.glade
@@ -49,7 +49,7 @@
<accelerator key="F3" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image80">
+ <widget class="GtkImage" id="image91">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -72,7 +72,7 @@
<accelerator key="F4" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image81">
+ <widget class="GtkImage" id="image92">
<property name="visible">True</property>
<property name="stock">gtk-justify-fill</property>
<property name="icon_size">1</property>
@@ -95,7 +95,7 @@
<accelerator key="F5" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image82">
+ <widget class="GtkImage" id="image93">
<property name="visible">True</property>
<property name="stock">gtk-execute</property>
<property name="icon_size">1</property>
@@ -124,7 +124,7 @@
<accelerator key="Q" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image83">
+ <widget class="GtkImage" id="image94">
<property name="visible">True</property>
<property name="stock">gtk-quit</property>
<property name="icon_size">1</property>
@@ -199,7 +199,7 @@
<accelerator key="R" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image84">
+ <widget class="GtkImage" id="image95">
<property name="visible">True</property>
<property name="stock">gtk-go-forward</property>
<property name="icon_size">1</property>
@@ -222,7 +222,7 @@
<accelerator key="N" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image85">
+ <widget class="GtkImage" id="image96">
<property name="visible">True</property>
<property name="stock">gtk-goto-last</property>
<property name="icon_size">1</property>
@@ -245,7 +245,7 @@
<accelerator key="C" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image86">
+ <widget class="GtkImage" id="image97">
<property name="visible">True</property>
<property name="stock">gtk-clear</property>
<property name="icon_size">1</property>
@@ -268,7 +268,7 @@
<accelerator key="Y" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image87">
+ <widget class="GtkImage" id="image98">
<property name="visible">True</property>
<property name="stock">gtk-index</property>
<property name="icon_size">1</property>
@@ -301,7 +301,7 @@
<property name="use_underline">True</property>
<child internal-child="image">
- <widget class="GtkImage" id="image88">
+ <widget class="GtkImage" id="image99">
<property name="visible">True</property>
<property name="stock">gtk-select-font</property>
<property name="icon_size">1</property>
@@ -365,12 +365,24 @@
</child>
<child>
- <widget class="GtkMenuItem" id="device_output1">
+ <widget class="GtkImageMenuItem" 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"/>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image100">
+ <property name="visible">True</property>
+ <property name="stock">gtk-zoom-100</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>
</widget>
</child>
@@ -382,7 +394,7 @@
<signal name="activate" handler="on_devdir_activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image89">
+ <widget class="GtkImage" id="image101">
<property name="visible">True</property>
<property name="stock">gtk-home</property>
<property name="icon_size">1</property>
@@ -403,7 +415,7 @@
<signal name="activate" handler="on_external_programs_activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image90">
+ <widget class="GtkImage" id="image102">
<property name="visible">True</property>
<property name="stock">gtk-preferences</property>
<property name="icon_size">1</property>
@@ -431,7 +443,7 @@
<signal name="activate" handler="on_save_activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image91">
+ <widget class="GtkImage" id="image103">
<property name="visible">True</property>
<property name="stock">gtk-save</property>
<property name="icon_size">1</property>
@@ -532,7 +544,7 @@
<widget class="GtkToolButton" id="edit_button">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Edit MIXAL source</property>
- <property name="label" translatable="yes"></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>
@@ -550,7 +562,7 @@
<widget class="GtkToolButton" id="run_button">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Run</property>
- <property name="label" translatable="yes"></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>
@@ -568,7 +580,7 @@
<widget class="GtkToolButton" id="step_button">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Next</property>
- <property name="label" translatable="yes"></property>
+ <property name="label" translatable="yes">Next</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-goto-last</property>
<property name="visible_horizontal">True</property>
@@ -586,7 +598,7 @@
<widget class="GtkToolButton" id="clear_button">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Clear breakpoints</property>
- <property name="label" translatable="yes"></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>
@@ -604,7 +616,7 @@
<widget class="GtkToolButton" id="symbols_button">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Symbol table</property>
- <property name="label" translatable="yes"></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>
@@ -635,7 +647,7 @@
<widget class="GtkToolButton" id="button28">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Device directory</property>
- <property name="label" translatable="yes"></property>
+ <property name="label" translatable="yes">Devdir</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-home</property>
<property name="visible_horizontal">True</property>
@@ -653,9 +665,9 @@
<widget class="GtkToolButton" id="button30">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Output format</property>
- <property name="label" translatable="yes"></property>
+ <property name="label" translatable="yes">Format</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>
@@ -671,7 +683,7 @@
<widget class="GtkToolButton" id="button31">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">External programs</property>
- <property name="label" translatable="yes"></property>
+ <property name="label" translatable="yes">Programs</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-properties</property>
<property name="visible_horizontal">True</property>
@@ -738,7 +750,7 @@
<property name="show_border">True</property>
<property name="tab_pos">GTK_POS_TOP</property>
<property name="scrollable">False</property>
- <property name="enable_popup">False</property>
+ <property name="enable_popup">True</property>
<signal name="switch_page" handler="on_notebook_switch_page"/>
<child>
@@ -1863,36 +1875,23 @@
</child>
<child>
- <widget class="GtkNotebook" id="devices_notebook">
+ <widget class="GtkScrolledWindow" id="scrolledwindow37">
<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_RIGHT</property>
- <property name="scrollable">True</property>
- <property name="enable_popup">False</property>
-
- <child>
- <placeholder/>
- </child>
+ <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="GtkLabel" id="label1436">
+ <widget class="GtkViewport" id="devices_container">
<property name="visible">True</property>
- <property name="label" translatable="yes"></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>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+
+ <child>
+ <placeholder/>
+ </child>
</widget>
- <packing>
- <property name="type">tab</property>
- </packing>
</child>
</widget>
<packing>
@@ -3335,7 +3334,7 @@ Free Software Foundation, Inc.</property>
<property name="title" translatable="yes">Select Font</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
+ <property name="modal">True</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="decorated">True</property>
@@ -3354,7 +3353,6 @@ Free Software Foundation, Inc.</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_fontsel_cancel_clicked"/>
</widget>
</child>
@@ -3365,7 +3363,6 @@ Free Software Foundation, Inc.</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_fontsel_apply_clicked"/>
</widget>
</child>
@@ -3376,7 +3373,6 @@ Free Software Foundation, Inc.</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_fontsel_ok_clicked"/>
</widget>
</child>
@@ -3399,6 +3395,8 @@ Free Software Foundation, Inc.</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">True</property>
+ <property name="default_width">320</property>
+ <property name="default_height">140</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="decorated">True</property>
@@ -3423,169 +3421,55 @@ Free Software Foundation, Inc.</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<child>
- <widget class="GtkHButtonBox" id="hbuttonbox8">
+ <widget class="GtkButton" id="button37">
<property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
- <property name="spacing">30</property>
-
- <child>
- <widget class="GtkButton" id="devok_button">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_devok_button_clicked"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="devapp_button">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-apply</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_devapp_button_clicked"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="devcancel_button">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_devcancel_button_clicked"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFixed" id="fixed2">
- <property name="visible">True</property>
-
- <child>
- <widget class="GtkCombo" id="dev_combo">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="value_in_list">True</property>
- <property name="allow_empty">True</property>
- <property name="case_sensitive">False</property>
- <property name="enable_arrow_keys">True</property>
- <property name="enable_arrows_always">False</property>
-
- <child internal-child="entry">
- <widget class="GtkEntry" id="combo-entry1">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Choose a device</property>
- <property name="can_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="changed" handler="on_deventry_changed"/>
- </widget>
- </child>
-
- <child internal-child="list">
- <widget class="GtkList" id="convertwidget11">
- <property name="visible">True</property>
- <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-
- <child>
- <widget class="GtkListItem" id="convertwidget12">
- <property name="visible">True</property>
-
- <child>
- <widget class="GtkLabel" id="convertwidget13">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></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</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
</widget>
- <packing>
- <property name="x">135</property>
- <property name="y">46</property>
- </packing>
</child>
<child>
- <widget class="GtkRadioButton" id="wordradio">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
+ <widget class="GtkButton" id="button38">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Show output as MIX words</property>
+ <property name="can_default">True</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">Word</property>
- <property name="use_underline">True</property>
+ <property name="label">gtk-apply</property>
+ <property name="use_stock">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="response_id">-10</property>
</widget>
- <packing>
- <property name="x">104</property>
- <property name="y">96</property>
- </packing>
</child>
<child>
- <widget class="GtkRadioButton" id="decradio">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
+ <widget class="GtkButton" id="button39">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Show output as decimal numbers</property>
+ <property name="can_default">True</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">Dec</property>
- <property name="use_underline">True</property>
+ <property name="label">gtk-ok</property>
+ <property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">wordradio</property>
- <signal name="toggled" handler="on_decradio_toggled"/>
+ <property name="response_id">-5</property>
</widget>
- <packing>
- <property name="x">176</property>
- <property name="y">96</property>
- </packing>
</child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkFixed" id="fixed2">
+ <property name="visible">True</property>
<child>
<widget class="GtkButton" id="devset_button">
@@ -3601,17 +3485,17 @@ Free Software Foundation, Inc.</property>
<signal name="clicked" handler="on_devset_button_clicked"/>
</widget>
<packing>
- <property name="x">16</property>
- <property name="y">112</property>
+ <property name="x">233</property>
+ <property name="y">31</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label233">
+ <widget class="GtkLabel" id="label232">
<property name="width_request">0</property>
<property name="height_request">0</property>
<property name="visible">True</property>
- <property name="label" translatable="yes">Format</property>
+ <property name="label" translatable="yes">Device</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
@@ -3623,17 +3507,17 @@ Free Software Foundation, Inc.</property>
<property name="ypad">0</property>
</widget>
<packing>
- <property name="x">48</property>
- <property name="y">80</property>
+ <property name="x">24</property>
+ <property name="y">10</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label232">
+ <widget class="GtkLabel" id="label233">
<property name="width_request">0</property>
<property name="height_request">0</property>
<property name="visible">True</property>
- <property name="label" translatable="yes">Device</property>
+ <property name="label" translatable="yes">Format</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
@@ -3646,14 +3530,88 @@ Free Software Foundation, Inc.</property>
</widget>
<packing>
<property name="x">24</property>
- <property name="y">8</property>
+ <property name="y">38</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkComboBoxEntry" id="dev_combo">
+ <property name="width_request">183</property>
+ <property name="height_request">25</property>
+ <property name="visible">True</property>
+ <property name="items" translatable="yes">tape0
+tape1
+tape2
+tape3
+tape4
+tape5
+tape6
+tape7
+disk0
+disk1
+disk2
+disk3
+disk4
+disk5
+disk6
+disk7</property>
+ <signal name="changed" handler="on_dev_combo_changed" last_modification_time="Wed, 23 Jun 2004 11:34:16 GMT"/>
+ </widget>
+ <packing>
+ <property name="x">90</property>
+ <property name="y">2</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="wordradio">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Show output as MIX words</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Word</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>
+ </widget>
+ <packing>
+ <property name="x">89</property>
+ <property name="y">34</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="decradio">
+ <property name="width_request">0</property>
+ <property name="height_request">0</property>
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Show output as decimal numbers</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Decimal</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">wordradio</property>
+ <signal name="toggled" handler="on_decradio_toggled"/>
+ </widget>
+ <packing>
+ <property name="x">154</property>
+ <property name="y">34</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="fill">False</property>
+ <property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
</widget>
@@ -4049,7 +4007,7 @@ Free Software Foundation, Inc.</property>
<property name="tooltip" translatable="yes">Run</property>
<property name="label" translatable="yes">Run</property>
<property name="use_underline">True</property>
- <property name="icon">run.xpm</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>
@@ -4067,7 +4025,7 @@ Free Software Foundation, Inc.</property>
<property name="tooltip" translatable="yes">Next</property>
<property name="label" translatable="yes">Step</property>
<property name="use_underline">True</property>
- <property name="icon">next.xpm</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>
@@ -4085,7 +4043,7 @@ Free Software Foundation, Inc.</property>
<property name="tooltip" translatable="yes">Clear breakpoints</property>
<property name="label" translatable="yes">Clear</property>
<property name="use_underline">True</property>
- <property name="icon">clear.xpm</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>
@@ -4103,7 +4061,7 @@ Free Software Foundation, Inc.</property>
<property name="tooltip" translatable="yes">Symbol table</property>
<property name="label" translatable="yes">Symbols</property>
<property name="use_underline">True</property>
- <property name="icon">symbols.xpm</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>
@@ -4134,7 +4092,7 @@ Free Software Foundation, Inc.</property>
<property name="tooltip" translatable="yes">Source code font</property>
<property name="label" translatable="yes">Font</property>
<property name="use_underline">True</property>
- <property name="icon">font.xpm</property>
+ <property name="stock_id">gtk-select-font</property>
<property name="visible_horizontal">True</property>
<property name="visible_vertical">True</property>
<property name="is_important">False</property>
@@ -4145,24 +4103,6 @@ Free Software Foundation, Inc.</property>
<property name="homogeneous">True</property>
</packing>
</child>
-
- <child>
- <widget class="GtkToolButton" id="button23">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Colors</property>
- <property name="label" translatable="yes">Colors</property>
- <property name="use_underline">True</property>
- <property name="icon">colors.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_colors_activate"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
</widget>
<packing>
<property name="padding">0</property>
@@ -4254,12 +4194,12 @@ Free Software Foundation, Inc.</property>
<widget class="GtkToolButton" id="devdir_button">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Device directory</property>
- <property name="label" translatable="yes">Device dir</property>
+ <property name="label" translatable="yes">Directory</property>
<property name="use_underline">True</property>
- <property name="icon">devdir.xpm</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>
+ <property name="is_important">True</property>
<signal name="clicked" handler="on_devdir_activate"/>
</widget>
<packing>
@@ -4274,7 +4214,7 @@ Free Software Foundation, Inc.</property>
<property name="tooltip" translatable="yes">Output format</property>
<property name="label" translatable="yes">Output</property>
<property name="use_underline">True</property>
- <property name="icon">output.xpm</property>
+ <property name="stock_id">gtk-find-and-replace</property>
<property name="visible_horizontal">True</property>
<property name="visible_vertical">True</property>
<property name="is_important">False</property>
@@ -4292,7 +4232,7 @@ Free Software Foundation, Inc.</property>
<property name="tooltip" translatable="yes">Output font</property>
<property name="label" translatable="yes">Font</property>
<property name="use_underline">True</property>
- <property name="icon">font.xpm</property>
+ <property name="stock_id">gtk-select-font</property>
<property name="visible_horizontal">True</property>
<property name="visible_vertical">True</property>
<property name="is_important">False</property>
@@ -4312,37 +4252,17 @@ Free Software Foundation, Inc.</property>
</child>
<child>
- <widget class="GtkNotebook" id="devices_notebook">
+ <widget class="GtkScrolledWindow" id="devices_container">
<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">True</property>
- <property name="enable_popup">False</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>
<child>
<placeholder/>
</child>
-
- <child>
- <widget class="GtkLabel" id="label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">label</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="type">tab</property>
- </packing>
- </child>
</widget>
<packing>
<property name="padding">0</property>
@@ -4520,1103 +4440,133 @@ Free Software Foundation, Inc.</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
- <widget class="GtkHBox" id="hbox29">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkVBox" id="vbox7">
- <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="frame24">
- <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="table2">
- <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="label1415">
- <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="label1416">
- <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="label1417">
- <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="entry52">
- <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">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="entry53">
- <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="entry54">
- <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="label1418">
- <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="label1419">
- <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="label1420">
- <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="label1421">
- <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="label1422">
- <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="label1423">
- <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="entry55">
- <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="entry56">
- <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="entry57">
- <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="entry58">
- <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="entry59">
- <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="hbox30">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkEntry" id="entry60">
- <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="label1424">
- <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="hbox31">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkFrame" id="frame25">
- <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="hbox32">
- <property name="border_width">1</property>
- <property name="visible">True</property>
- <property name="homogeneous">True</property>
- <property name="spacing">5</property>
-
- <child>
- <widget class="GtkRadioButton" id="radiobutton11">
- <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="radiobutton12">
- <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>
- <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="radiobutton13">
- <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>
- <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>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label1425">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Comparison flag </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>
- <widget class="GtkFrame" id="frame26">
- <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="hbox33">
- <property name="border_width">2</property>
- <property name="visible">True</property>
- <property name="homogeneous">True</property>
- <property name="spacing">2</property>
-
- <child>
- <widget class="GtkCheckButton" id="checkbutton1">
- <property name="border_width">3</property>
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Click to toggle</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Off</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"/>
- </widget>
- <packing>
- <property name="padding">5</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label1426">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Overflow toggle</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">15</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame27">
- <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="hbox34">
- <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="entry61">
- <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="button34">
- <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="image5">
- <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="label1427">
- <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="frame28">
- <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="hbox35">
- <property name="border_width">5</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">5</property>
+ <placeholder/>
+ </child>
- <child>
- <widget class="GtkLabel" id="label1428">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">Up:</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="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkLabel" id="label1414">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">MIX Virtual Machine </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>
+ </child>
+</widget>
- <child>
- <widget class="GtkLabel" id="label1429">
- <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>
+<widget class="GtkDialog" id="input_dialog">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">MIX Console input</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">True</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_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="has_separator">True</property>
+ <signal name="destroy_event" handler="gtk_widget_hide" last_modification_time="Wed, 23 Jun 2004 20:54:59 GMT"/>
+ <signal name="close" handler="gtk_widget_hide" last_modification_time="Wed, 23 Jun 2004 20:55:16 GMT"/>
- <child>
- <widget class="GtkLabel" id="label1430">
- <property name="width_request">0</property>
- <property name="height_request">0</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">Lap:</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="padding">3</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox12">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
- <child>
- <widget class="GtkLabel" id="label1431">
- <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 internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area12">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
- <child>
- <widget class="GtkLabel" id="label1432">
- <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_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="padding">2</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkButton" id="okbutton1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-ok</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkLabel" id="label1433">
- <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="GtkVBox" id="vbox7">
+ <property name="border_width">3</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">True</property>
+ <property name="spacing">0</property>
- <child>
- <widget class="GtkLabel" id="label1434">
- <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>
+ <child>
+ <widget class="GtkLabel" id="label1438">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Enter up to 70 characters</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="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame29">
- <property name="border_width">7</property>
+ <widget class="GtkEntry" id="input_entry">
<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="scrolledwindow32">
- <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="treeview2">
- <property name="border_width">1</property>
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Click cell to change value</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">True</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <signal name="select_row" handler="on_memory_cells_select_row" after="yes"/>
- <signal name="click_column" handler="on_memory_cells_click_column"/>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label1435">
- <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>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">70</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char" translatable="yes">*</property>
+ <property name="activates_default">True</property>
+ <property name="width_chars">70</property>
</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>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
</widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label1414">
- <property name="visible">True</property>
- <property name="label" translatable="yes">MIX Virtual Machine </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>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
</widget>
diff --git a/mixgtk/mixgtk_cmd_dispatcher.c b/mixgtk/mixgtk_cmd_dispatcher.c
index f237a1a..98782ce 100644
--- a/mixgtk/mixgtk_cmd_dispatcher.c
+++ b/mixgtk/mixgtk_cmd_dispatcher.c
@@ -1,7 +1,7 @@
/* -*-c-*- -------------- mixgtk_cmd_dispatcher.c :
* Implementation of the functions declared in mixgtk_cmd_dispatcher.h
* ------------------------------------------------------------------
- * $Id: mixgtk_cmd_dispatcher.c,v 1.16 2004/06/23 10:50:10 jao Exp $
+ * $Id: mixgtk_cmd_dispatcher.c,v 1.17 2004/06/24 01:40:47 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
*
@@ -43,6 +43,7 @@
#include <mixlib/mix_vm_command.h>
#include "mixgtk_mixvm.h"
#include "mixgtk_mixal.h"
+#include "mixgtk_fontsel.h"
#include "mixgtk_config.h"
#include "mixgtk_cmd_dispatcher.h"
@@ -361,6 +362,9 @@ mixgtk_cmd_dispatcher_init (mixgtk_dialog_id_t top)
(GTK_WINDOW (mixgtk_widget_factory_get_dialog (MIXGTK_MAIN)),
dis_data_.last_file);
+ mixgtk_fontsel_set_font (MIX_FONT_LOG, dis_data_.log);
+ mixgtk_fontsel_set_font (MIX_FONT_PROMPT, dis_data_.prompt);
+
restart = TRUE;
return TRUE;
}
@@ -514,3 +518,17 @@ on_command_prompt_activate (GtkEntry *prompt, gpointer data)
}
g_free (text);
}
+
+void
+on_log_font_activate ()
+{
+ GtkWidget *w[] = { dis_data_.log };
+ mixgtk_fontsel_query_font (MIX_FONT_LOG, w, 1);
+}
+
+void
+on_prompt_font_activate ()
+{
+ GtkWidget *w[] = { dis_data_.prompt };
+ mixgtk_fontsel_query_font (MIX_FONT_PROMPT, w, 1);
+}
diff --git a/mixgtk/mixgtk_device.c b/mixgtk/mixgtk_device.c
index 69faa02..e701728 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.21 2004/06/23 10:50:10 jao Exp $
+ * $Id: mixgtk_device.c,v 1.22 2004/06/24 01:40:47 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
*
@@ -32,6 +32,7 @@
#include "mixgtk.h"
#include "mixgtk_gen_handlers.h"
#include "mixgtk_widgets.h"
+#include "mixgtk_fontsel.h"
#include "mixgtk_config.h"
#include "mixgtk_cmd_dispatcher.h"
#include "mixgtk_device.h"
@@ -41,7 +42,8 @@
static const gchar *DEV_FORMAT_KEY_ = "Device.format";
/* device container */
-static GtkNotebook *container_ = NULL;
+static GtkContainer *container_ = NULL;
+static GtkNotebook *dev_nb_ = NULL;
/* devdir dialog */
static GtkWidget *devdir_dlg_ = NULL;
static GtkEntry *devdir_entry_ = NULL;
@@ -136,12 +138,15 @@ write_bin_ (struct mixgtk_bin_device_t *dev, const mix_word_t *block)
dec = IS_DEC(decs_, dev->gtk_device.device.type);
- for (k = 0, len = SIZES_[dev->gtk_device.device.type]; k < len; k += 5)
+ for (k = 0, len = SIZES_[dev->gtk_device.device.type];
+ k < len; k += BIN_DEV_COL_)
{
gtk_list_store_append (store, &iter);
- for (col = 0; col < 5; ++col)
+ for (col = 0; col < BIN_DEV_COL_; ++col)
gtk_list_store_set (store, &iter,
- col, get_word_string_ (block[k + col], dec), -1);
+ col, get_word_string_ (block[k + col], dec),
+ col + BIN_DEV_COL_, (guint)block[k + col],
+ -1);
dev->last_insert++;
}
}
@@ -157,8 +162,8 @@ write_ (mix_device_t *dev, const mix_word_t *block)
if (MODES_[dev->type] == mix_dev_CHAR) write_char_ (gtkdev, block);
else write_bin_ ((struct mixgtk_bin_device_t *)gtkdev, block);
- gtk_notebook_set_current_page (container_,
- gtk_notebook_page_num (container_,
+ gtk_notebook_set_current_page (dev_nb_,
+ gtk_notebook_page_num (dev_nb_,
gtkdev->scroll));
return TRUE;
@@ -179,8 +184,9 @@ read_cons_ (mix_word_t *block)
g_assert (input_dlg_entry_);
}
- gtk_widget_show (input_dlg_);
- gtk_main (); /* wait until dialog closes */
+ gtk_entry_set_text (input_dlg_entry_, "");
+ gtk_dialog_run (GTK_DIALOG (input_dlg_));
+ gtk_widget_hide (input_dlg_);
text = g_strdup_printf ("%-70s", gtk_entry_get_text (input_dlg_entry_));
for (i = 0; i < 70; ++i)
for (j = 0; j < 5; ++j)
@@ -204,8 +210,8 @@ read_ (mix_device_t *dev, mix_word_t *block)
if (MODES_[dev->type] == mix_dev_CHAR) write_char_ (gtkdev, block);
else write_bin_ ((struct mixgtk_bin_device_t *)gtkdev, block);
- gtk_notebook_set_current_page (container_,
- gtk_notebook_page_num (container_,
+ gtk_notebook_set_current_page (dev_nb_,
+ gtk_notebook_page_num (dev_nb_,
gtkdev->scroll));
return TRUE;
}
@@ -232,8 +238,8 @@ destroy_ (mix_device_t *dev)
g_object_unref ((gpointer)bdev->store);
}
(DEF_DEV_VTABLE_->destroy) (dev);
- gtk_notebook_remove_page (container_,
- gtk_notebook_page_num (container_,
+ gtk_notebook_remove_page (dev_nb_,
+ gtk_notebook_page_num (dev_nb_,
gtkdev->scroll));
}
@@ -263,15 +269,17 @@ mixgtk_device_construct_gui_ (struct mixgtk_device_t *dev)
{
gint k;
struct mixgtk_bin_device_t *bindev = (struct mixgtk_bin_device_t *)dev;
-
GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
+ GType *types = g_new (GType, BIN_DEV_COL_ * 2);
+
+ for (k = 0; k < BIN_DEV_COL_; ++k)
+ {
+ types[k] = G_TYPE_STRING;
+ types[k + BIN_DEV_COL_] = G_TYPE_UINT;
+ }
+
+ bindev->store = gtk_list_store_newv (BIN_DEV_COL_ * 2, types);
- bindev->store = gtk_list_store_new (5,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING);
dev->widget =
gtk_tree_view_new_with_model (GTK_TREE_MODEL (bindev->store));
@@ -284,18 +292,54 @@ mixgtk_device_construct_gui_ (struct mixgtk_device_t *dev)
gtk_tree_view_column_new_with_attributes ("", renderer,
"text", k, NULL));
}
+
+ g_free (types);
}
g_assert (dev->widget);
gtk_container_add (GTK_CONTAINER (dev->scroll), dev->widget);
- gtk_notebook_append_page (container_, dev->scroll, label);
+ gtk_notebook_append_page (dev_nb_, dev->scroll, label);
gtk_widget_set_style (dev->widget,
- gtk_widget_get_style (GTK_WIDGET (container_)));
+ gtk_widget_get_style (GTK_WIDGET (dev_nb_)));
gtk_widget_show (label);
gtk_widget_show (dev->scroll);
gtk_widget_show (dev->widget);
}
+static void
+redraw_bin_device_ (struct mixgtk_bin_device_t *dev)
+{
+ if (dev != NULL)
+ {
+ GtkTreeModel *store = GTK_TREE_MODEL (dev->store);
+ GtkTreeIter iter;
+ gboolean valid;
+
+ g_assert (store);
+
+ valid =
+ gtk_tree_model_get_iter_first (store, &iter);
+
+ while (valid)
+ {
+ gint k;
+ guint word;
+
+ for (k = 0; k < BIN_DEV_COL_; ++k)
+ {
+ gtk_tree_model_get (store, &iter, k + BIN_DEV_COL_, &word, -1);
+ gtk_list_store_set (GTK_LIST_STORE (store), &iter,
+ k, get_word_string_ ((mix_word_t)word,
+ dev->dec),
+ -1);
+ }
+ valid = gtk_tree_model_iter_next (store, &iter);
+ }
+ gtk_widget_queue_draw (((struct mixgtk_device_t *)dev)->widget);
+ }
+}
+
+
/* create a new mixgtk device */
static mix_device_t *
mixgtk_device_new_ (mix_device_type_t type)
@@ -323,42 +367,12 @@ mixgtk_device_new_ (mix_device_type_t type)
return (mix_device_t *)dev;
}
-static mix_device_t *
-mixgtk_device_copy_ (const struct mixgtk_device_t *from)
-{
- struct mixgtk_device_t *result =
- (struct mixgtk_device_t *)mixgtk_device_new_ (from->device.type);
- g_return_val_if_fail (result != NULL, NULL);
- if (MODES_[from->device.type] == mix_dev_CHAR)
- {
- gchar *text = gtk_editable_get_chars (GTK_EDITABLE (from->widget),
- 0, -1);
- gtk_text_buffer_insert_at_cursor
- (gtk_text_view_get_buffer (GTK_TEXT_VIEW (result->widget)), text, -1);
- g_free (text);
- }
- else
- {
- struct mixgtk_bin_device_t *to = (struct mixgtk_bin_device_t *) result;
- struct mixgtk_bin_device_t *fr = (struct mixgtk_bin_device_t *) from;
- to->last_insert = fr->last_insert;
- to->dec = fr->dec;
- gtk_tree_view_set_model (GTK_TREE_VIEW (result->widget),
- GTK_TREE_MODEL (fr->store));
- to->store = fr->store;
- }
- return (mix_device_t *)result;
-}
-
/* init default devices */
gboolean
-mixgtk_device_init (GtkNotebook *container, mix_vm_t *vm)
+mixgtk_device_init (GtkContainer *container, mix_vm_t *vm)
{
- gint k = 0;
-
g_return_val_if_fail (container != NULL, FALSE);
g_return_val_if_fail (vm != NULL, FALSE);
- container_ = container;
vm_ = vm;
devdlg_ = NULL;
devdir_dlg_ = NULL;
@@ -368,27 +382,31 @@ mixgtk_device_init (GtkNotebook *container, mix_vm_t *vm)
wtoggle_ = NULL;
combo_ = NULL;
- /* remove dummy page from container */
- gtk_notebook_remove_page (container_, 0);
-
- mix_vm_set_device_factory (vm, mixgtk_device_new_);
+ if (dev_nb_ == NULL)
+ {
+ mix_vm_set_device_factory (vm, mixgtk_device_new_);
- /* read format configuration */
- if (mixgtk_config_get (DEV_FORMAT_KEY_))
- decs_ = atoi (mixgtk_config_get (DEV_FORMAT_KEY_));
+ /* read format configuration */
+ if (mixgtk_config_get (DEV_FORMAT_KEY_))
+ decs_ = atoi (mixgtk_config_get (DEV_FORMAT_KEY_));
- /* re-create existing devices */
- for (k = 0; k < mix_dev_INVALID; ++k)
+ 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_)
{
- mix_device_t *dev = mix_vm_get_device (vm, k);
- if (dev != NULL)
- {
- mix_device_t *newdev =
- mixgtk_device_copy_ ((struct mixgtk_device_t *)dev);
- mix_vm_connect_device (vm, newdev);
- }
+ gtk_widget_reparent (GTK_WIDGET (dev_nb_), GTK_WIDGET (container));
}
+ 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;
}
@@ -403,34 +421,32 @@ mixgtk_device_set_format (mix_device_type_t dev, gboolean dec)
if (changed && (MODES_[dev] == mix_dev_BIN))
{
- if (dec) SET_DEC (decs_, dev);
- else CLEAR_DEC (decs_, dev);
-/* redraw_bin_device_ ((struct mixgtk_bin_device_t *) */
-/* mix_vm_get_device (vm_, dev)); */
+ struct mixgtk_bin_device_t *gdev =
+ (struct mixgtk_bin_device_t *) mix_vm_get_device (vm_, dev);
+
+ if (gdev != NULL)
+ {
+ if (dec) SET_DEC (decs_, dev); else CLEAR_DEC (decs_, dev);
+ gdev->dec = !(gdev->dec);
+ redraw_bin_device_ (gdev);
+ }
}
-
}
static mix_device_type_t
get_device_idx_ (void)
{
-/* const gchar *name = gtk_entry_get_text */
-/* (GTK_ENTRY (GTK_COMBO (combo_)->entry)); */
-/* /\* inefficient, but the list is short *\/ */
-/* int k; */
-/* for (k = 0; k <= LAST_BIN_DEV_; ++k) */
-/* if (!strcmp (name, DEF_NAMES_[k])) return k; */
-/* g_assert_not_reached (); */
- return 0;
+ int k;
+ const gchar *name = gtk_entry_get_text (GTK_ENTRY (GTK_BIN (combo_)->child));
+ for (k = 0; k <= LAST_BIN_DEV_; ++k)
+ if (!strcmp (name, DEF_NAMES_[k])) break;
+ return k;
}
static void
init_devform_ (void)
{
- GList *names = NULL;
- int k;
-
devdlg_ = mixgtk_widget_factory_get_dialog (MIXGTK_DEVFORM_DIALOG);
g_assert (devdlg_);
dtoggle_ = mixgtk_widget_factory_get_child_by_name
@@ -442,29 +458,47 @@ init_devform_ (void)
combo_ = mixgtk_widget_factory_get_child_by_name
(MIXGTK_DEVFORM_DIALOG, "dev_combo");
g_assert (combo_);
-
- for (k = 0; k <= LAST_BIN_DEV_; ++k)
- names = g_list_append (names, (gchar *)DEF_NAMES_[k]);
-/* gtk_combo_set_popdown_strings (GTK_COMBO (combo_), names); */
+ gtk_editable_set_editable (GTK_EDITABLE (GTK_BIN (combo_)->child), FALSE);
}
void
-on_deventry_changed ()
+on_dev_combo_changed ()
{
mix_device_type_t dev = get_device_idx_ ();
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dtoggle_),
- IS_DEC (new_decs_, dev));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wtoggle_),
- !IS_DEC (new_decs_, dev));
+ if (dev <= LAST_BIN_DEV_)
+ {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dtoggle_),
+ IS_DEC (new_decs_, dev));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wtoggle_),
+ !IS_DEC (new_decs_, dev));
+ }
}
void
on_devform_activate ()
{
+ gint result = GTK_RESPONSE_APPLY;
+
if (!devdlg_) init_devform_ ();
new_decs_ = decs_;
- gtk_widget_show (devdlg_);
- on_deventry_changed ();
+
+ while (result == GTK_RESPONSE_APPLY)
+ {
+ //on_dev_combo_changed ();
+ result = gtk_dialog_run (GTK_DIALOG (devdlg_));
+ if (result != GTK_RESPONSE_CANCEL)
+ {
+ int k;
+ gchar value[20];
+ for (k = 0; k <= LAST_BIN_DEV_; ++k)
+ mixgtk_device_set_format (k, IS_DEC (new_decs_, k));
+ decs_ = new_decs_;
+ g_snprintf (value, 20, "%d", decs_);
+ mixgtk_config_update (DEV_FORMAT_KEY_, value);
+ }
+ }
+
+ gtk_widget_hide (devdlg_);
}
void
@@ -477,31 +511,6 @@ on_decradio_toggled (GtkToggleButton *button)
}
void
-on_devapp_button_clicked ()
-{
- int k;
- gchar value[20];
- for (k = 0; k <= LAST_BIN_DEV_; ++k)
- mixgtk_device_set_format (k, IS_DEC (new_decs_, k));
- decs_ = new_decs_;
- g_snprintf (value, 20, "%d", decs_);
- mixgtk_config_update (DEV_FORMAT_KEY_, value);
-}
-
-void
-on_devok_button_clicked ()
-{
- on_devapp_button_clicked ();
- gtk_widget_hide (devdlg_);
-}
-
-void
-on_devcancel_button_clicked ()
-{
- gtk_widget_hide (devdlg_);
-}
-
-void
on_devset_button_clicked ()
{
static gint32 ON = 0xffff, OFF = 0;
@@ -572,20 +581,22 @@ on_devdir_ok_clicked ()
}
void
-on_input_ok_clicked ()
+on_devices_font_activate ()
{
- gtk_widget_hide (input_dlg_);
- gtk_main_quit ();
-}
+ gint no = gtk_notebook_get_n_pages (dev_nb_);
+ GtkWidget **w = g_new (GtkWidget *, 2 * no + 1);
+ gint k;
-void
-on_input_clear_clicked ()
-{
- gtk_entry_set_text (input_dlg_entry_, "");
-}
+ w[2 * no] = GTK_WIDGET (dev_nb_);
+ for (k = 0; k < no; ++k)
+ {
+ 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]);
+ }
-void
-on_input_entry_activate ()
-{
- on_input_ok_clicked ();
+ mixgtk_fontsel_query_font (MIX_FONT_DEVICES, w, 2 * no + 1);
+
+ g_free (w);
}
diff --git a/mixgtk/mixgtk_device.h b/mixgtk/mixgtk_device.h
index cdfec66..dde8a5c 100644
--- a/mixgtk/mixgtk_device.h
+++ b/mixgtk/mixgtk_device.h
@@ -3,22 +3,22 @@
* ------------------------------------------------------------------
* Last change: Time-stamp: <01/03/04 23:43:59 jose>
* ------------------------------------------------------------------
- * 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 @@
/* init default devices */
extern gboolean
-mixgtk_device_init (GtkNotebook *container, mix_vm_t *vm);
+mixgtk_device_init (GtkContainer *container, mix_vm_t *vm);
/* change the output format of a device */
extern void
diff --git a/mixgtk/mixgtk_fontsel.c b/mixgtk/mixgtk_fontsel.c
index 50bcceb..59849b1 100644
--- a/mixgtk/mixgtk_fontsel.c
+++ b/mixgtk/mixgtk_fontsel.c
@@ -1,7 +1,7 @@
/* -*-c-*- -------------- mixgtk_fontsel.c :
* Implementation of the functions declared in mixgtk_fontsel.h
* ------------------------------------------------------------------
- * $Id: mixgtk_fontsel.c,v 1.15 2004/06/23 10:50:10 jao Exp $
+ * $Id: mixgtk_fontsel.c,v 1.16 2004/06/24 01:40:47 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2004 Free Software Foundation, Inc.
*
@@ -26,223 +26,81 @@
#include "mixgtk_config.h"
#include "mixgtk_fontsel.h"
-static GtkWidget *fontsel_dialog_ = NULL;
-static mixgtk_widget_id_t widget_;
-static GHashTable *winfo_ = NULL;
+static GtkFontSelectionDialog *fontsel_dialog_ = NULL;
-typedef struct winfo
-{
- GtkWidget *widget;
- const gchar *font;
- const gchar *key;
-} winfo;
-
-static mixgtk_widget_id_t widget_ids_[] = {
- MIXGTK_WIDGET_MIXVM,
- MIXGTK_WIDGET_PROMPT,
- MIXGTK_WIDGET_LOG,
- MIXGTK_WIDGET_MIXAL,
- MIXGTK_WIDGET_DEVICE
-};
-
-static mixgtk_dialog_id_t dialog_ids_no_split_[] = {
- MIXGTK_MAIN,
- MIXGTK_MAIN,
- MIXGTK_MAIN,
- MIXGTK_MAIN,
- MIXGTK_MAIN,
-};
-
-static mixgtk_dialog_id_t dialog_ids_split_[] = {
- MIXGTK_MIXVM_DIALOG,
- MIXGTK_MAIN,
- MIXGTK_MAIN,
- MIXGTK_MIXAL_DIALOG,
- MIXGTK_DEVICES_DIALOG
-};
-
-static mixgtk_widget_id_t mixvm_children_[] = {
- MIXGTK_WIDGET_rA,
- MIXGTK_WIDGET_rX,
- MIXGTK_WIDGET_rJ,
- MIXGTK_WIDGET_rI1,
- MIXGTK_WIDGET_rI2,
- MIXGTK_WIDGET_rI3,
- MIXGTK_WIDGET_rI4,
- MIXGTK_WIDGET_rI5,
- MIXGTK_WIDGET_rI6,
- MIXGTK_WIDGET_CMP_L,
- MIXGTK_WIDGET_CMP_E,
- MIXGTK_WIDGET_CMP_G,
- MIXGTK_WIDGET_OVER,
- MIXGTK_WIDGET_CELLS,
- MIXGTK_WIDGET_LAPTIME,
- MIXGTK_WIDGET_PROGTIME,
- MIXGTK_WIDGET_UPTIME,
- MIXGTK_WIDGET_LOC
+static const gchar *keys_[MIX_FONT_NO] = {
+ "MIX.font", "Prompt.font", "Log.font", "MIXAL.font", "Devices.font"
};
-static const int CHILDREN_NO_ =
-(sizeof (mixvm_children_) / sizeof (mixvm_children_[0]));
-
-static mixgtk_dialog_id_t *dialog_ids_ = NULL;
-
-static const gchar *keys_[] = {
- "MIX.font", "Prompt.font", "Log.font", "MIXAL.font", "Device.font"
-};
-
-
-
-#define WIDGET_NO_ (sizeof (widget_ids_) / sizeof (widget_ids_[0]))
-
-static winfo infos_[WIDGET_NO_];
/* initialise the font selection dialog */
static void
init_fontsel_ (void)
{
- fontsel_dialog_ = mixgtk_widget_factory_get_dialog (MIXGTK_FONTSEL_DIALOG);
+ fontsel_dialog_ =
+ GTK_FONT_SELECTION_DIALOG
+ (mixgtk_widget_factory_get_dialog (MIXGTK_FONTSEL_DIALOG));
g_assert (fontsel_dialog_ != NULL);
}
void
-change_font_ (mixgtk_widget_id_t widget)
+mixgtk_fontsel_set_font (mixgtk_font_t f, GtkWidget *w)
{
- winfo *info;
- if (!fontsel_dialog_) init_fontsel_ ();
- info = (winfo *) g_hash_table_lookup (winfo_, GINT_TO_POINTER (widget));
- g_assert (info);
- widget_ = widget;
- if (info->font)
- gtk_font_selection_dialog_set_font_name
- (GTK_FONT_SELECTION_DIALOG (fontsel_dialog_), info->font);
-
- gtk_widget_show (fontsel_dialog_);
-
-}
-
-void
-mixgtk_fontsel_load_defaults (void)
-{
-
- int i;
const gchar *font;
- gboolean split = mixgtk_config_is_split ();
+ PangoFontDescription *font_desc;
- fontsel_dialog_ = NULL;
+ if (f >= MIX_FONT_NO || w == NULL) return;
- if (winfo_) g_hash_table_destroy (winfo_);
- winfo_ = g_hash_table_new (NULL, NULL);
- dialog_ids_ = split? dialog_ids_split_ : dialog_ids_no_split_;
- for (i = 0; i < WIDGET_NO_; ++i)
+ font = mixgtk_config_get (keys_[f]);
+ if (!font)
{
- infos_[i].widget =
- mixgtk_widget_factory_get (dialog_ids_[i], widget_ids_[i]);
- g_assert (infos_[i].widget != NULL);
- infos_[i].key = keys_[i];
- g_hash_table_insert (winfo_, GINT_TO_POINTER (widget_ids_[i]),
- (gpointer)(infos_ + i));
-
- infos_[i].font = NULL;
- font = mixgtk_config_get (keys_[i]);
- mixgtk_fontsel_set (widget_ids_[i], font? font : "Monospace");
+ mixgtk_config_update (keys_[f], "Monospace");
+ font = mixgtk_config_get (keys_[f]);
+ g_assert (font);
}
-}
-void
-mixgtk_fontsel_set (mixgtk_widget_id_t widget, const gchar *font)
-{
- winfo *w = (winfo *)
- g_hash_table_lookup (winfo_, GINT_TO_POINTER (widget));
- if (w != NULL && font != NULL)
+ font_desc = pango_font_description_from_string (font);
+
+ if (font_desc)
{
- PangoFontDescription *font_desc =
- pango_font_description_from_string (font);
- if (font_desc != NULL)
- {
- gtk_widget_modify_font (w->widget, font_desc);
-
- if (widget == MIXGTK_WIDGET_MIXVM)
- {
- int k;
- for (k = 0; k < CHILDREN_NO_; ++k)
- {
- GtkWidget *child =
- mixgtk_widget_factory_get (MIXGTK_MIXVM_DIALOG,
- mixvm_children_[k]);
- gtk_widget_modify_font (child, font_desc);
- }
- }
- w->font = font;
- mixgtk_config_update (w->key, w->font);
- pango_font_description_free (font_desc);
- }
- else
- mixgtk_config_remove (w->key);
+ gtk_widget_modify_font (w, font_desc);
+ gtk_widget_queue_draw (w);
+ pango_font_description_free (font_desc);
}
-}
+ else
+ mixgtk_config_remove (keys_[f]);
-const gchar *
-mixgtk_fontsel_get (mixgtk_widget_id_t widget)
-{
- const gchar *result = NULL;
- winfo *w = (winfo *)
- g_hash_table_lookup (winfo_, GINT_TO_POINTER (widget));
- if (w != NULL) result = w->font;
- return result;
}
-/* callbacks */
-void
-on_log_font_activate (void)
+extern gboolean
+mixgtk_fontsel_query_font (mixgtk_font_t f, GtkWidget **w, size_t no)
{
- change_font_ (MIXGTK_WIDGET_LOG);
-}
-
-void
-on_mixal_font_activate (void)
-{
- change_font_ (MIXGTK_WIDGET_MIXAL);
-}
+ gint result = GTK_RESPONSE_APPLY;
+ const gchar *current;
+ gboolean ret = FALSE;
-void
-on_prompt_font_activate (void)
-{
- change_font_ (MIXGTK_WIDGET_PROMPT);
-}
-
-void
-on_mix_font_activate (void)
-{
- change_font_ (MIXGTK_WIDGET_MIXVM);
-}
-
-void
-on_devices_font_activate (void)
-{
- change_font_ (MIXGTK_WIDGET_DEVICE);
-}
-
-void
-on_fontsel_apply_clicked (void)
-{
- gchar * name = gtk_font_selection_dialog_get_font_name
- (GTK_FONT_SELECTION_DIALOG (fontsel_dialog_));
- mixgtk_fontsel_set (widget_, name);
- g_free (name);
-}
+ if (f >= MIX_FONT_NO) return FALSE;
+ if (!fontsel_dialog_) init_fontsel_ ();
-void
-on_fontsel_ok_clicked (void)
-{
- on_fontsel_apply_clicked ();
- gtk_widget_hide (fontsel_dialog_);
-}
+ current = mixgtk_config_get (keys_[f]);
+ gtk_font_selection_dialog_set_font_name (fontsel_dialog_,
+ current? current : "Monospace");
-void
-on_fontsel_cancel_clicked (void)
-{
- gtk_widget_hide (fontsel_dialog_);
+ while (result == GTK_RESPONSE_APPLY)
+ {
+ result = gtk_dialog_run (GTK_DIALOG (fontsel_dialog_));
+ if (result != GTK_RESPONSE_CANCEL)
+ {
+ gint k;
+ mixgtk_config_update
+ (keys_[f],
+ gtk_font_selection_dialog_get_font_name (fontsel_dialog_));
+ for (k = 0; k < no; ++k)
+ mixgtk_fontsel_set_font (f, w[k]);
+ ret = TRUE;
+ }
+ }
+ gtk_widget_hide (GTK_WIDGET (fontsel_dialog_));
+ return ret;
}
-
diff --git a/mixgtk/mixgtk_fontsel.h b/mixgtk/mixgtk_fontsel.h
index af09c15..0b288d4 100644
--- a/mixgtk/mixgtk_fontsel.h
+++ b/mixgtk/mixgtk_fontsel.h
@@ -1,24 +1,24 @@
/* -*-c-*- ---------------- mixgtk_fontsel.h :
* Functions for handling font selection.
* ------------------------------------------------------------------
- * Last change: Time-stamp: <2001-04-28 00:42:39 jao>
+ * $Id: mixgtk_fontsel.h,v 1.5 2004/06/24 01:40:47 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.
- *
+ *
*/
@@ -28,17 +28,21 @@
#include <glib.h>
#include "mixgtk_widgets.h"
-/* load default (configured) fonts */
-extern void
-mixgtk_fontsel_load_defaults (void);
+typedef enum {
+ MIX_FONT_MIXVM,
+ MIX_FONT_LOG,
+ MIX_FONT_PROMPT,
+ MIX_FONT_MIXAL,
+ MIX_FONT_DEVICES,
+ MIX_FONT_NO
+} mixgtk_font_t;
-/* set a widget's font */
+/* configured fonts */
extern void
-mixgtk_fontsel_set (mixgtk_widget_id_t widget, const gchar *font);
+mixgtk_fontsel_set_font (mixgtk_font_t f, GtkWidget *w);
-/* get a widget's font */
-extern const gchar *
-mixgtk_fontsel_get (mixgtk_widget_id_t widget);
+extern gboolean
+mixgtk_fontsel_query_font (mixgtk_font_t f, GtkWidget **ws, size_t no);
#endif /* MIXGTK_FONTSEL_H */
diff --git a/mixgtk/mixgtk_mixal.c b/mixgtk/mixgtk_mixal.c
index b805c30..17f726f 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.17 2004/06/23 10:50:10 jao Exp $
+ * $Id: mixgtk_mixal.c,v 1.18 2004/06/24 01:40:47 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
*
@@ -27,6 +27,7 @@
#include "mixgtk_widgets.h"
#include "mixgtk_config.h"
+#include "mixgtk_fontsel.h"
#include "mixgtk_mixal.h"
@@ -236,9 +237,12 @@ mixgtk_mixal_init (mix_vm_t *vm, mixgtk_dialog_id_t top)
g_signal_connect (G_OBJECT (clist_), "event",
G_CALLBACK (mixal_event_), NULL);
+ mixgtk_fontsel_set_font (MIX_FONT_MIXAL, GTK_WIDGET (clist_));
+
if (restart) mixgtk_mixal_load_file ();
else restart = TRUE;
+
return TRUE;
}
@@ -555,3 +559,13 @@ on_mixal_leave_notify_event ()
{
gtk_statusbar_pop (status_, status_context_);
}
+
+void
+on_mixal_font_activate ()
+{
+ GtkWidget *w[] = { GTK_WIDGET (clist_) };
+ mixgtk_fontsel_query_font (MIX_FONT_MIXAL, w, 1);
+}
+
+
+
diff --git a/mixgtk/mixgtk_mixvm.c b/mixgtk/mixgtk_mixvm.c
index 57fbb90..ca4b482 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.11 2004/06/23 10:50:10 jao Exp $
+ * $Id: mixgtk_mixvm.c,v 1.12 2004/06/24 01:40:47 jao Exp $
* ------------------------------------------------------------------
* Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
*
@@ -24,6 +24,7 @@
#include <stdlib.h>
#include <mixlib/xmix_vm.h>
#include "mixgtk_widgets.h"
+#include "mixgtk_fontsel.h"
#include "mixgtk_mixvm.h"
#include "mixgtk_cmd_dispatcher.h"
#include "mixgtk_input.h"
@@ -79,10 +80,12 @@ mixgtk_mixvm_init (mix_vm_t *vm, mixgtk_dialog_id_t top)
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]));
}
loc_entry_ = GTK_ENTRY (mixgtk_widget_factory_get (top, MIXGTK_WIDGET_LOC));
g_return_val_if_fail (loc_entry_ != NULL, FALSE);
+ 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);
@@ -332,6 +335,21 @@ on_goto_ok_clicked (GtkWidget *w, gpointer data)
}
}
+void
+on_mix_font_activate (void)
+{
+ GtkWidget *w[REGISTER_NO_ + 2] = {
+ GTK_WIDGET (loc_entry_), GTK_WIDGET (memory_)
+ };
+
+ gint k;
+
+ for (k = 0; k < REGISTER_NO_; ++k) w[k + 2] = GTK_WIDGET (reg_entries_[k]);
+
+ mixgtk_fontsel_query_font (MIX_FONT_MIXVM, w, REGISTER_NO_ + 2);
+
+}
+
/* static functions */
@@ -485,6 +503,8 @@ init_mem_ (mixgtk_dialog_id_t top)
g_signal_connect (G_OBJECT (memory_), "event-after",
G_CALLBACK (cont_clicked_), NULL);
+ mixgtk_fontsel_set_font (MIX_FONT_MIXVM, GTK_WIDGET (memory_));
+
return TRUE;
}
diff --git a/mixgtk/mixgtk_widgets.c b/mixgtk/mixgtk_widgets.c
index 8a5e91f..6ffff1e 100644
--- a/mixgtk/mixgtk_widgets.c
+++ b/mixgtk/mixgtk_widgets.c
@@ -77,7 +77,7 @@ static const gchar *names_[] = {
"program_label",
"uptime_label",
"memory_scroll",
- "devices_notebook",
+ "devices_container",
"loc_entry",
NULL
};
diff --git a/mixgtk/mixgtk_widgets.h b/mixgtk/mixgtk_widgets.h
index 6d84fc5..5be3fb6 100644
--- a/mixgtk/mixgtk_widgets.h
+++ b/mixgtk/mixgtk_widgets.h
@@ -72,7 +72,7 @@ typedef enum {
MIXGTK_WIDGET_PROGTIME,
MIXGTK_WIDGET_UPTIME,
MIXGTK_WIDGET_CELLS_SCROLL,
- MIXGTK_WIDGET_DEVICE,
+ MIXGTK_WIDGET_DEVICES,
MIXGTK_WIDGET_LOC,
MIXGTK_WIDGET_NONE
} mixgtk_widget_id_t;