#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include "machine.h" #include "loader.h" #include "executor.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void on_readButton_clicked(); void onLoadTriggered(); void on_runButton_clicked(); void on_stepButton_clicked(); void on_stopButton_clicked(); void updateRegisters(); void updateUI(); void setStatusLightRunning(); void setStatusLightStopped(); void setStatusLightEnded(); void on_menuVizitka_triggered(); signals: void startExecutor(); void stopExecutor(); void stepExecutor(); private: Ui::MainWindow *ui; Loader loader; Machine machine; Executor* executor; QThread* executorThread; QTimer* uiUpdateTimer; }; #endif // MAINWINDOW_H