From 44984f46aa6fdc81fe8e5af29e09c9c624d864c5 Mon Sep 17 00:00:00 2001 From: jaortega Date: Thu, 15 Mar 2001 17:26:39 +0000 Subject: 0.3 pre-release --- mixgtk/Makefile.am | 4 ++-- mixgtk/mixgtk.glade | 2 +- mixgtk/mixgtk_cmd_dispatcher.c | 36 ++++++++++++++++++++++++++++++------ mixgtk/mixgtk_widgets.c | 3 ++- mixgtk/mixgtk_widgets.h | 3 ++- 5 files changed, 37 insertions(+), 11 deletions(-) (limited to 'mixgtk') diff --git a/mixgtk/Makefile.am b/mixgtk/Makefile.am index eb084a0..f8b1bcf 100644 --- a/mixgtk/Makefile.am +++ b/mixgtk/Makefile.am @@ -15,7 +15,7 @@ INCLUDES = -I$(includedir) -DGLADE_FILE=\""$(pkgdatadir)/mixgtk.glade"\"\ -DLOCAL_GLADE_FILE=\"mixgtk.glade\" LDADD = $(top_builddir)/mixlib/libmix.a - +if MAKE_GUI pkgdata_DATA = mixgtk.glade bin_PROGRAMS = gmixvm gmixvm_SOURCES = mixgtk.c mixgtk_gen_handlers.h mixgtk_gen_handlers.c \ @@ -25,7 +25,7 @@ gmixvm_SOURCES = mixgtk.c mixgtk_gen_handlers.h mixgtk_gen_handlers.c \ mixgtk_mixvm.h mixgtk_mixvm.c \ mixgtk_mixal.h mixgtk_mixal.c \ mixgtk_input.h mixgtk_input.c - +endif diff --git a/mixgtk/mixgtk.glade b/mixgtk/mixgtk.glade index 0ef2698..0d30282 100644 --- a/mixgtk/mixgtk.glade +++ b/mixgtk/mixgtk.glade @@ -23,7 +23,7 @@ on_main_window_destroy Tue, 20 Feb 2001 21:58:29 GMT - mixgtk + gmixvm GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False diff --git a/mixgtk/mixgtk_cmd_dispatcher.c b/mixgtk/mixgtk_cmd_dispatcher.c index 71b5877..11acc1d 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/12 02:05:43 jose" + * Last change: Time-stamp: "01/03/15 16:01:43 jose" * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -40,6 +40,8 @@ struct mixgtk_dispatch_ size_t out_buffer_size; GtkWidget *prompt; GtkWidget *log; + GtkWidget *status; + guint context; GCompletion *completions; }; @@ -101,8 +103,21 @@ static void load_post_hook_ (mix_vm_cmd_dispatcher_t *dis, const gchar *arg, gpointer data) { - mixgtk_mixal_load_file (); - mixgtk_mixal_update (); + static glong id = -1; + + if (mix_vm_cmd_dispatcher_get_last_result (dis)) + { + gchar *file = g_strdup (arg); + mixgtk_mixal_load_file (); + mixgtk_mixal_update (); + + if (id != -1) + gtk_statusbar_remove (GTK_STATUSBAR (dis_data_.status), + dis_data_.context, (guint)id); + id = + gtk_statusbar_push (GTK_STATUSBAR (dis_data_.status), dis_data_.context, + file); + } } static void @@ -182,22 +197,31 @@ mixgtk_cmd_dispatcher_init (void) if (!dis_data_.prompt) { dis_data_.prompt = mixgtk_widget_factory_get (MIXGTK_WIDGET_PROMPT); - if (!dis_data_.prompt) return FALSE; + g_return_val_if_fail (dis_data_.prompt != NULL, FALSE); dis_data_.log = mixgtk_widget_factory_get (MIXGTK_WIDGET_LOG); - if (!dis_data_.log) return FALSE; + g_return_val_if_fail (dis_data_.log != NULL, FALSE); } if (!dis_data_.dispatcher) { FILE *out = open_memstream (&(dis_data_.out_buffer), &(dis_data_.out_buffer_size)); - if (!out) return FALSE; + g_return_val_if_fail (out != NULL, FALSE); dis_data_.out = out; dis_data_.dispatcher = mix_vm_cmd_dispatcher_new (out, out); mix_vm_cmd_dispatcher_print_time (dis_data_.dispatcher, FALSE); install_hooks_ (); } + if (!dis_data_.status) + { + dis_data_.status = mixgtk_widget_factory_get (MIXGTK_WIDGET_STATUSBAR); + g_return_val_if_fail (dis_data_.status != NULL, FALSE); + dis_data_.context = gtk_statusbar_get_context_id (GTK_STATUSBAR + (dis_data_.status), + "cmd_dis_context"); + } + if (!dis_data_.completions) init_completions_ (); return TRUE; diff --git a/mixgtk/mixgtk_widgets.c b/mixgtk/mixgtk_widgets.c index 13b675e..165da81 100644 --- a/mixgtk/mixgtk_widgets.c +++ b/mixgtk/mixgtk_widgets.c @@ -1,7 +1,7 @@ /* -*-c-*- -------------- mixgtk_widgets.c : * Implementation of the functions declared in mixgtk_widgets.h * ------------------------------------------------------------------ - * Last change: Time-stamp: "01/03/14 16:54:22 jose" + * Last change: Time-stamp: "01/03/15 14:42:37 jose" * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -33,6 +33,7 @@ static GladeXML *xml_ = NULL; /* widget names */ static const gchar *names_[] = { "main_window", + "main_statusbar", "word_dialog", "about_dialog", "goto_dialog", diff --git a/mixgtk/mixgtk_widgets.h b/mixgtk/mixgtk_widgets.h index 4a6f281..f20ddc3 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/14 15:36:43 jose> + * Last change: Time-stamp: <01/03/15 14:42:13 jose> * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -31,6 +31,7 @@ /* enumeration of mixvm widget ids */ typedef enum { MIXGTK_WIDGET_MAIN, /* main app window */ + MIXGTK_WIDGET_STATUSBAR, MIXGTK_WIDGET_WORD_DIALOG, /* input dialog for a mix word */ MIXGTK_WIDGET_ABOUT_DIALOG, MIXGTK_WIDGET_GOTO_DIALOG, -- cgit v1.2.3