static void BrkModify( a_window *wnd, int row, int piece ) { brkp *bp; if( row < 0 ) { BrkMenuItem( wnd, MENU_BREAK_CREATE_NEW, row, piece ); return; } bp = BrkGetBP( row ); if( bp == NULL ) return; if( piece == PIECE_ACTIVE ) { WndRowDirty( wnd, row ); WndBreak( wnd )->toggled_break = true; ActPoint( bp, !bp->status.b.active ); #ifdef OPENER_GADGET } else if( piece == PIECE_OPENER ) { if( bp->size == 0 ) { if( bp->source_line != NULL ) { WndSrcInspect( bp->loc.addr ); } else { WndAsmInspect( bp->loc.addr ); } } #endif } else { WndFirstMenuItem( wnd, row, piece ); } }
static void ModModify( a_window *wnd, int row, int piece ) { if( piece == PIECE_SOURCE ) { if( ModHasSourceInfo( ModListMod( ModList( WndMod( wnd ) ), row ) ) ) { ModMenuItem( wnd, MENU_MODULES_SOURCE, row, piece ); } else { ModMenuItem( wnd, MENU_MODULES_ASSEMBLY, row, piece ); } WndDirtyCurr( wnd ); WndNewCurrent( wnd, row, PIECE_TABSTOP ); } else { WndFirstMenuItem( wnd, row, piece ); } }
static void FileModify( a_window *wnd, int row, int piece ) { file_window *file = WndFile( wnd ); address addr; if( piece == PIECE_BREAK ) { addr = GetRowAddr( file, row, TRUE ); if( IS_NIL_ADDR( addr ) ) return; file->toggled_break = ( ( WndFlags & UP_BREAK_CHANGE ) == 0 ); ToggleBreak( addr ); WndRowDirty( wnd, row ); } else { WndFirstMenuItem( wnd, row, piece ); } }
static void FuncModify( a_window *wnd, int row, int piece ) { address addr; func_window *func = WndFunc( wnd ); if( piece == PIECE_BREAK ) { if( row < 0 ) return; if( row >= NameListNumRows( NameList( func ) ) ) return; addr = NameListAddr( NameList( func ), row ); func->toggled_break = ( ( UpdateFlags & UP_BREAK_CHANGE ) == 0 ); ToggleBreak( addr ); WndRowDirty( wnd, row ); } else { WndFirstMenuItem( wnd, row, piece ); } }
OVL_EXTERN void IOModify( a_window wnd, wnd_row row, wnd_piece piece ) { if( row < 0 ) { IOMenuItem( wnd, MENU_IO_NEW_ADDRESS, row, piece ); return; } if( row >= IONumRows( wnd ) ) return; switch( piece ) { case PIECE_READ: IOMenuItem( wnd, MENU_IO_READ, row, piece ); break; case PIECE_WRITE: IOMenuItem( wnd, MENU_IO_WRITE, row, piece ); break; default: WndFirstMenuItem( wnd, row, piece ); break; } }