this
state_
state_
if () {
}
} else {
} else if () {
QDebug((QtMsgType)0) << "" << ;
set_();
postInternalEvent(
eventSenders[] = new SCC_EventSender(this,0
,
new QSignalEvent(this,(*metaObject()).indexOfSignal(""),QVariantList() QVariant()
));
{ QObject* obj = eventSenders[]; if (obj) { (*obj).cancel(); }
#include "QStateMachine"
#include "QSignalTransition"
#include "QTimer"
#include "QFinalState"
#include "QHistoryState"
#include "QHash"
#include "QSignalEvent"
#include "QEventTransition"
#include "QDebug"
#ifndef __SMCLASS__H
#define __SMCLASS__H
class SMClass_;
class SCC_UnconditionalTransition : public QAbstractTransition
{
public:
SCC_UnconditionalTransition(QState* s)
: QAbstractTransition(s) {}
protected:
void onTransition(QEvent *) {}
bool eventTest(QEvent *) { return true; }
};
class SCC_EventSender : public QTimer
{
Q_OBJECT
private:
QStateMachine* machine;
QEvent* event;
public:
SCC_EventSender(QStateMachine* m, int delay, QEvent* e) : QTimer(m), machine(m), event(e)
{
setInterval(delay);
setSingleShot(true);
connect(this,SIGNAL(timeout()),this,SLOT(send()));
}
public Q_SLOTS:
void cancel() { stop(); deleteLater(); }
void send() { machine->postEvent(event); }
};
namespace {
class Transition_ : public QSignalTransition
{
SMClass_* stateMachine;
public:
Transition_(QState* parent)
: QSignalTransition(parent),stateMachine((SMClass_*)(*parent).machine())
{
}
protected:
bool eventTest(QEvent* e);
};
};
class SMClass_ : public QStateMachine
{
Q_OBJECT
Q_PROPERTY( READ get_ WRITE set_ NOTIFY _changed)
Q_PROPERTY(QAbstractAnimation* READ anim_ WRITE setAnim_)
public:
SMClass_(QObject* o) : QStateMachine(o) {}
QState* ;
QFinalState* ;
QHistoryState* ;
bool testCondition_(const QEvent & _event)
{
Q_UNUSED(_event)
return true;
}
get_() const
{
return _data.;
}
void set_(const & value)
{
_data. = value;
emit _changed(value);
}
protected:
struct {
;
} _data;
void initScript()
{
_data. = ;
}
private Q_SLOTS:
void exec_()
{
}
Q_SIGNALS:
void event_();
void _changed(const &);
protected:
#ifndef QT_NO_PROPERTIES
virtual void endSelectTransitions(QEvent *event)
{
(*).assignProperty(,"",QVariant());
}
#endif
private:
]]> _eventSenders;
public:
void setupStateMachine()
{
setObjectName("");
= new
QFinalState
QHistoryState
QState
();
(*).setObjectName("");
(*).setInitialState();
(*).setChildMode(ParallelStates);
(*).setHistoryType(QHistoryState::
Deep
Shallow
History);
QAbstractTransition* transition;
transition = new
Transition_(
QEventTransition(,
QSignalTransition(state_,SIGNAL(finished()),
QSignalTransition(this,SIGNAL(event_()),
SCC_UnconditionalTransition();
connect(transition,SIGNAL(triggered()),this,SLOT(exec_()));
(*transition).addAnimation();
(*transition).setTargetState(state_);
(*transition).setTargetStates(QList<QAbstractState*>() << state_);
connect(, SIGNAL(
entered
exited
()),this,SLOT(exec_()));
}
};
bool Transition_::eventTest(QEvent* e)
{
return QSignalTransition::eventTest(e)
&& stateMachine->testCondition_(e?(*e):QEvent(QEvent::None));
}
#endif