Qt 4.8
Signals | Public Functions | Protected Functions | Properties | List of all members
QAbstractTransition Class Referenceabstract

The QAbstractTransition class is the base class of transitions between QAbstractState objects. More...

#include <qabstracttransition.h>

Inheritance diagram for QAbstractTransition:
QObject _QStateMachine_Internal::GoToStateTransition QBasicKeyEventTransition QBasicMouseEventTransition QEventTransition QSignalTransition QKeyEventTransition QMouseEventTransition

Signals

void triggered ()
 This signal is emitted when the transition has been triggered (after onTransition() has been called). More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 

Public Functions

void addAnimation (QAbstractAnimation *animation)
 Adds the given animation to this transition. More...
 
QList< QAbstractAnimation * > animations () const
 Returns the list of animations associated with this transition, or an empty list if it has no animations. More...
 
QStateMachinemachine () const
 Returns the state machine that this transition is part of, or 0 if the transition is not part of a state machine. More...
 
 QAbstractTransition (QState *sourceState=0)
 Constructs a new QAbstractTransition object with the given sourceState. More...
 
void removeAnimation (QAbstractAnimation *animation)
 Removes the given animation from this transition. More...
 
void setTargetState (QAbstractState *target)
 Sets the target state of this transition. More...
 
void setTargetStates (const QList< QAbstractState *> &targets)
 Sets the target states of this transition to be the given targets. More...
 
QStatesourceState () const
 
QAbstractStatetargetState () const
 
QList< QAbstractState * > targetStates () const
 
virtual ~QAbstractTransition ()
 Destroys this transition. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 

Protected Functions

bool event (QEvent *e)
 Reimplemented Function More...
 
virtual bool eventTest (QEvent *event)=0
 This function is called to determine whether the given event should cause this transition to trigger. More...
 
virtual void onTransition (QEvent *event)=0
 This function is called when the transition is triggered. More...
 
 QAbstractTransition (QAbstractTransitionPrivate &dd, QState *parent)
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 

Properties

QStatesourceState
 the source state (parent) of this transition More...
 
QAbstractStatetargetState
 the target state of this transition More...
 
QList< QAbstractState * > targetStates
 the target states of this transition More...
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QAbstractTransition class is the base class of transitions between QAbstractState objects.

Since
4.6

The QAbstractTransition class is the abstract base class of transitions between states (QAbstractState objects) of a QStateMachine. QAbstractTransition is part of The State Machine Framework.

The sourceState() function returns the source of the transition. The targetStates() function returns the targets of the transition. The machine() function returns the state machine that the transition is part of.

The triggered() signal is emitted when the transition has been triggered.

Transitions can cause animations to be played. Use the addAnimation() function to add an animation to the transition.

Subclassing

The eventTest() function is called by the state machine to determine whether an event should trigger the transition. In your reimplementation you typically check the event type and cast the event object to the proper type, and check that one or more properties of the event meet your criteria.

The onTransition() function is called when the transition is triggered; reimplement this function to perform custom processing for the transition.

Definition at line 67 of file qabstracttransition.h.

Constructors and Destructors

◆ QAbstractTransition() [1/2]

QAbstractTransition::QAbstractTransition ( QState sourceState = 0)

Constructs a new QAbstractTransition object with the given sourceState.

Definition at line 166 of file qabstracttransition.cpp.

167  : QObject(*new QAbstractTransitionPrivate, sourceState)
168 {
169 }
Q_INVOKABLE QObject(QObject *parent=0)
Constructs an object with parent object parent.
Definition: qobject.cpp:753

◆ ~QAbstractTransition()

QAbstractTransition::~QAbstractTransition ( )
virtual

Destroys this transition.

Definition at line 183 of file qabstracttransition.cpp.

184 {
185 }

◆ QAbstractTransition() [2/2]

QAbstractTransition::QAbstractTransition ( QAbstractTransitionPrivate dd,
QState parent 
)
protected
Warning
This function is not part of the public interface.

