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/mixgtk_mixvm.c | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) (limited to 'mixgtk/mixgtk_mixvm.c') 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); + } +} + -- cgit v1.2.3