public void UpdateCode() { int centerLineIndex = ctrlCode.GetLineIndexAtPosition(0) + ctrlCode.GetNumberVisibleLines() / 2; int centerLineAddress; int scrollOffset = -1; do { //Save the address at the center of the debug view centerLineAddress = _manager.Provider.GetLineAddress(centerLineIndex); centerLineIndex--; scrollOffset++; } while(centerLineAddress < 0 && centerLineIndex > 0); _manager.RefreshCode(); ctrlCode.DataProvider = _manager.Provider; if (centerLineAddress >= 0) { //Scroll to the same address as before, to prevent the code view from changing due to setting or banking changes, etc. int lineIndex = _manager.Provider.GetLineIndex((UInt32)centerLineAddress) + scrollOffset; ctrlCode.ScrollToLineIndex(lineIndex, eHistoryType.None, false, true); } GoToActiveAddress(); }
public void UpdateCode(bool refreshDisassembly = false) { int centerLineIndex = ctrlCode.GetLineIndexAtPosition(0) + ctrlCode.GetNumberVisibleLines() / 2; int centerLineAddress; int scrollOffset = -1; do { //Save the address at the center of the debug view centerLineAddress = _manager.Provider.GetLineAddress(centerLineIndex); centerLineIndex--; scrollOffset++; } while(centerLineAddress < 0 && centerLineIndex > 0); if (refreshDisassembly) { DebugApi.RefreshDisassembly(CpuType.Cpu); DebugApi.RefreshDisassembly(CpuType.Spc); DebugApi.RefreshDisassembly(CpuType.Sa1); DebugApi.RefreshDisassembly(CpuType.Gsu); DebugApi.RefreshDisassembly(CpuType.NecDsp); DebugApi.RefreshDisassembly(CpuType.Cx4); DebugApi.RefreshDisassembly(CpuType.Gameboy); } _manager.RefreshCode(_inSourceView ? _symbolProvider : null, _inSourceView ? cboSourceFile.SelectedItem as SourceFileInfo : null); ctrlCode.DataProvider = _manager.Provider; if (centerLineAddress >= 0) { //Scroll to the same address as before, to prevent the code view from changing due to setting or banking changes, etc. int lineIndex = _manager.Provider.GetLineIndex((UInt32)centerLineAddress) + scrollOffset; ctrlCode.ScrollToLineIndex(lineIndex, eHistoryType.None, false, true); } }
public void Initialize(IDisassemblyManager manager, BaseStyleProvider styleProvider) { _manager = manager; _styleProvider = styleProvider; ctrlCode.StyleProvider = _styleProvider; ctrlCode.ShowContentNotes = false; ctrlCode.ShowMemoryValues = true; ctrlCode.ExtendedMarginWidth = manager.ByteCodeSize * 4; ctrlCode.AddressSize = manager.AddressSize; _manager.RefreshCode(); }
public void Initialize(IDisassemblyManager manager, BaseStyleProvider styleProvider) { _manager = manager; _styleProvider = styleProvider; _symbolProvider = DebugWorkspaceManager.GetSymbolProvider(); ctrlCode.StyleProvider = _styleProvider; ctrlCode.ShowContentNotes = false; ctrlCode.ShowMemoryValues = true; ctrlCode.ExtendedMarginWidth = manager.ByteCodeSize * 4; ctrlCode.AddressSize = manager.AddressSize; UpdateSourceFileDropdown(); _manager.RefreshCode(_inSourceView ? _symbolProvider : null, _inSourceView ? cboSourceFile.SelectedItem as SourceFileInfo : null); }