static void GetDlgStatus( gui_window *gui ) { long tmp; unsigned old; old = NewCurrRadix( 10 ); _SwitchSet( SW_AUTO_SAVE_CONFIG, GUIIsChecked( gui, CTL_OPT_AUTO ) ); _SwitchSet( SW_BELL, GUIIsChecked( gui, CTL_OPT_BELL ) ); _SwitchSet( SW_IMPLICIT, GUIIsChecked( gui, CTL_OPT_IMPLICIT ) ); _SwitchSet( SW_RECURSE_CHECK, GUIIsChecked( gui, CTL_OPT_RECURSE ) ); _SwitchSet( SW_FLIP, GUIIsChecked( gui, CTL_OPT_FLIP ) ); _SwitchSet( SW_DONT_EXPAND_HEX, GUIIsChecked( gui, CTL_OPT_NOHEX ) ); LookCaseSet( !GUIIsChecked( gui, CTL_OPT_CASE ) ); if( DlgGetLong( gui, CTL_OPT_RADIX, &tmp ) ) { DefaultRadixSet( tmp ); old = NewCurrRadix( 10 ); } if( DlgGetLong( gui, CTL_OPT_DCLICK, &tmp ) ) { WndSetDClick( tmp ); } NewCurrRadix( old ); /* Don't change config if it is just the trap file that does not support the option! */ if( SupportsExactBreakpoints ) { _SwitchSet( SW_BREAK_ON_WRITE, GUIIsChecked( gui, CTL_OPT_BR_ON_WRITE ) ); CapabilitiesSetExactBreakpointSupport( _IsOn( SW_BREAK_ON_WRITE ) ? TRUE : FALSE ); } }
bool SetCapabilitiesExactBreakpointSupport( bool status, bool set_switch ) { /* Don't change config if it is just the trap file that does not support the option! */ if( SupportsExactBreakpoints ) { if( set_switch ) { _SwitchSet( SW_BREAK_ON_WRITE, status ); } if( _IsOn( SW_BREAK_ON_WRITE ) ) { return( CapabilitiesSetExactBreakpointSupport( status ) ); } } return( FALSE ); }
static bool ProcPending( void ) { for( ;; ) { for( ;; ) { if( InpStack == NULL ) return( FALSE ); if( InpStack->type & INP_NEW_LANG ) { InpStack->type &= ~INP_NEW_LANG; if( (CodeAddrMod != NO_MOD) && !IsInternalMod( CodeAddrMod ) ) { NewLang( ModSrcLang( CodeAddrMod ) ); } } if( InpStack->type & INP_STOP_PURGE ) return( FALSE ); if( InpStack->type & INP_NO_CMD ) break; if( CurrToken == T_LINE_SEPARATOR ) break; _SwitchSet( SW_CMD_INTERACTIVE, !(InpStack->type & (INP_BREAK_POINT|INP_HOOK))); _SwitchSet( SW_IN_REPLAY_MODE, (InpStack->type & INP_REPLAYED) ); ProcACmd(); } if( InpStack->rtn( InpStack->handle, INP_RTN_EOL ) ) continue; PopInpStack(); } }
static bool CapabilitiesSetExactBreakpointSupport( bool status ) { capabilities_set_8b_bp_req acc; capabilities_set_8b_bp_ret ret; if( SuppCapabilitiesId == 0 ) return( FALSE ); SUPP_CAPABILITIES_SERVICE( acc, REQ_CAPABILITIES_SET_EXACT_BP ); acc.status = status ? TRUE : FALSE; TrapSimpAccess( sizeof( acc ), &acc, sizeof( ret ), &ret ); if( ret.err != 0 ) { return( FALSE ); } else { _SwitchSet( SW_BREAK_ON_WRITE, ret.status ? TRUE : FALSE ); return( TRUE ); } }
static void RecursionSet( void ) { _SwitchSet( SW_RECURSE_CHECK, SwitchOnOff() ); }
static void DontExpandHexStringSet( void ) { _SwitchSet( SW_DONT_EXPAND_HEX, SwitchOnOff() ); }
static void BreakOnWriteSet( void ) { _SwitchSet( SW_BREAK_ON_WRITE, SwitchOnOff() ); SetCapabilitiesExactBreakpointSupport( TRUE, FALSE ); }
static void AutoSet( void ) { _SwitchSet( SW_AUTO_SAVE_CONFIG, SwitchOnOff() ); }
static void BellSet( void ) { _SwitchSet( SW_BELL, SwitchOnOff() ); }
static void GetDlgStatus( gui_window *gui ) { long tab; unsigned old; old = NewCurrRadix( 10 ); _SwitchSet( SW_ASM_SOURCE, GUIIsChecked( gui, CTL_WIND_ASM_SOURCE ) ); _SwitchSet( SW_ASM_HEX, GUIIsChecked( gui, CTL_WIND_ASM_HEX ) ); _SwitchSet( SW_VAR_WHOLE_EXPR, GUIIsChecked( gui, CTL_WIND_VAR_EXPR ) ); _SwitchSet( SW_VAR_SHOW_CODE, GUIIsChecked( gui, CTL_WIND_VAR_CODE ) ); _SwitchSet( SW_VAR_SHOW_INHERIT, GUIIsChecked( gui, CTL_WIND_VAR_INHERIT ) ); _SwitchSet( SW_VAR_SHOW_COMPILER, GUIIsChecked( gui, CTL_WIND_VAR_COMPILER ) ); _SwitchSet( SW_VAR_SHOW_MEMBERS, GUIIsChecked( gui, CTL_WIND_VAR_MEMBERS ) ); _SwitchSet( SW_VAR_SHOW_PRIVATE, GUIIsChecked( gui, CTL_WIND_VAR_PRIVATE ) ); _SwitchSet( SW_VAR_SHOW_PROTECTED, GUIIsChecked( gui, CTL_WIND_VAR_PROTECTED ) ); _SwitchSet( SW_VAR_SHOW_STATIC, GUIIsChecked( gui, CTL_WIND_VAR_STATIC ) ); _SwitchSet( SW_FUNC_D2_ONLY, GUIIsChecked( gui, CTL_WIND_FUNC_TYPED ) ); _SwitchSet( SW_GLOB_D2_ONLY, GUIIsChecked( gui, CTL_WIND_GLOB_TYPED ) ); _SwitchSet( SW_MOD_ALL_MODULES, GUIIsChecked( gui, CTL_WIND_MOD_ALL ) ); if( DlgGetLong( gui, CTL_WIND_FILE_TAB, &tab ) ) { TabIntervalSet( tab ); } AsmChangeOptions(); VarChangeOptions(); FuncChangeOptions(); GlobChangeOptions(); ModChangeOptions(); NewCurrRadix( old ); }
extern void ImplicitSet( void ) { _SwitchSet( SW_IMPLICIT, SwitchOnOff() ); }