Qt Reference Documentation

# QEventTransition Class Reference

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.

- List of all members, including inherited members

## Properties

- eventSource : QObject *
- eventType : QEvent::Type

- 3 properties inherited from QAbstractTransition
- 1 property inherited from QObject

## 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 )

- 9 public functions inherited from QAbstractTransition
- 29 public functions inherited from QObject

## Reimplemented Protected Functions

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

- 3 protected functions inherited from QAbstractTransition
- 7 protected functions inherited from QObject

### Additional Inherited Members

- 1 public slot inherited from QObject
- 1 signal inherited from QAbstractTransition
- 1 signal inherited from QObject
- 5 static public members inherited from QObject
- 3 protected functions inherited from QAbstractTransition
- 7 protected functions inherited from QObject

## 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().