From a7abb051dcb7cc730a527039b962fe9415a6486f Mon Sep 17 00:00:00 2001 From: jaortega Date: Mon, 12 Mar 2001 01:20:22 +0000 Subject: minor changes --- mixgtk/mixgtk.glade | 208 +++++++++++++++++++++++++++-------------- mixgtk/mixgtk_cmd_dispatcher.c | 141 ++++++++++++++++++++++++---- mixgtk/mixgtk_gen_handlers.c | 15 ++- mixgtk/mixgtk_mixal.c | 144 +++++++++++++++++++++++----- mixgtk/mixgtk_mixal.h | 23 ++++- mixgtk/mixgtk_widgets.h | 2 +- 6 files changed, 417 insertions(+), 116 deletions(-) (limited to 'mixgtk') diff --git a/mixgtk/mixgtk.glade b/mixgtk/mixgtk.glade index b1d7927..154e708 100644 --- a/mixgtk/mixgtk.glade +++ b/mixgtk/mixgtk.glade @@ -63,6 +63,7 @@ GtkMenuItem file_open + Load a MIX file GDK_MOD1_MASK GDK_F3 @@ -73,13 +74,14 @@ on_file_open_activate Tue, 20 Feb 2001 22:37:58 GMT - + False GtkMenuItem file_exit + Exit application GDK_MOD1_MASK GDK_Q @@ -99,8 +101,47 @@ GtkMenuItem debug - + False + + + GtkMenu + debug_menu + + + GtkMenuItem + debug_run + + GDK_MOD1_MASK + GDK_R + activate + + + activate + on_debug_run_activate + Sat, 10 Mar 2001 11:35:16 GMT + + + False + + + + GtkMenuItem + debug_next + + GDK_MOD1_MASK + GDK_N + activate + + + activate + on_debug_next_activate + Sat, 10 Mar 2001 11:35:16 GMT + + + False + + @@ -174,6 +215,11 @@ 60 24 True + + button_press_event + on_register_click + Sun, 11 Mar 2001 11:45:00 GMT + False True 0 @@ -188,6 +234,12 @@ 118 22 True + GDK_BUTTON_PRESS_MASK + + button_press_event + on_register_click + Sun, 11 Mar 2001 11:42:43 GMT + False True 0 @@ -202,6 +254,11 @@ 118 22 True + + button_press_event + on_register_click + Sun, 11 Mar 2001 11:43:29 GMT + False True 0 @@ -216,6 +273,11 @@ 60 22 True + + button_press_event + on_register_click + Sun, 11 Mar 2001 11:45:39 GMT + False True 0 @@ -230,6 +292,11 @@ 60 24 True + + button_press_event + on_register_click + Sun, 11 Mar 2001 11:43:44 GMT + False True 0 @@ -244,6 +311,11 @@ 60 22 True + + button_press_event + on_register_click + Sun, 11 Mar 2001 11:46:37 GMT + False True 0 @@ -258,6 +330,11 @@ 60 24 True + + button_press_event + on_register_click + Sun, 11 Mar 2001 11:44:21 GMT + False True 0 @@ -272,6 +349,11 @@ 60 22 True + + button_press_event + on_register_click + Sun, 11 Mar 2001 11:46:58 GMT + False True 0 @@ -575,6 +657,11 @@ 60 22 True + + button_press_event + on_register_click + Sun, 11 Mar 2001 11:46:05 GMT + False True 0 @@ -746,9 +833,9 @@ GtkCheckButton over_toggle 288 - 156 - 72 - 24 + 168 + 88 + 16 True toggled @@ -765,7 +852,7 @@ GtkLabel Notebook:tab label105 - + GTK_JUSTIFY_CENTER False 0.5 @@ -776,7 +863,7 @@ GtkScrolledWindow - mixal_scroll + scrolledwindow28 GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_UPDATE_CONTINUOUS @@ -785,9 +872,16 @@ GtkCList mixal_clist + Click to toggle breakpoint True - 3 - 60,114,80 + + select_row + on_mixal_select_row + True + Sun, 11 Mar 2001 01:15:28 GMT + + 2 + 152,80 GTK_SELECTION_SINGLE True GTK_SHADOW_IN @@ -795,21 +889,8 @@ GtkLabel CList:title - label168 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - - - GtkLabel - CList:title - label169 - + label213 + GTK_JUSTIFY_CENTER False 0.5 @@ -821,7 +902,7 @@ GtkLabel CList:title - label170 + label214 GTK_JUSTIFY_CENTER False @@ -837,7 +918,7 @@ GtkLabel Notebook:tab label106 - + GTK_JUSTIFY_CENTER False 0.5 @@ -882,7 +963,7 @@ GtkLabel Notebook:tab devices_label - + GTK_JUSTIFY_CENTER False 0.5 @@ -933,7 +1014,6 @@ GtkText command_log - True False @@ -944,6 +1024,7 @@ command_prompt Enter MIXVM command here True + True activate on_mixvm_cmd_entry_activate @@ -1029,7 +1110,7 @@ GtkButton - button11 + word_reset True True @@ -1038,7 +1119,7 @@ GtkButton - button12 + word_ok True True @@ -1047,9 +1128,14 @@ GtkButton - button13 + word_cancel True True + + clicked + gtk_widget_hide + Sun, 11 Mar 2001 11:56:42 GMT + GTK_RELIEF_NORMAL @@ -1069,7 +1155,7 @@ GtkEntry - entry31 + word_decimal 88 32 143 @@ -1083,7 +1169,7 @@ GtkEntry - entry34 + word_b2 136 64 22 @@ -1111,7 +1197,7 @@ GtkEntry - entry38 + word_b3 160 64 22 @@ -1125,7 +1211,7 @@ GtkEntry - entry39 + word_b4 184 64 22 @@ -1139,7 +1225,7 @@ GtkEntry - entry41 + word_b5 208 64 22 @@ -1151,25 +1237,9 @@ 63 - - GtkLabel - label60 - 16 - 34 - 67 - 20 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - - GtkEntry - entry40 + word_b1 112 64 22 @@ -1183,7 +1253,7 @@ GtkEntry - entry42 + word_sign 88 64 16 @@ -1197,12 +1267,12 @@ GtkLabel - label61 - 22 - 67 - 41 - 16 - + label60 + 16 + 34 + 67 + 20 + GTK_JUSTIFY_CENTER False 0.5 @@ -1213,12 +1283,12 @@ GtkLabel - label63 - 152 - 8 - 80 + label61 + 22 + 67 + 41 16 - + GTK_JUSTIFY_CENTER False 0.5 @@ -1229,12 +1299,12 @@ GtkLabel - label62 - 48 + word_label + 16 8 - 104 + 216 16 - + GTK_JUSTIFY_CENTER False 0.5 diff --git a/mixgtk/mixgtk_cmd_dispatcher.c b/mixgtk/mixgtk_cmd_dispatcher.c index d14c5ee..71b5877 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 * ------------------------------------------------------------------ - * Last change: Time-stamp: "01/03/10 00:49:04 jose" + * Last change: Time-stamp: "01/03/12 02:05:43 jose" * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -23,6 +23,7 @@ #define _GNU_SOURCE 1 +#include #include #include #include "mixgtk_cmd_dispatcher.h" @@ -39,10 +40,24 @@ struct mixgtk_dispatch_ size_t out_buffer_size; GtkWidget *prompt; GtkWidget *log; + GCompletion *completions; }; static struct mixgtk_dispatch_ dis_data_ = {NULL}; +/* completions */ +static void +init_completions_ (void) +{ + GList *cmds = NULL; + gint k; + + dis_data_.completions = g_completion_new (NULL); + for (k = 0; k < MIX_CMD_INVALID; ++k) + cmds = g_list_append (cmds, (gpointer) mix_vm_command_to_string (k)); + g_completion_add_items (dis_data_.completions, cmds); +} + /* global hooks for the command dispatcher */ static void global_pre_hook_ (mix_vm_cmd_dispatcher_t *dis, @@ -104,6 +119,61 @@ next_post_hook_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg, mixgtk_mixal_update (); } +static void +linebp_post_hook_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg, + gpointer data) +{ + if (arg && strlen (arg)) mixgtk_mixal_update_bp_at_line (atoi (arg)); +} + +static void +addrbp_post_hook_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg, + gpointer data) +{ + if (arg && strlen (arg)) mixgtk_mixal_update_bp_at_address (atoi (arg)); +} + +static void +allbp_post_hook_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg, + gpointer data) +{ + mixgtk_mixal_update_bp_all (); +} + + +static void +install_hooks_ (void) +{ + mix_vm_cmd_dispatcher_global_pre_hook (dis_data_.dispatcher, + global_pre_hook_, NULL); + mix_vm_cmd_dispatcher_global_post_hook (dis_data_.dispatcher, + global_post_hook_, NULL); + mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, + MIX_CMD_LOAD, load_post_hook_, + NULL); + mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, + MIX_CMD_RUN, run_post_hook_, + NULL); + mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, + MIX_CMD_NEXT, next_post_hook_, + NULL); + mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, + MIX_CMD_SBP, linebp_post_hook_, + NULL); + mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, + MIX_CMD_CBP, linebp_post_hook_, + NULL); + mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, + MIX_CMD_SBPA, addrbp_post_hook_, + NULL); + mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, + MIX_CMD_CBPA, addrbp_post_hook_, + NULL); + mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, + MIX_CMD_CABP, allbp_post_hook_, + NULL); +} + /* initialise the command dispatcher */ gboolean @@ -125,20 +195,11 @@ mixgtk_cmd_dispatcher_init (void) dis_data_.out = out; dis_data_.dispatcher = mix_vm_cmd_dispatcher_new (out, out); mix_vm_cmd_dispatcher_print_time (dis_data_.dispatcher, FALSE); - mix_vm_cmd_dispatcher_global_pre_hook (dis_data_.dispatcher, - global_pre_hook_, NULL); - mix_vm_cmd_dispatcher_global_post_hook (dis_data_.dispatcher, - global_post_hook_, NULL); - mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, - MIX_CMD_LOAD, load_post_hook_, - NULL); - mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, - MIX_CMD_RUN, run_post_hook_, - NULL); - mix_vm_cmd_dispatcher_post_hook (dis_data_.dispatcher, - MIX_CMD_NEXT, next_post_hook_, - NULL); + install_hooks_ (); } + + if (!dis_data_.completions) init_completions_ (); + return TRUE; } @@ -146,7 +207,7 @@ mixgtk_cmd_dispatcher_init (void) void mixgtk_cmd_dispatcher_dispatch (const gchar *command) { - GtkWidget *entry = mixgtk_widget_factory_get (MIXGTK_WIDGET_PROMPT); + GtkWidget *entry = dis_data_.prompt; g_return_if_fail (command != NULL); g_assert (entry != NULL); gtk_entry_set_text (GTK_ENTRY (entry), command); @@ -177,9 +238,53 @@ void on_mixvm_cmd_entry_activate (GtkWidget *w, gpointer e) { gchar *text; + GList *cmds = NULL; + gchar *prefix = NULL; + text = gtk_entry_get_text (GTK_ENTRY (w)); - mix_vm_cmd_dispatcher_dispatch_text (dis_data_.dispatcher, text); - gtk_entry_set_text (GTK_ENTRY (w), ""); -} + if (mix_vm_command_from_string (g_strchomp (text)) != MIX_CMD_INVALID) + { + mix_vm_cmd_dispatcher_dispatch_text (dis_data_.dispatcher, text); + gtk_entry_set_text (GTK_ENTRY (w), ""); + return; + } + + cmds = g_completion_complete (dis_data_.completions, text, &prefix); + if (prefix != NULL) + { + gtk_entry_set_text (GTK_ENTRY (w), prefix); + g_free (prefix); + if (g_list_length (cmds) > 1) + { + gint k = 0; + gtk_text_insert (GTK_TEXT (dis_data_.log), + NULL, NULL, NULL, "Completions:\n", -1); + while (cmds) + { + ++k; + gtk_text_insert (GTK_TEXT (dis_data_.log), + NULL, NULL, NULL, + (gchar *)(cmds->data), -1); + gtk_text_insert (GTK_TEXT (dis_data_.log), + NULL, NULL, NULL, " ", -1); + if (k%5 == 0) + gtk_text_insert (GTK_TEXT (dis_data_.log), + NULL, NULL, NULL, "\n", -1); + + cmds = cmds->next; + } + if (k%5 != 0) + gtk_text_insert (GTK_TEXT (dis_data_.log), + NULL, NULL, NULL, "\n", -1); + } + else + gtk_entry_append_text (GTK_ENTRY (w), " "); + } + else + { + mix_vm_cmd_dispatcher_dispatch_text (dis_data_.dispatcher, text); + gtk_entry_set_text (GTK_ENTRY (w), ""); + } +} diff --git a/mixgtk/mixgtk_gen_handlers.c b/mixgtk/mixgtk_gen_handlers.c index 8f0c07c..eefeae3 100644 --- a/mixgtk/mixgtk_gen_handlers.c +++ b/mixgtk/mixgtk_gen_handlers.c @@ -1,7 +1,7 @@ /* -*-c-*- -------------- mixgtk_gen_handlers.c : * Implementation of the functions declared in mixgtk_gen_handlers.h * ------------------------------------------------------------------ - * Last change: Time-stamp: "01/03/07 23:25:10 jose" + * Last change: Time-stamp: "01/03/10 15:51:47 jose" * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -67,6 +67,19 @@ on_file_open_activate (GtkWidget *w, gpointer data) gtk_grab_add (file); } +void +on_debug_run_activate (GtkWidget *w, gpointer p) +{ + mixgtk_cmd_dispatcher_dispatch (mix_vm_command_to_string (MIX_CMD_RUN)); +} + +void +on_debug_next_activate (GtkWidget *w, gpointer p) +{ + mixgtk_cmd_dispatcher_dispatch (mix_vm_command_to_string (MIX_CMD_NEXT)); +} + + void on_file_exit_activate (GtkWidget *w, gpointer data) { diff --git a/mixgtk/mixgtk_mixal.c b/mixgtk/mixgtk_mixal.c index d3ce72b..eeef239 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 * ------------------------------------------------------------------ - * Last change: Time-stamp: "01/03/10 02:27:52 jose" + * Last change: Time-stamp: "01/03/11 02:45:28 jose" * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -26,19 +26,41 @@ #include "mixgtk_widgets.h" #include "mixgtk_mixal.h" -static const mix_vm_t *vm_; + +static mix_vm_t *vm_; static GtkCList *clist_; +static GdkColor sel_color_; +static GdkColor break_color_; +static GdkColor plain_color_; static gulong lineno_; +#define SEL_COLOR_ "lightgrey" +#define BREAK_COLOR_ "red" +#define PLAIN_COLOR_ "white" + +static gboolean +init_color_ (GdkColor *c, const gchar *name) +{ + static GdkColormap *cmap = NULL; + if (!cmap) cmap = gtk_widget_get_colormap (GTK_WIDGET (clist_)); + return (gdk_color_parse (name, c) && + gdk_colormap_alloc_color (cmap, c, FALSE, TRUE)); +} /* initialise the mixal widgets */ gboolean -mixgtk_mixal_init (const mix_vm_t *vm) +mixgtk_mixal_init (mix_vm_t *vm) { g_return_val_if_fail (vm != NULL, FALSE); vm_ = vm; clist_ = GTK_CLIST (mixgtk_widget_factory_get (MIXGTK_WIDGET_MIXAL)); g_return_val_if_fail (clist_ != NULL, FALSE); + + /* allocate colors */ + g_return_val_if_fail (init_color_ (&sel_color_, SEL_COLOR_), FALSE); + g_return_val_if_fail (init_color_ (&break_color_, BREAK_COLOR_), FALSE); + g_return_val_if_fail (init_color_ (&plain_color_, PLAIN_COLOR_), FALSE); + return TRUE; } @@ -46,9 +68,10 @@ mixgtk_mixal_init (const mix_vm_t *vm) void mixgtk_mixal_load_file (void) { - enum {ADDR_SIZE = 10, CONT_SIZE = 20}; + enum {ADDR_SIZE = 20, CONT_SIZE = 200}; static gchar ADDR[ADDR_SIZE], CONT[CONT_SIZE]; - static const gchar *TEXT[3]; + static gchar *TEXT[] = {ADDR, CONT}; + static gchar *NULL_TEXT[] = {NULL, NULL}; const mix_src_file_t *file; @@ -68,22 +91,24 @@ mixgtk_mixal_load_file (void) gtk_clist_freeze (clist_); for (k = 0; k < lineno_; ++k) { - TEXT[0] = TEXT[1] = ""; - TEXT[2] = mix_src_file_get_line (file, k + 1); + const gchar *line = mix_src_file_get_line (file, k + 1); + snprintf (CONT, CONT_SIZE, "%03d: %s", k + 1, line); addr = mix_vm_get_lineno_address (vm_, k + 1); if (addr != MIX_VM_CELL_NO) { - snprintf (ADDR, ADDR_SIZE, "%04d", mix_short_magnitude (addr)); + sprintf (ADDR, "%04d: ", mix_short_magnitude (addr)); mix_word_print_to_buffer (mix_vm_get_addr_contents (vm_, addr), - CONT); - TEXT[0] = ADDR; - TEXT[1] = CONT; + ADDR + strlen (ADDR)); } - gtk_clist_append (clist_, (gchar **)TEXT); + else + ADDR[0] = '\0'; + gtk_clist_append (clist_, TEXT); + gtk_clist_set_row_data (clist_, k, GINT_TO_POINTER + (mix_short_magnitude (addr))); } - TEXT[0] = TEXT[1] = TEXT[2] = NULL; - gtk_clist_append (clist_, (gchar **)TEXT); - + gtk_clist_append (clist_, NULL_TEXT); + gtk_clist_set_row_data (clist_, k, GINT_TO_POINTER (MIX_VM_CELL_NO)); + gtk_clist_unselect_row (clist_, 0, 0); gtk_clist_thaw (clist_); } else @@ -92,24 +117,97 @@ mixgtk_mixal_load_file (void) /* update the widgets */ +static void +reset_bg_ (gint row) +{ + gint addr = GPOINTER_TO_INT (gtk_clist_get_row_data (clist_, row)); + gboolean isset = mix_vm_has_breakpoint_at_address (vm_, addr); + gtk_clist_set_background (clist_, row, + isset ? &break_color_ : &plain_color_); +} + +static void +select_row_ (gint row) +{ + static gint last = -1; + + gtk_clist_set_background (clist_, row, &sel_color_); + if (gtk_clist_row_is_visible (clist_, row) != GTK_VISIBILITY_FULL) + gtk_clist_moveto (clist_, row, 0, 0.25, 0); + if (last != -1 && last != row) reset_bg_ (last); + last = row; +} + void mixgtk_mixal_update (void) { gint addr = 0; gint k = 0; - gchar *addrval = NULL; g_assert (vm_); g_assert (clist_); addr = mix_short_magnitude (mix_vm_get_prog_count (vm_)); - while (k < lineno_) + k = gtk_clist_find_row_from_data (clist_, GINT_TO_POINTER (addr)); + select_row_ (k); +} + +/* breakpoints */ +void +mixgtk_mixal_update_bp_at_address (guint addr) +{ + gint k; + + g_assert (vm_); + g_assert (clist_); + + k = gtk_clist_find_row_from_data (clist_, GINT_TO_POINTER (addr)); + reset_bg_ (k); +} + +void +mixgtk_mixal_update_bp_at_line (guint line) +{ + if ( line < 1 ) return; + + while (line < lineno_) { - gtk_clist_get_text (clist_, k, 0, &addrval); - if (addrval && atoi(addrval) == addr) break; - ++k; + gint addr = GPOINTER_TO_INT (gtk_clist_get_row_data (clist_, line - 1)); + if (addr != MIX_VM_CELL_NO) break; + ++line; } - gtk_clist_select_row (clist_, k, 0); - if (gtk_clist_row_is_visible (clist_, k) != GTK_VISIBILITY_FULL) - gtk_clist_moveto (clist_, k, 0, 0.25, 0); + reset_bg_ (line - 1); } + +void +mixgtk_mixal_update_bp_all () +{ + gint k, addr; + for (k = 0; k < lineno_; ++k) reset_bg_ (k); + addr = mix_vm_get_prog_count (vm_); + k = gtk_clist_find_row_from_data (clist_, GINT_TO_POINTER (addr)); + select_row_ (k); +} + +/* callbacks */ +void +on_mixal_select_row (GtkWidget *w, gint row, gint col, GdkEventButton *e, + gpointer data) +{ + gboolean isset; + gint addr, pc; + + gtk_clist_unselect_row (clist_, row, col); + addr = GPOINTER_TO_INT (gtk_clist_get_row_data (clist_, row)); + pc = mix_vm_get_prog_count (vm_); + if (addr < MIX_VM_CELL_NO && addr != pc) + { + isset = mix_vm_has_breakpoint_at_address (vm_, addr); + if (isset) + mix_vm_clear_breakpoint_address (vm_, addr); + else + mix_vm_set_breakpoint_address (vm_, addr); + reset_bg_ (row); + } +} + diff --git a/mixgtk/mixgtk_mixal.h b/mixgtk/mixgtk_mixal.h index 076603c..819819a 100644 --- a/mixgtk/mixgtk_mixal.h +++ b/mixgtk/mixgtk_mixal.h @@ -1,7 +1,7 @@ /* -*-c-*- ---------------- mixgtk_mixal.h : * Declarations for functions displaying the mixal source file * ------------------------------------------------------------------ - * Last change: Time-stamp: <01/03/09 23:57:14 jose> + * Last change: Time-stamp: <01/03/11 00:19:30 jose> * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -25,21 +25,36 @@ #ifndef MIXGTK_MIXAL_H #define MIXGTK_MIXAL_H +#include #include -/* initialise the mixal widgets */ +/* initialise the mixal widget */ extern gboolean -mixgtk_mixal_init (const mix_vm_t *vm); +mixgtk_mixal_init (mix_vm_t *vm); /* load the corresponding mixal file */ extern void mixgtk_mixal_load_file (void); -/* update the widgets */ +/* update the widget */ extern void mixgtk_mixal_update (void); +/* breakpoints */ +extern void +mixgtk_mixal_update_bp_at_address (guint addr); + +extern void +mixgtk_mixal_update_bp_at_line (guint line); +extern void +mixgtk_mixal_update_bp_all (void); + + +/* callbacks */ +extern void +on_mixal_select_row (GtkWidget *w, gint row, gint col, GdkEventButton *e, + gpointer data); #endif /* MIXGTK_MIXAL_H */ diff --git a/mixgtk/mixgtk_widgets.h b/mixgtk/mixgtk_widgets.h index ac221cc..e457518 100644 --- a/mixgtk/mixgtk_widgets.h +++ b/mixgtk/mixgtk_widgets.h @@ -1,7 +1,7 @@ /* -*-c-*- ---------------- mixgtk_widgets.h : * glade-based factory of mixvm widgets * ------------------------------------------------------------------ - * Last change: Time-stamp: <01/03/09 23:08:10 jose> + * Last change: Time-stamp: <01/03/11 14:07:32 jose> * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * -- cgit v1.2.3