diff options
Diffstat (limited to 'qtmips_gui/memorydock.cpp')
-rw-r--r-- | qtmips_gui/memorydock.cpp | 37 |
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); } |