aboutsummaryrefslogtreecommitdiff
path: root/qtmips_gui/memorytableview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qtmips_gui/memorytableview.cpp')
-rw-r--r--qtmips_gui/memorytableview.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/qtmips_gui/memorytableview.cpp b/qtmips_gui/memorytableview.cpp
index 18e1bb1..e2386fa 100644
--- a/qtmips_gui/memorytableview.cpp
+++ b/qtmips_gui/memorytableview.cpp
@@ -167,7 +167,7 @@ void MemoryTableView::resizeEvent(QResizeEvent *event) {
}
}
-void MemoryTableView:: go_to_address(std::uint32_t address) {
+void MemoryTableView::go_to_address(std::uint32_t address) {
MemoryModel *m = dynamic_cast<MemoryModel*>(model());
int row;
if (m == nullptr)
@@ -179,3 +179,15 @@ void MemoryTableView:: go_to_address(std::uint32_t address) {
addr0_save_change(address);
emit m->update_all();
}
+
+void MemoryTableView::focus_address(std::uint32_t address) {
+ int row;
+ MemoryModel *m = dynamic_cast<MemoryModel*>(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, 1));
+}