diff options
author | Siddarth-Suresh <65844402+Siddarth-Suresh@users.noreply.github.com> | 2025-04-01 21:54:38 -0400 |
---|---|---|
committer | Siddarth-Suresh <65844402+Siddarth-Suresh@users.noreply.github.com> | 2025-04-01 21:54:38 -0400 |
commit | cc2781682a47dc331f7bbcb5d7842db5197d29fc (patch) | |
tree | 248c770c6e1a51756c5a8fa904ec4873fb66644e /gui/gui.h | |
parent | 6f536bd1bd1abab307c79d688c993e930cf7c250 (diff) |
GUI and controller on separate threads
Diffstat (limited to 'gui/gui.h')
-rw-r--r-- | gui/gui.h | 46 |
1 files changed, 46 insertions, 0 deletions
@@ -2,6 +2,12 @@ #define GUI_H #include <QMainWindow> +#include <QThread> +#include <QFileDialog> +#include <QFile> +#include <QTextStream> +#include <QTextEdit> +#include "worker.h" QT_BEGIN_NAMESPACE namespace Ui { @@ -17,7 +23,47 @@ public: GUI(QWidget *parent = nullptr); ~GUI(); +signals: + void sendRefreshDram(); + void sendRefreshCache(); + void sendRefreshRegisters(); + void sendRunSteps(int steps); + void sendRunStep(); + +private slots: + void onWorkerClockCycles(int value, int pc); + + void onWorkerShowDram(const std::vector<std::array<signed int, LINE_SIZE>> data); + + void onWorkerShowCache(const std::vector<std::array<signed int, LINE_SIZE>> data); + + void onWorkerShowRegisters(const std::array<int, GPR_NUM> &data); + + void onWorkerFinished(); + + void on_upload_intructions_btn_clicked(); + + void on_upload_program_state_btn_clicked(); + + void on_refresh_dram_btn_clicked(); + + void on_refresh_cache_btn_clicked(); + + void on_refresh_registers_btn_clicked(); + + void on_enable_pipeline_checkbox_checkStateChanged(const Qt::CheckState &arg1); + + void on_enabl_cache_checkbox_checkStateChanged(const Qt::CheckState &arg1); + + void on_run_steps_btn_clicked(); + + void on_step_btn_clicked(); + + void on_save_program_state_btn_clicked(); + private: Ui::GUI *ui; + QThread workerThread; + Worker *worker; }; #endif // GUI_H |