24 lines
530 B
C++
24 lines
530 B
C++
#ifndef STATEMACHINE_H
|
|
#define STATEMACHINE_H
|
|
|
|
#include <QStateMachine>
|
|
|
|
/* 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<QString, QState*> hash_states;
|
|
|
|
public:
|
|
explicit QWStateMachine(QObject *parent = nullptr);
|
|
|
|
void registerState(QString &&str, QState *state) noexcept;
|
|
QState *stateByKey(QString &&str) noexcept;
|
|
};
|
|
|
|
#endif // STATEMACHINE_H
|