Definition at line 174 of file qabstracttransition.cpp.

176  : QObject(dd, parent)
177 {
178 }
Q_INVOKABLE QObject(QObject *parent=0)
Constructs an object with parent object parent.
Definition: qobject.cpp:753

Functions

◆ addAnimation()

void QAbstractTransition::addAnimation ( QAbstractAnimation animation)

Adds the given animation to this transition.

The transition does not take ownership of the animation.

See also
removeAnimation(), animations()

Definition at line 275 of file qabstracttransition.cpp.

276 {
278  if (!animation) {
279  qWarning("QAbstractTransition::addAnimation: cannot add null animation");
280  return;
281  }
282  d->animations.append(animation);
283 }
double d
Definition: qnumeric_p.h:62
The QAbstractTransition class is the base class of transitions between QAbstractState objects...
#define Q_D(Class)
Definition: qglobal.h:2482
Q_CORE_EXPORT void qWarning(const char *,...)

◆ animations()

QList< QAbstractAnimation * > QAbstractTransition::animations ( ) const

Returns the list of animations associated with this transition, or an empty list if it has no animations.

See also
addAnimation()

Definition at line 306 of file qabstracttransition.cpp.

Referenced by QStateMachinePrivate::applyProperties().

307 {
308  Q_D(const QAbstractTransition);
309  return d->animations;
310 }
double d
Definition: qnumeric_p.h:62
The QAbstractTransition class is the base class of transitions between QAbstractState objects...
#define Q_D(Class)
Definition: qglobal.h:2482

◆ event()

bool QAbstractTransition::event ( QEvent e)
protectedvirtual

Reimplemented Function

Reimplemented from QObject.

Reimplemented in QEventTransition, and QSignalTransition.

Definition at line 343 of file qabstracttransition.cpp.

Referenced by QEventTransition::event(), QSignalTransition::event(), QBasicKeyEventTransition::eventTest(), and QBasicMouseEventTransition::eventTest().

344 {
345  return QObject::event(e);
346 }
virtual bool event(QEvent *)
This virtual function receives events to an object and should return true if the event e was recogniz...
Definition: qobject.cpp:1200

◆ eventTest()

QAbstractTransition::eventTest ( QEvent event)
protectedpure virtual

This function is called to determine whether the given event should cause this transition to trigger.

Reimplement this function and return true if the event should trigger the transition, otherwise return false.

Implemented in _QStateMachine_Internal::GoToStateTransition, QBasicMouseEventTransition, QBasicKeyEventTransition, QMouseEventTransition, QKeyEventTransition, QEventTransition, and QSignalTransition.

◆ machine()

QStateMachine * QAbstractTransition::machine ( ) const

Returns the state machine that this transition is part of, or 0 if the transition is not part of a state machine.

Definition at line 261 of file qabstracttransition.cpp.

Referenced by QStateMachinePrivate::unregisterAllTransitions().

262 {
263  Q_D(const QAbstractTransition);
264  return d->machine();
265 }
double d
Definition: qnumeric_p.h:62
The QAbstractTransition class is the base class of transitions between QAbstractState objects...
#define Q_D(Class)
Definition: qglobal.h:2482

◆ onTransition()

QAbstractTransition::onTransition ( QEvent event)
protectedpure virtual

This function is called when the transition is triggered.

The given event is what caused the transition to trigger. Reimplement this function to perform custom processing when the transition is triggered.

Implemented in _QStateMachine_Internal::GoToStateTransition, QBasicMouseEventTransition, QBasicKeyEventTransition, QMouseEventTransition, QEventTransition, QSignalTransition, and QKeyEventTransition.

◆ removeAnimation()

void QAbstractTransition::removeAnimation ( QAbstractAnimation animation)

Removes the given animation from this transition.

See also
addAnimation()

Definition at line 290 of file qabstracttransition.cpp.

