diff options
author | Karel Kočí <cynerd@email.cz> | 2018-01-25 15:40:50 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2018-01-25 15:40:50 +0100 |
commit | 92c7fd220506df5f7997d27dbbcdb513e66932a7 (patch) | |
tree | 387da2cffe29d48cb6894070c8dcdd9900bce2a9 /qtmips_gui/memorydock.cpp | |
parent | eb75bba956fb13e156a89406f5928a55e7b66fc4 (diff) | |
download | qtmips-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.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); } |