Add a qeventtransition feature

This replaces the QT_NO_STATEMACHINE_EVENTFILTER define, and
gives it a proper name.

Change-Id: I2b9386458224ff2bd30003daac548daa61961085
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
bb10
Lars Knoll 2016-08-10 14:36:59 +02:00
parent 0a070d1e95
commit e33a382c33
5 changed files with 20 additions and 14 deletions

View File

@ -2518,6 +2518,10 @@
"description": "Mimetype handling",
"output": [ "publicFeature", "feature" ]
},
"qeventtransition": {
"description": "QEventTransition class",
"output": [ "publicFeature" ]
},
"extra_features": {
"comment": "### remove, once qfeatures.txt is ported to the new system",
"output": [ "extraFeatures" ]

View File

@ -57,7 +57,7 @@
#include "private/qobject_p.h"
#include "private/qthread_p.h"
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
#if QT_CONFIG(qeventtransition)
#include "qeventtransition.h"
#include "qeventtransition_p.h"
#endif
@ -2196,7 +2196,7 @@ void QStateMachinePrivate::maybeRegisterTransition(QAbstractTransition *transiti
if (QSignalTransition *st = qobject_cast<QSignalTransition*>(transition)) {
maybeRegisterSignalTransition(st);
}
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
#if QT_CONFIG(qeventtransition)
else if (QEventTransition *et = qobject_cast<QEventTransition*>(transition)) {
maybeRegisterEventTransition(et);
}
@ -2208,7 +2208,7 @@ void QStateMachinePrivate::registerTransition(QAbstractTransition *transition)
if (QSignalTransition *st = qobject_cast<QSignalTransition*>(transition)) {
registerSignalTransition(st);
}
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
#if QT_CONFIG(qeventtransition)
else if (QEventTransition *oet = qobject_cast<QEventTransition*>(transition)) {
registerEventTransition(oet);
}
@ -2220,7 +2220,7 @@ void QStateMachinePrivate::unregisterTransition(QAbstractTransition *transition)
if (QSignalTransition *st = qobject_cast<QSignalTransition*>(transition)) {
unregisterSignalTransition(st);
}
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
#if QT_CONFIG(qeventtransition)
else if (QEventTransition *oet = qobject_cast<QEventTransition*>(transition)) {
unregisterEventTransition(oet);
}
@ -2342,7 +2342,7 @@ void QStateMachinePrivate::unregisterAllTransitions()
}
}
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
#if QT_CONFIG(qeventtransition)
void QStateMachinePrivate::maybeRegisterEventTransition(QEventTransition *transition)
{
if ((state == Running) && configuration.contains(transition->sourceState()))
@ -2872,7 +2872,7 @@ bool QStateMachine::event(QEvent *e)
return QState::event(e);
}
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
#if QT_CONFIG(qeventtransition)
/*!
\reimp
*/

View File

@ -141,7 +141,7 @@ public:
QSet<QAbstractState*> configuration() const;
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
#if QT_CONFIG(qeventtransition)
bool eventFilter(QObject *watched, QEvent *event) Q_DECL_OVERRIDE;
#endif

View File

@ -66,7 +66,7 @@
QT_BEGIN_NAMESPACE
class QEvent;
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
#if QT_CONFIG(qeventtransition)
class QEventTransition;
#endif
class QSignalEventGenerator;
@ -186,7 +186,7 @@ public:
void registerSignalTransition(QSignalTransition *transition);
void unregisterSignalTransition(QSignalTransition *transition);
void registerMultiThreadedSignalTransitions();
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
#if QT_CONFIG(qeventtransition)
void maybeRegisterEventTransition(QEventTransition *transition);
void registerEventTransition(QEventTransition *transition);
void unregisterEventTransition(QEventTransition *transition);
@ -301,7 +301,7 @@ public:
QHash<const QObject*, QVector<int> > connections;
QMutex connectionsMutex;
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
#if QT_CONFIG(qeventtransition)
QHash<QObject*, QHash<QEvent::Type, int> > qobjectEvents;
#endif
QFreeList<void> delayedEventIdFreeList;

View File

@ -22,8 +22,10 @@ SOURCES += $$PWD/qstatemachine.cpp \
$$PWD/qabstracttransition.cpp \
$$PWD/qsignaltransition.cpp
!contains(DEFINES, QT_NO_STATEMACHINE_EVENTFILTER) {
HEADERS += $$PWD/qeventtransition.h \
$$PWD/qeventtransition_p.h
SOURCES += $$PWD/qeventtransition.cpp
qtConfig(qeventtransition) {
HEADERS += \
$$PWD/qeventtransition.h \
$$PWD/qeventtransition_p.h
SOURCES += \
$$PWD/qeventtransition.cpp
}