From 024af99de0dd9db8403ffe02b93f93c5a069e859 Mon Sep 17 00:00:00 2001 From: jaortega Date: Wed, 14 Mar 2001 22:59:02 +0000 Subject: gmixvm (v 0.3) completed --- mixgtk/Makefile.am | 9 ++- mixgtk/mixgtk.c | 9 +-- mixgtk/mixgtk.glade | 154 ++++++++++++++++++++++++++++++++++++++++++++++++ mixgtk/mixgtk_mixvm.c | 41 ++++++++++++- mixgtk/mixgtk_widgets.c | 4 +- mixgtk/mixgtk_widgets.h | 3 +- 6 files changed, 208 insertions(+), 12 deletions(-) (limited to 'mixgtk') diff --git a/mixgtk/Makefile.am b/mixgtk/Makefile.am index 7b1ed82..eb084a0 100644 --- a/mixgtk/Makefile.am +++ b/mixgtk/Makefile.am @@ -11,11 +11,14 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. EXTRA_DIST = mixgtk.glade -INCLUDES = -I$(includedir) +INCLUDES = -I$(includedir) -DGLADE_FILE=\""$(pkgdatadir)/mixgtk.glade"\"\ + -DLOCAL_GLADE_FILE=\"mixgtk.glade\" LDADD = $(top_builddir)/mixlib/libmix.a -bin_PROGRAMS = mixgtk -mixgtk_SOURCES = mixgtk.c mixgtk_gen_handlers.h mixgtk_gen_handlers.c \ + +pkgdata_DATA = mixgtk.glade +bin_PROGRAMS = gmixvm +gmixvm_SOURCES = mixgtk.c mixgtk_gen_handlers.h mixgtk_gen_handlers.c \ mixgtk_cmd_dispatcher.h mixgtk_cmd_dispatcher.c \ mixgtk_widgets.h mixgtk_widgets.c \ mixgtk_device.h mixgtk_device.c \ diff --git a/mixgtk/mixgtk.c b/mixgtk/mixgtk.c index 9dbae80..1bbc175 100644 --- a/mixgtk/mixgtk.c +++ b/mixgtk/mixgtk.c @@ -1,7 +1,7 @@ /* -*-c-*- -------------- mixgtk.c : * Main function of the mix gtk front-end * ------------------------------------------------------------------ - * Last change: Time-stamp: "01/03/13 00:12:37 jose" + * Last change: Time-stamp: "01/03/14 23:08:50 jose" * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -34,16 +34,17 @@ int main(int argc, char *argv[]) { - const gchar *glade_file = "mixgtk.glade"; mix_vm_t *vm; gtk_init(&argc, &argv); mix_init_lib (); - if (!mixgtk_widget_factory_init (glade_file)) + if (!mixgtk_widget_factory_init (GLADE_FILE) + && !mixgtk_widget_factory_init (LOCAL_GLADE_FILE)) { - g_error ("Unable to initialise application (using %s)\n", glade_file); + g_error ("Unable to initialise application (using %s and %s)\n", + GLADE_FILE, LOCAL_GLADE_FILE); return EXIT_FAILURE; } diff --git a/mixgtk/mixgtk.glade b/mixgtk/mixgtk.glade index 25df994..0ef2698 100644 --- a/mixgtk/mixgtk.glade +++ b/mixgtk/mixgtk.glade @@ -786,6 +786,11 @@ True Tue, 13 Mar 2001 07:38:52 GMT + + click_column + on_memory_cells_click_column + Wed, 14 Mar 2001 14:18:57 GMT + 2 53,135 GTK_SELECTION_SINGLE @@ -1528,4 +1533,153 @@ + + GtkDialog + goto_dialog + 190 + 116 + False + + destroy_event + gtk_widget_hide + Wed, 14 Mar 2001 14:39:17 GMT + + + delete_event + gtk_widget_hide + Wed, 14 Mar 2001 14:39:41 GMT + + + destroy + gtk_widget_hide + Wed, 14 Mar 2001 14:40:15 GMT + + Go to memory cell + GTK_WINDOW_DIALOG + GTK_WIN_POS_MOUSE + True + False + False + False + + + GtkVBox + Dialog:vbox + dialog-vbox6 + False + 0 + + + GtkHBox + Dialog:action_area + dialog-action_area6 + 10 + True + 5 + + 0 + False + True + GTK_PACK_END + + + + GtkHButtonBox + hbuttonbox6 + GTK_BUTTONBOX_DEFAULT_STYLE + 30 + 85 + 27 + 7 + 0 + + 0 + True + True + + + + GtkButton + goto_cancel + True + True + + clicked + on_goto_cancel_clicked + Wed, 14 Mar 2001 14:24:59 GMT + + + GTK_RELIEF_NORMAL + + + + GtkButton + goto_ok + True + True + + clicked + on_goto_ok_clicked + Wed, 14 Mar 2001 14:25:23 GMT + + + GTK_RELIEF_NORMAL + + + + + + GtkVBox + vbox1 + 12 + False + 0 + + 0 + False + False + + + + GtkLabel + label225 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 0 + True + True + + + + + GtkEntry + goto_entry + 44 + True + True + + activate + on_goto_ok_clicked + Wed, 14 Mar 2001 14:52:26 GMT + + True + True + 4 + + + 10 + False + False + + + + + + diff --git a/mixgtk/mixgtk_mixvm.c b/mixgtk/mixgtk_mixvm.c index c90b453..9c5d9bd 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 * ------------------------------------------------------------------ - * Last change: Time-stamp: "01/03/13 23:14:00 jose" + * Last change: Time-stamp: "01/03/14 16:34:31 jose" * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -21,6 +21,7 @@ * */ +#include #include #include "mixgtk_widgets.h" #include "mixgtk_mixvm.h" @@ -31,7 +32,10 @@ #define REGISTER_NO_ (MIXGTK_WIDGET_rI6 - MIXGTK_WIDGET_rA + 1) static GtkEntry *reg_entries_[REGISTER_NO_]; +static GtkTooltips *tips_; static GtkEntry *loc_entry_; +static GtkWidget *goto_; +static GtkEntry *goto_entry_; static GtkToggleButton *over_button_; static GtkToggleButton *cmp_buttons_[3]; static GtkCList *memory_; @@ -39,7 +43,8 @@ static GtkLabel *laptime_; static GtkLabel *progtime_; static GtkLabel *uptime_; static mix_vm_t *vm_; -static GtkTooltips *tips_; + +#define GOTO_ENTRY_NAME_ "goto_entry" static void update_register_ (mixgtk_widget_id_t reg) @@ -156,6 +161,13 @@ mixgtk_mixvm_init (mix_vm_t *vm) gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (on_mem_adj_change_), NULL); + goto_ = mixgtk_widget_factory_get (MIXGTK_WIDGET_GOTO_DIALOG); + g_return_val_if_fail (goto_ != NULL, FALSE); + + goto_entry_ = GTK_ENTRY (mixgtk_widget_factory_get_by_name + (GOTO_ENTRY_NAME_)); + g_return_val_if_fail (goto_entry_ != NULL, FALSE); + mixgtk_mixvm_update_vm_widgets (); return TRUE; @@ -384,3 +396,28 @@ on_memory_cells_select_row (GtkCList *w, gint row, gint col, mix_vm_get_addr_contents (vm_, mix_short_new (row)), mem_cell_, GINT_TO_POINTER (row)); } + +void +on_memory_cells_click_column (GtkCList *w, gint row, gpointer data) +{ + gtk_widget_show (goto_); +} + +void +on_goto_cancel_clicked (GtkWidget *w, gpointer data) +{ + gtk_widget_hide (goto_); +} + +void +on_goto_ok_clicked (GtkWidget *w, gpointer data) +{ + gchar *txt = gtk_entry_get_text (goto_entry_); + mix_short_t addr = mix_short_new (atoi (txt)); + if (addr < MIX_VM_CELL_NO) + { + gtk_widget_hide (goto_); + mixgtk_mixvm_update_cells_to_address (addr); + } +} + diff --git a/mixgtk/mixgtk_widgets.c b/mixgtk/mixgtk_widgets.c index 5a2cd91..13b675e 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/13 14:09:05 jose" + * Last change: Time-stamp: "01/03/14 16:54:22 jose" * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -35,6 +35,7 @@ static const gchar *names_[] = { "main_window", "word_dialog", "about_dialog", + "goto_dialog", "command_prompt", "command_log", "mixal_clist", @@ -84,7 +85,6 @@ mixgtk_widget_factory_init (const char *glade_file) g_return_val_if_fail (label != NULL, FALSE); gtk_label_set_text (GTK_LABEL(label), VERSION); gtk_widget_show (label); - g_print ("%s", VERSION); return TRUE; } diff --git a/mixgtk/mixgtk_widgets.h b/mixgtk/mixgtk_widgets.h index 43b1426..4a6f281 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/13 10:20:50 jose> + * Last change: Time-stamp: <01/03/14 15:36:43 jose> * ------------------------------------------------------------------ * Copyright (C) 2001 Free Software Foundation, Inc. * @@ -33,6 +33,7 @@ typedef enum { MIXGTK_WIDGET_MAIN, /* main app window */ MIXGTK_WIDGET_WORD_DIALOG, /* input dialog for a mix word */ MIXGTK_WIDGET_ABOUT_DIALOG, + MIXGTK_WIDGET_GOTO_DIALOG, MIXGTK_WIDGET_PROMPT, /* command prompt */ MIXGTK_WIDGET_LOG, /* command output */ MIXGTK_WIDGET_MIXAL, /* mixal source file */ -- cgit v1.2.3