#pragma once #include #include #include #include #include #include #include #include #include #include #include #include class MainWindow final : public QMainWindow { Q_OBJECT public: explicit MainWindow(const std::shared_ptr &) noexcept; std::unique_ptr actionOpenDebuggerWindow{}; std::unique_ptr actionAbout{}; std::unique_ptr actionOpen{}; std::unique_ptr actionExit{}; std::unique_ptr actionPause{}; std::unique_ptr actionReset{}; std::unique_ptr actionStop{}; std::unique_ptr actionSettings{}; std::unique_ptr centralwidget{}; std::unique_ptr verticalLayout{}; std::unique_ptr vulkanWidget{}; std::unique_ptr menubar{}; std::unique_ptr menuFile{}; std::unique_ptr menuEmulation{}; std::unique_ptr menuTools{}; std::unique_ptr menuAbout{}; std::unique_ptr statusbar{}; private: void Retranslate(); void ConnectSignalsToSlots() noexcept; bool textPauseToggle = false; Q_SIGNALS: void OpenDebugger(); void OpenSettings(); void OpenROM(const QString &rom_file); void Exit(); void Reset(); void Stop(); void Pause(); };