QEventTransition

The QEventTransition class provides a QObject-specific transition for Qt events. More...

 #include <QEventTransition>

Inherits: QAbstractTransition.

Inherited by: QKeyEventTransition and QMouseEventTransition.

This class was introduced in Qt 4.6.

Properties

Public Functions

QEventTransition ( QState * sourceState = 0 )
QEventTransition ( QObject * object, QEvent::Type type, QState * sourceState = 0 )
~QEventTransition ()
QObject * eventSource () const
QEvent::Type eventType () const
void setEventSource ( QObject * object )
void setEventType ( QEvent::Type type )

Reimplemented Protected Functions

virtual bool event ( QEvent * e )
virtual bool eventTest ( QEvent * event )
virtual void onTransition ( QEvent * event )

Additional Inherited Members

Detailed Description

The QEventTransition class provides a QObject-specific transition for Qt events.

A QEventTransition object binds an event to a particular QObject. QEventTransition is part of The State Machine Framework.

Example:

 QPushButton *button = ...;
 QState *s1 = ...;
 QState *s2 = ...;
 // If in s1 and the button receives an Enter event, transition to s2
 QEventTransition *enterTransition = new QEventTransition(button, QEvent::Enter);
 enterTransition->setTargetState(s2);
 s1->addTransition(enterTransition);
 // If in s2 and the button receives an Exit event, transition back to s1
 QEventTransition *leaveTransition = new QEventTransition(button, QEvent::Leave);
 leaveTransition->setTargetState(s1);
 s2->addTransition(leaveTransition);

Subclassing

When reimplementing the eventTest() function, you should first call the base implementation to verify that the event is a QStateMachine::WrappedEvent for the proper object and event type. You may then cast the event to a QStateMachine::WrappedEvent and get the original event by calling QStateMachine::WrappedEvent::event(), and perform additional checks on that object.

See also QState::addTransition().

Property Documentation

eventSource : QObject *

This property holds the event source that this event transition is associated with.

Access functions:

QObject * eventSource () const
void setEventSource ( QObject * object )

eventType : QEvent::Type

This property holds the type of event that this event transition is associated with.

Access functions:

QEvent::Type eventType () const
void setEventType ( QEvent::Type type )

Member Function Documentation

QEventTransition::QEventTransition ( QState * sourceState = 0 )

Constructs a new QEventTransition object with the given sourceState.

QEventTransition::QEventTransition ( QObject * object, QEvent::Type type, QState * sourceState = 0 )

Constructs a new QEventTransition object associated with events of the given type for the given object, and with the given sourceState.

QEventTransition::~QEventTransition ()

Destroys this QObject event transition.

bool QEventTransition::event ( QEvent * e ) [virtual protected]

Reimplemented from QObject::event().

bool QEventTransition::eventTest ( QEvent * event ) [virtual protected]

Reimplemented from QAbstractTransition::eventTest().

void QEventTransition::onTransition ( QEvent * event ) [virtual protected]

Reimplemented from QAbstractTransition::onTransition().

Last modified: 2014-03-13

comments powered by Disqus