aboutsummaryrefslogtreecommitdiff
path: root/qtmips_gui/memorydock.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qtmips_gui/memorydock.cpp')
-rw-r--r--qtmips_gui/memorydock.cpp37
1 files changed, 25 insertions, 12 deletions
diff --git a/qtmips_gui/memorydock.cpp b/qtmips_gui/memorydock.cpp
index 8998b32..d0bad9c 100644
--- a/qtmips_gui/memorydock.cpp
+++ b/qtmips_gui/memorydock.cpp
@@ -1,22 +1,35 @@
#include "memorydock.h"
+DataView::DataView(QWidget *parent) : MemoryView(parent) { }
+
+QList<QWidget*> DataView::row_widget(std::uint32_t address, QWidget *parent) {
+ QList<QWidget*> widgs;
+ QLabel *l;
+
+ l = new QLabel(QString("0x%1").arg(address, 8, 16, QChar('0')), parent);
+ l->setTextInteractionFlags(Qt::TextSelectableByMouse);
+ widgs.append(l);
+
+ l = new QLabel(parent);
+ l->setTextInteractionFlags(Qt::TextSelectableByMouse);
+ if (memory != nullptr) {
+ l->setText(QString("0x%1").arg(memory->read_word(address), 8, 16, QChar('0')));
+ }
+ else
+ l->setText(" "); // Just fill it in with some plain text so we don't have just addresses there
+ widgs.append(l);
+
+ return widgs;
+}
+
MemoryDock::MemoryDock(QWidget *parent) : QDockWidget(parent) {
- memory_view = new MemoryView(this);
- setWidget(memory_view);
+ view = new DataView(this);
+ setWidget(view);
setObjectName("Memory");
setWindowTitle("Memory");
}
-MemoryDock::~MemoryDock() {
- delete memory_view;
-}
-
void MemoryDock::setup(machine::QtMipsMachine *machine) {
- if (machine == nullptr)
- // TODO reset memory view
- return;
-
- // TODO setup memory view
-
+ view->setup(machine);
}