You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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