Add status indicator for ProcessorHandler
MODIFY
src/mainwindow.cpp
src/mainwindow.cpp
@@ -122,6 +122,9 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), m_ui(new Ui::Main
void MainWindow::setupStatusBar() {
statusBar()->showMessage("");
+ // Setup processorhandler status widget
+ setupStatusWidget(Processor);
+
// Setup syscall status widget
setupStatusWidget(Syscall);

MODIFY
src/processorhandler.cpp
src/processorhandler.cpp
#include "processorregistry.h"
#include "program.h"
#include "ripessettings.h"
+#include "statusmanager.h"
#include "syscall/riscv_syscall.h"
@@ -81,6 +82,7 @@ const vsrtl::core::SparseArray& ProcessorHandler::getRegisters() const {
}
void ProcessorHandler::run() {
+ ProcessorStatusManager::setStatus("Running...");
emit runStarted();
/** We create a cycleFunctor for running the design which will stop further running of the design when:
* - The user has stopped running the processor (m_stopRunningFlag)
@@ -100,6 +102,8 @@ void ProcessorHandler::run() {
// Start running through the VSRTL Widget interface
connect(&m_runWatcher, &QFutureWatcher<void>::finished, this, &ProcessorHandler::runFinished);
+ connect(&m_runWatcher, &QFutureWatcher<void>::finished, [=] { ProcessorStatusManager::clearStatus(); });
+
m_runWatcher.setFuture(m_vsrtlWidget->run(cycleFunctor));
}

MODIFY
src/processorhandler.h
src/processorhandler.h
namespace Ripes {
+StatusManager(Processor);
+
/**
* @brief The ProcessorHandler class
* Manages construction and destruction of a VSRTL processor design, when selecting between processors.

Add status indicator for ProcessorHandler