aboutsummaryrefslogtreecommitdiff
path: root/qtmips_gui/memorydock.cpp
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2018-01-25 15:40:50 +0100
committerKarel Kočí <cynerd@email.cz>2018-01-25 15:40:50 +0100
commit92c7fd220506df5f7997d27dbbcdb513e66932a7 (patch)
tree387da2cffe29d48cb6894070c8dcdd9900bce2a9 /qtmips_gui/memorydock.cpp
parenteb75bba956fb13e156a89406f5928a55e7b66fc4 (diff)
downloadqtmips-92c7fd220506df5f7997d27dbbcdb513e66932a7.tar.gz
qtmips-92c7fd220506df5f7997d27dbbcdb513e66932a7.tar.bz2
qtmips-92c7fd220506df5f7997d27dbbcdb513e66932a7.zip
Implement memoryview
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);
}