/*!
  \reimp
*/
bool QKeyEventTransition::eventTest(QEvent *event)
{
    Q_D(const QKeyEventTransition);
    if (!QEventTransition::eventTest(event))
        return false;
    QStateMachine::WrappedEvent *we = static_cast<QStateMachine::WrappedEvent*>(event);
    d->transition->setEventType(we->event()->type());
    return QAbstractTransitionPrivate::get(d->transition)->callEventTest(we->event());
}
/*!
  \reimp
*/
bool QEventTransition::eventTest(QEvent *event)
{
    Q_D(const QEventTransition);
    if (event->type() == QEvent::StateMachineWrapped) {
        QStateMachine::WrappedEvent *we = static_cast<QStateMachine::WrappedEvent*>(event);
        return (we->object() == d->object)
            && (we->event()->type() == d->eventType);
    }
    return false;
}
void cwWheelEventTransition::onTransition( QEvent * event ) {
    QEventTransition::onTransition(event);
    QStateMachine::WrappedEvent* wrappedEvent = dynamic_cast<QStateMachine::WrappedEvent*>(event);
    if(wrappedEvent != nullptr) {
        QWheelEvent* wheelEvent = dynamic_cast<QWheelEvent*>(wrappedEvent->event());
        if(wheelEvent != nullptr) {
            emit onWheelEvent(wheelEvent);
        }
    }
}
示例#4
0
文件: ExEvent.cpp 项目: mamont/ExFSM
ExEvent * ExEvent::fromQEvent(QEvent * ev)
{
    if(!ev)
        return 0;

    QStateMachine::WrappedEvent * wrappedEvent = static_cast<QStateMachine::WrappedEvent *>(ev);
    if(!wrappedEvent)
        return 0;

	QEvent * rawEvent = wrappedEvent->event();
    if(!rawEvent)
        return 0;

    ExEvent * exEvent = static_cast<ExEvent *>(rawEvent);
    return exEvent;
}
static PyObject *meth_QStateMachine_WrappedEvent_object(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        QStateMachine::WrappedEvent *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QStateMachine_WrappedEvent, &sipCpp))
        {
            QObject *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->object();
            Py_END_ALLOW_THREADS

            return sipConvertFromType(sipRes,sipType_QObject,NULL);
        }
    }
示例#6
0
void DragTransitionExampleView::onTransition(QEvent* e)
      {
      QStateMachine::WrappedEvent* we = static_cast<QStateMachine::WrappedEvent*>(e);
      QMouseEvent* me = static_cast<QMouseEvent*>(we->event());
      canvas->dragExampleView(me);
      }