} wnd_info GlobInfo = { GlobEventProc, GlobRefresh, GlobGetLine, GlobMenuItem, NoScroll, NoBegPaint, NoEndPaint, WndFirstMenuItem, GlobNumRows, NoNextRow, NoNotify, UP_SYM_CHANGE, DefPopUp( GlobMenu ) }; extern a_window *DoWndGlobOpen( mod_handle mod ) { glob_window *glob; glob = WndMustAlloc( sizeof( glob_window ) ); glob->mod = mod; return( DbgWndCreate( LIT( WindowGlobals ), &GlobInfo, WND_GLOBALS, glob, &GlobIcon ) ); } extern WNDOPEN WndGlobOpen; extern a_window *WndGlobOpen() { return( DoWndGlobOpen( NO_MOD ) );
return( false ); } wnd_info CallInfo = { CallEventProc, CallRefresh, CallGetLine, CallMenuItem, NoScroll, NoBegPaint, NoEndPaint, WndFirstMenuItem, CallNumRows, NoNextRow, NoNotify, ChkFlags, UP_RADIX_CHANGE+UP_SYM_CHANGE+UP_CSIP_CHANGE+UP_STACKPOS_CHANGE, DefPopUp( CallMenu ) }; extern a_window *WndCallOpen( void ) { call_window *call; a_window *wnd; call = WndMustAlloc( sizeof( call_window ) ); wnd = DbgWndCreate( LIT_DUI( WindowCalls ), &CallInfo, WND_CALL, call, &CallIcon ); return( wnd ); }
return( TRUE ); case GUI_DESTROY: return( FALSE ); } return( FALSE ); } wnd_info ImgInfo = { ImgEventProc, ImgRefresh, ImgGetLine, ImgMenuItem, NoScroll, NoBegPaint, NoEndPaint, WndFirstMenuItem, ImgNumRows, NoNextRow, NoNotify, ChkFlags, UP_SYM_CHANGE, DefPopUp( ImgMenu ) }; extern WNDOPEN WndImgOpen; extern a_window *WndImgOpen( void ) { return( DbgTitleWndCreate( LIT_DUI( WindowImages ), &ImgInfo, WND_IMAGE, NULL, &ImgIcon, TITLE_SIZE, TRUE ) ); }
line->text = thd->name; return( true ); } } return( false ); } wnd_info TrdInfo = { NoEventProc, TrdRefresh, TrdGetLine, TrdMenuItem, NoScroll, NoBegPaint, NoEndPaint, WndFirstMenuItem, TrdNumRows, NoNextRow, NoNotify, ChkFlags, UP_THREAD_STATE, DefPopUp( TrdMenu ), }; a_window *WndTrdOpen( void ) { return( DbgTitleWndCreate( LIT_DUI( WindowThreads ), &TrdInfo, WND_THREAD, NULL, &TrdIcon, TITLE_SIZE, true ) ); }
wnd_info IOInfo = { IOWndEventProc, IORefresh, IOGetLine, IOMenuItem, NoScroll, NoBegPaint, NoEndPaint, IOModify, IONumRows, NoNextRow, NoNotify, ChkFlags, UP_RADIX_CHANGE, DefPopUp( IOMenu ) }; void IONewAddr( a_window wnd, address *addr, int type ) { IOAddNewAddr( wnd, addr, type ); IOMenuItem( wnd, MENU_IO_READ, WndIO( wnd )->num_rows - 1, PIECE_VALUE ); WndSetRepaint( wnd ); } a_window DoWndIOOpen( address *addr, mad_type_handle mth ) { io_window *io; int i;
wnd_info WPSampleInfo = { sampleEventProc, sampleRefresh, sampleGetLine, sampleMenuItem, NoScroll, NoBegPaint, NoEndPaint, WndFirstMenuItem, SampleNumRows, NoNextRow, NoNotify, NULL, 0, DefPopUp( sampleMenu ) }; void WPSampleOpen( void ) /***********************/ { if( CurrSIOData->sample_window == NULL ) { CurrSIOData->sample_window = sampleCreateWin(); if( CurrSIOData->sample_window != NULL ) { sampleOpenMainImage(); WndSetThumb( CurrSIOData->sample_window ); } } if( CurrSIOData->sample_window != NULL ) {
WndScrollAbs( wnd, 0 ); break; } } wnd_info W4Info = { NoEventProc, W4Refresh, W4GetLine, W4MenuItem, NoScroll, NoBegPaint, NoEndPaint, W4Modify, W4NumRows, NoNextRow, NoNotify, 0, DefPopUp( W4PopUp ) }; extern WNDOPEN W4Open; extern a_window *W4Open() { a_window *wnd; wnd = WndCreate( "", &W4Info, 0, NULL ); if( wnd ) WndSetKey( wnd, 1 ); return( wnd ); }
wnd_info FuncInfo = { FuncEventProc, FuncRefresh, FuncGetLine, FuncMenuItem, NoScroll, NoBegPaint, NoEndPaint, FuncModify, FuncNumRows, NoNextRow, NoNotify, ChkFlags, UP_SYM_CHANGE+UP_BREAK_CHANGE+UP_CODE_ADDR_CHANGE, DefPopUp( FuncMenu ) }; extern a_window *DoWndFuncOpen( bool is_global, mod_handle mod ) { func_window *func; wnd_class wndcls; const char *title; func = WndMustAlloc( sizeof( func_window ) ); func->mod = mod; if( is_global ) { wndcls = WND_GBLFUNCTIONS; func->is_global = TRUE; } else { wndcls = WND_FUNCTIONS;
} wnd_info RunTrdInfo = { RunTrdEventProc, RunTrdRefresh, RunTrdGetLine, RunTrdMenuItem, NoScroll, NoBegPaint, NoEndPaint, WndFirstMenuItem, RunTrdNumRows, NoNextRow, NoNotify, UP_THREAD_STATE, DefPopUp( RunTrdMenu ), }; a_window *WndRunTrdOpen() { return( DbgTitleWndCreate( LIT( WindowThreads ), &RunTrdInfo, WND_RUN_THREAD, NULL, &TrdIcon, TITLE_SIZE, TRUE ) ); } void RunThreadNotify( void ) { thread_state *thd; if( HeadThd && HaveRemoteRunThread() ) { RemotePollRunThread();
wnd_info MadRegInfo = { RegEventProc, RegRefresh, RegGetLine, RegMenuItem, NoScroll, NoBegPaint, NoEndPaint, WndFirstMenuItem, RegNumRows, NoNextRow, NoNotify, ChkFlags, UP_MAD_CHANGE+UP_REG_CHANGE+UP_REG_RESIZE, DefPopUp( RegMenu ) }; void MadRegChangeOptions( a_window *wnd ) { RegResize( wnd ); WndZapped( wnd ); } extern a_window *WndMadRegOpen( mad_type_kind kind, wnd_class_wv wndclass, gui_resource *icon ) { reg_window *reg; a_window *wnd; reg = WndMustAlloc( sizeof( reg_window ) ); reg->kind = kind;
switch( gui_ev ) { case GUI_INIT_WINDOW: RepRefresh( wnd ); return( true ); } return( false ); } wnd_info RepInfo = { RepEventProc, RepRefresh, RepGetLine, RepMenuItem, NoScroll, NoBegPaint, NoEndPaint, NoModify, RepNumRows, NoNextRow, NoNotify, ChkFlags, UP_EVENT_CHANGE, DefPopUp( RepMenu ) }; extern a_window *WndRepOpen( void ) { return( DbgWndCreate( LIT_DUI( WindowReplay ), &RepInfo, WND_REPLAY, NULL, &RepIcon ) ); }
} wnd_info ModInfo = { ModEventProc, ModRefresh, ModGetLine, ModMenuItem, NoScroll, NoBegPaint, NoEndPaint, ModModify, ModNumRows, NoNextRow, NoNotify, UP_SYM_CHANGE+UP_OPEN_CHANGE+UP_CSIP_CHANGE+UP_STACKPOS_CHANGE, DefPopUp( ModMenu ) }; extern a_window *DoWndModOpen( mod_handle handle ) { mod_window *mod; mod = WndMustAlloc( sizeof( mod_window ) ); mod->handle = handle; return( DbgWndCreate( LIT( WindowModules ), &ModInfo, WND_MODULES, mod, &ModIcon ) ); } extern WNDOPEN WndModOpen; extern a_window *WndModOpen() { return( DoWndModOpen( NO_MOD ) );
wnd_info BrkInfo = { BrkEventProc, BrkRefresh, BrkGetLine, BrkMenuItem, NoScroll, NoBegPaint, NoEndPaint, BrkModify, BrkNumRows, NoNextRow, NoNotify, ChkFlags, UP_MEM_CHANGE+UP_RADIX_CHANGE+ UP_SYM_CHANGE+UP_BREAK_CHANGE+UP_OPEN_CHANGE, DefPopUp( BrkMenu ) }; extern a_window *WndBrkOpen( void ) { a_window *wnd; break_window *brkw; brkw = WndMustAlloc( sizeof( *brkw ) ); wnd = DbgWndCreate( LIT_DUI( WindowBrk ), &BrkInfo, WND_BREAK, brkw, &BrkIcon ); if( wnd != NULL ) WndClrSwitches( wnd, WSW_ONLY_MODIFY_TABSTOP ); return( wnd ); }