From 92c7fd220506df5f7997d27dbbcdb513e66932a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Thu, 25 Jan 2018 15:40:50 +0100 Subject: Implement memoryview --- qtmips_gui/memorydock.cpp | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) (limited to 'qtmips_gui/memorydock.cpp') 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 DataView::row_widget(std::uint32_t address, QWidget *parent) { + QList 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); } -- cgit v1.2.3