291 {
293  if (!animation) {
294  qWarning("QAbstractTransition::removeAnimation: cannot remove null animation");
295  return;
296  }
297  d->animations.removeOne(animation);
298 }
double d
Definition: qnumeric_p.h:62
The QAbstractTransition class is the base class of transitions between QAbstractState objects...
#define Q_D(Class)
Definition: qglobal.h:2482
Q_CORE_EXPORT void qWarning(const char *,...)

◆ setTargetState()

void QAbstractTransition::setTargetState ( QAbstractState target)

Sets the target state of this transition.

Definition at line 212 of file qabstracttransition.cpp.

Referenced by QState::addTransition(), and QStateMachinePrivate::goToState().

213 {
215  if (!target)
216  d->targetStates.clear();
217  else
219 }
double d
Definition: qnumeric_p.h:62
The QAbstractTransition class is the base class of transitions between QAbstractState objects...
#define Q_D(Class)
Definition: qglobal.h:2482
void setTargetStates(const QList< QAbstractState *> &targets)
Sets the target states of this transition to be the given targets.
The QList class is a template class that provides lists.
Definition: qdatastream.h:62

◆ setTargetStates()

void QAbstractTransition::setTargetStates ( const QList< QAbstractState *> &  targets)

Sets the target states of this transition to be the given targets.

Definition at line 240 of file qabstracttransition.cpp.

Referenced by setTargetState().

241 {
243 
244  for (int i = 0; i < targets.size(); ++i) {
245  QAbstractState *target = targets.at(i);
246  if (!target) {
247  qWarning("QAbstractTransition::setTargetStates: target state(s) cannot be null");
248  return;
249  }
250  }
251 
252  d->targetStates.clear();
253  for (int i = 0; i < targets.size(); ++i)
254  d->targetStates.append(targets.at(i));
255 }
double d
Definition: qnumeric_p.h:62
The QAbstractTransition class is the base class of transitions between QAbstractState objects...
#define Q_D(Class)
Definition: qglobal.h:2482
The QAbstractState class is the base class of states of a QStateMachine.
const T & at(int i) const
Returns the item at index position i in the list.
Definition: qlist.h:468
Q_CORE_EXPORT void qWarning(const char *,...)
int size() const
Returns the number of items in the list.
Definition: qlist.h:137

◆ sourceState()

QState* QAbstractTransition::sourceState ( ) const

◆ targetState()

QAbstractState* QAbstractTransition::targetState ( ) const

Referenced by ~QAbstractTransition().

◆ targetStates()

QList<QAbstractState*> QAbstractTransition::targetStates ( ) const

◆ triggered

QAbstractTransition::triggered ( )
signal

This signal is emitted when the transition has been triggered (after onTransition() has been called).

Properties

◆ sourceState

QState * QAbstractTransition::sourceState
private

the source state (parent) of this transition

Returns the source state of this transition, or 0 if this transition has no source state.

Definition at line 70 of file qabstracttransition.h.

Referenced by QStateMachinePrivate::applyProperties(), QStateMachinePrivate::enterStates(), QStateMachinePrivate::exitStates(), QStateMachinePrivate::isPreempted(), and QState::removeTransition().

◆ targetState

QAbstractState * QAbstractTransition::targetState
private

the target state of this transition

Returns the target state of this transition, or 0 if the transition has no target.

If a transition has no target state, the transition may still be triggered, but this will not cause the state machine's configuration to change (i.e. the current state will not be exited and re-entered).

Definition at line 71 of file qabstracttransition.h.

◆ targetStates

QList< QAbstractState * > QAbstractTransition::targetStates
private

the target states of this transition

Returns the target states of this transition, or an empty list if this transition has no target states.

If multiple states are specified, all must be descendants of the same parallel group state.

Definition at line 72 of file qabstracttransition.h.

Referenced by QStateMachinePrivate::applyProperties(), QStateMachinePrivate::enterStates(), QStateMachinePrivate::exitStates(), and QStateMachinePrivate::isPreempted().


The documentation for this class was generated from the following files: