revision 238:6af4cc93b137
summary |
tree |
shortlog |
changelog |
graph |
changeset |
raw | bz2 | zip | gz changeset | 238:6af4cc93b137 |
parent | 237:6f1a429c9d12 |
child | 239:e5cd6b2d4586 |
author | nkeynes |
date | Fri Dec 15 10:17:08 2006 +0000 (17 years ago) |
Add UI for the trace flag
src/gui/callbacks.c | view | annotate | diff | log | ||
src/gui/callbacks.h | view | annotate | diff | log | ||
src/gui/mmio_win.c | view | annotate | diff | log |
1.1 --- a/src/gui/callbacks.c Thu Dec 14 12:31:38 2006 +00001.2 +++ b/src/gui/callbacks.c Fri Dec 15 10:17:08 2006 +00001.3 @@ -1,5 +1,5 @@1.4 /**1.5 - * $Id: callbacks.c,v 1.16 2006-07-02 04:59:00 nkeynes Exp $1.6 + * $Id: callbacks.c,v 1.17 2006-12-15 10:17:08 nkeynes Exp $1.7 *1.8 * All GTK callbacks go here (stubs are autogenerated by Glade)1.9 *1.10 @@ -27,6 +27,7 @@1.11 #include "gui/gui.h"1.12 #include "gdrom/gdrom.h"1.13 #include "mem.h"1.14 +#include "mmio.h"1.15 #include "dreamcast.h"1.16 #include "loader.h"1.18 @@ -155,6 +156,16 @@1.19 debug_win_toggle_breakpoint( data, selected_row );1.20 }1.22 +void on_trace_button_toggled (GtkToggleButton *button,1.23 + gpointer user_data)1.24 +{1.25 + struct mmio_region *io_rgn = (struct mmio_region *)user_data;1.26 + gboolean isActive = gtk_toggle_button_get_active(button);1.27 + if( io_rgn != NULL ) {1.28 + io_rgn->trace_flag = isActive ? 1 : 0;1.29 + }1.30 +}1.31 +1.33 gboolean1.34 on_debug_win_delete_event (GtkWidget *widget,
2.1 --- a/src/gui/callbacks.h Thu Dec 14 12:31:38 2006 +00002.2 +++ b/src/gui/callbacks.h Fri Dec 15 10:17:08 2006 +00002.3 @@ -1,5 +1,5 @@2.4 /**2.5 - * $Id: callbacks.h,v 1.4 2005-12-25 08:24:11 nkeynes Exp $2.6 + * $Id: callbacks.h,v 1.5 2006-12-15 10:17:08 nkeynes Exp $2.7 *2.8 * GTK callback declarations (stubs are autogenerated by Glade)2.9 *2.10 @@ -73,6 +73,10 @@2.11 on_break_btn_clicked (GtkButton *button,2.12 gpointer user_data);2.14 +void2.15 +on_trace_button_toggled (GtkToggleButton *button,2.16 + gpointer user_data);2.17 +2.18 gboolean2.19 on_debug_win_delete_event (GtkWidget *widget,2.20 GdkEvent *event,
3.1 --- a/src/gui/mmio_win.c Thu Dec 14 12:31:38 2006 +00003.2 +++ b/src/gui/mmio_win.c Fri Dec 15 10:17:08 2006 +00003.3 @@ -1,5 +1,5 @@3.4 /**3.5 - * $Id: mmio_win.c,v 1.4 2006-01-02 14:47:55 nkeynes Exp $3.6 + * $Id: mmio_win.c,v 1.5 2006-12-15 10:17:08 nkeynes Exp $3.7 *3.8 * Implements the MMIO register viewing window3.9 *3.10 @@ -19,6 +19,7 @@3.11 #include <stdint.h>3.12 #include <gnome.h>3.13 #include "interface.h"3.14 +#include "callbacks.h"3.15 #include "gui.h"3.16 #include "mem.h"3.17 #include "mmio.h"3.18 @@ -56,11 +57,13 @@3.19 }3.22 -static GtkCList *create_mmr_page( char *name )3.23 +static GtkCList *create_mmr_page( char *name, struct mmio_region *io_rgn )3.24 {3.25 GtkCList *list;3.26 GtkWidget *scroll;3.27 GtkWidget *tab;3.28 + GtkCheckButton *trace_button;3.29 + GtkVBox *vbox;3.31 scroll = gtk_scrolled_window_new(NULL, NULL);3.32 gtk_widget_show( scroll );3.33 @@ -86,8 +89,21 @@3.34 tab = gtk_label_new(_(name));3.35 gtk_widget_show( tab );3.36 gtk_container_add( GTK_CONTAINER(scroll), GTK_WIDGET(list) );3.37 - gtk_notebook_append_page( mmr_book, scroll, tab );3.38 +3.39 + vbox = gtk_vbox_new( FALSE, 0 );3.40 + gtk_widget_show( GTK_WIDGET(vbox) );3.41 + gtk_container_add( GTK_CONTAINER(vbox), GTK_WIDGET(scroll) );3.42 +3.43 + trace_button = gtk_check_button_new_with_label("Trace access");3.44 + gtk_widget_show( GTK_WIDGET(trace_button) );3.45 + gtk_container_add( GTK_CONTAINER(vbox), GTK_WIDGET(trace_button) );3.46 + gtk_box_set_child_packing( GTK_BOX(vbox), GTK_WIDGET(trace_button),3.47 + FALSE, FALSE, 0, GTK_PACK_START );3.48 + gtk_notebook_append_page( mmr_book, vbox, tab );3.49 gtk_object_set_data( GTK_OBJECT(mmr_win), name, list );3.50 + g_signal_connect ((gpointer) trace_button, "toggled",3.51 + G_CALLBACK (on_trace_button_toggled),3.52 + io_rgn);3.53 return list;3.54 }3.56 @@ -138,9 +154,9 @@3.57 /* kill the dummy page glade insists on adding */3.58 gtk_notebook_remove_page( mmr_book, 0 );3.60 - all_list = create_mmr_page( "All" );3.61 + all_list = create_mmr_page( "All", NULL );3.62 for( i=0; i < num_io_rgns; i++ ) {3.63 - GtkCList *list = create_mmr_page( io_rgn[i]->id );3.64 + GtkCList *list = create_mmr_page( io_rgn[i]->id, io_rgn[i] );3.66 for( j=0; io_rgn[i]->ports[j].id != NULL; j++ ) {3.67 int sz = io_rgn[i]->ports[j].width;
.