#pragma once // Qt #include #include // Project #include "guiactions.h" #define QML(qml) QStringLiteral("qrc:/qml/" qml ".qml") namespace Gui { class GuiController : public QObject { Q_OBJECT QQuickView _viewer; void registerView(); static GuiController *_instance; explicit GuiController(QObject *parent = nullptr); public: static GuiController *I(); void init(); private slots: void onUiStatusChanged(QQuickView::Status vStatus); void actionEvaluation(GuiAction vAction); signals: void initialized(bool ok); void actionRequested(GuiAction vAction); void actionEvaluated(GuiAction vAction, bool vAccepted); }; }