QEventTransition Class
The QEventTransition class provides a QObject-specific transition for Qt events. More...
Header: | #include <QEventTransition> |
qmake: | QT += core |
Since: | Qt 4.6 |
Inherits: | QAbstractTransition. |
Inherited By: |
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
- 31 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
- 9 protected functions inherited from QObject
Additional Inherited Members
- 1 public slot inherited from QObject
- 3 signals inherited from QAbstractTransition
- 2 signals inherited from QObject
- 11 static public members inherited from QObject
- 3 protected functions inherited from QAbstractTransition
- 9 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.
[virtual protected]
bool QEventTransition::event(QEvent * e)
Reimplemented from QObject::event().
[virtual protected]
bool QEventTransition::eventTest(QEvent * event)
Reimplemented from QAbstractTransition::eventTest().
[virtual protected]
void QEventTransition::onTransition(QEvent * event)
Reimplemented from QAbstractTransition::onTransition().
© 2015 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.