#ifndef STATEMACHINE_H #define STATEMACHINE_H #include /* QWStateMachine * Inherited realization of qt state machine for simpler state managment. */ class QWStateMachine final : public QStateMachine { Q_OBJECT Q_DISABLE_COPY_MOVE(QWStateMachine) private: QHash hash_states; public: explicit QWStateMachine(QObject *parent = nullptr); void registerState(QString &&str, QState *state) noexcept; QState *stateByKey(QString &&str) noexcept; }; #endif // STATEMACHINE_H