nkeynes@1: /* nkeynes@1: * Gui related code nkeynes@1: */ nkeynes@1: #ifndef dream_gui_H nkeynes@1: #define dream_gui_H 1 nkeynes@1: nkeynes@1: #include nkeynes@1: #include "dream.h" nkeynes@9: #include "disasm.h" nkeynes@1: nkeynes@1: #ifdef __cplusplus nkeynes@1: extern "C" { nkeynes@1: #if 0 nkeynes@1: } nkeynes@1: #endif nkeynes@1: #endif nkeynes@1: nkeynes@2: void init_gui(void); nkeynes@2: void update_gui(void); nkeynes@2: nkeynes@9: typedef struct debug_info_struct *debug_info_t; nkeynes@9: extern debug_info_t main_debug; nkeynes@9: nkeynes@18: typedef int (*file_callback_t)( const gchar *filename ); nkeynes@18: void open_file_dialog( char *title, file_callback_t file_handler, char *pattern, char *patname ); nkeynes@18: void save_file_dialog( char *title, file_callback_t file_handler, char *pattern, char *patname ); nkeynes@18: nkeynes@11: debug_info_t init_debug_win(GtkWidget *, cpu_desc_t *cpu ); nkeynes@9: debug_info_t get_debug_info(GtkWidget *widget); nkeynes@1: void update_mmr_win( void ); nkeynes@1: void init_mmr_win( void ); nkeynes@9: void update_registers( debug_info_t debug ); nkeynes@9: void update_icount( debug_info_t debug ); nkeynes@9: void dump_win_update_all(); nkeynes@9: void set_disassembly_region( debug_info_t debug, unsigned int page ); nkeynes@9: void set_disassembly_pc( debug_info_t debug, unsigned int pc, gboolean select ); nkeynes@10: void set_disassembly_cpu( debug_info_t debug, char *cpu_name ); nkeynes@9: void jump_to_disassembly( debug_info_t debug, unsigned int addr, gboolean select ); nkeynes@9: void jump_to_pc( debug_info_t debug, gboolean select ); nkeynes@9: uint32_t row_to_address( debug_info_t debug, int row ); nkeynes@9: int address_to_row( debug_info_t debug, uint32_t address ); nkeynes@1: nkeynes@2: extern PangoFontDescription *fixed_list_font; nkeynes@2: extern GdkColor clrNormal, clrChanged, clrError, clrWarn, nkeynes@2: clrPC, clrDebug, clrTrace; nkeynes@1: nkeynes@1: void mmr_open_win( void ); nkeynes@1: void mmr_close_win( void ); nkeynes@2: uint32_t gtk_entry_get_hex_value( GtkEntry *entry, uint32_t defaultValue ); nkeynes@2: void gtk_entry_set_hex_value( GtkEntry *entry, uint32_t value ); nkeynes@1: nkeynes@1: #ifdef __cplusplus nkeynes@1: } nkeynes@1: #endif nkeynes@1: #endif