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
|