/*!
  \reimp

  The \a event is a QtSignalEvent object.  The default implementation returns
  true if the event's sender and signal index match this transition, and
  returns false otherwise.
*/
bool QtSignalTransition::eventTest(QEvent *event) const
{
    Q_D(const QtSignalTransition);
#ifndef QT_STATEMACHINE_SOLUTION
    if (event->type() == QEvent::Signal) {
#else
    if (event->type() == QEvent::Type(QEvent::User-1)) {
#endif
        if (d->signalIndex == -1)
            return false;
        QtSignalEvent *se = static_cast<QtSignalEvent*>(event);
        return (se->sender() == d->sender)
               && (se->signalIndex() == d->signalIndex);
    }
    return false;
}

/*!
  \reimp
*/
bool QtSignalTransition::event(QEvent *e)
{
    return QtTransition::event(e);
}

QT_END_NAMESPACE
/*!
  \reimp

  The \a event is a QtSignalEvent object.  The default implementation returns
  true if the event's sender and signal index match this transition, and
  returns false otherwise.
*/
bool QtSignalTransition::testCondition(QEvent *event) const
{
    Q_D(const QtSignalTransition);
    QtSignalEvent *se = static_cast<QtSignalEvent*>(event);
    Q_ASSERT(d->signalIndex != -1);
    return (se->sender() == d->sender)
        && (se->signalIndex() == d->signalIndex);
}