aboutsummaryrefslogtreecommitdiff
path: root/qtmips_gui/mainwindow.cpp
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2018-01-08 21:43:58 +0100
committerKarel Kočí <cynerd@email.cz>2018-01-08 21:43:58 +0100
commit506174a8266eb9842ff9e50a89ddf86cb975be30 (patch)
treecd1c2905d48c172d2b83e4230b1f76dc46e8f3d3 /qtmips_gui/mainwindow.cpp
parentbcdd7c87b1eda7dc6b294cfa0796ce7e36f12b23 (diff)
downloadqtmips-506174a8266eb9842ff9e50a89ddf86cb975be30.tar.gz
qtmips-506174a8266eb9842ff9e50a89ddf86cb975be30.tar.bz2
qtmips-506174a8266eb9842ff9e50a89ddf86cb975be30.zip
Add coreview progress
Diffstat (limited to 'qtmips_gui/mainwindow.cpp')
-rw-r--r--qtmips_gui/mainwindow.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/qtmips_gui/mainwindow.cpp b/qtmips_gui/mainwindow.cpp
index a476290..20cd1d9 100644
--- a/qtmips_gui/mainwindow.cpp
+++ b/qtmips_gui/mainwindow.cpp
@@ -87,7 +87,11 @@ void MainWindow::create_core(const machine::MachineConfig &config) {
// Create machine view
if (corescene != nullptr)
delete corescene;
- corescene = new CoreViewScene(coreview, machine);
+ if (config.pipelined()) {
+ corescene = new CoreViewScenePipelined(coreview, machine);
+ } else {
+ corescene = new CoreViewSceneSimple(coreview, machine);
+ }
coreview->setScene(corescene);
set_speed(); // Update machine speed to current settings
@@ -100,6 +104,10 @@ void MainWindow::create_core(const machine::MachineConfig &config) {
connect(machine, SIGNAL(status_change(machine::QtMipsMachine::Status)), this, SLOT(machine_status(machine::QtMipsMachine::Status)));
connect(machine, SIGNAL(program_exit()), this, SLOT(machine_exit()));
connect(machine, SIGNAL(program_trap(machine::QtMipsException&)), this, SLOT(machine_trap(machine::QtMipsException&)));
+ // Connect scene signals to actions
+ connect(corescene, SIGNAL(request_registers()), this, SLOT(show_registers()));
+ connect(corescene, SIGNAL(request_program_memory()), this, SLOT(show_program()));
+ connect(corescene, SIGNAL(request_data_memory()), this, SLOT(show_memory()));
// Setup docks
registers->setup(machine);