diff options
Diffstat (limited to 'qtmips_gui/programtableview.cpp')
-rw-r--r-- | qtmips_gui/programtableview.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/qtmips_gui/programtableview.cpp b/qtmips_gui/programtableview.cpp index 34a119a..005b518 100644 --- a/qtmips_gui/programtableview.cpp +++ b/qtmips_gui/programtableview.cpp @@ -153,3 +153,15 @@ void ProgramTableView:: go_to_address(std::uint32_t address) { addr0_save_change(address); emit m->update_all(); } + +void ProgramTableView::focus_address(std::uint32_t address) { + int row; + ProgramModel *m = dynamic_cast<ProgramModel*>(model()); + if (m == nullptr) + return; + if (!m->get_row_for_address(row, address)) + go_to_address(address); + if (!m->get_row_for_address(row, address)) + return; + setCurrentIndex(m->index(row, 3)); +} |