コード例 #1
0
ファイル: panto.cpp プロジェクト: berndhs/pantomime
bool
Panto::event (QEvent *evt)
{
  //qDebug () << PANTO_PRETTY_FUNCTION << evt;
  if (evt) {
    QEvent::Type tipo = evt->type ();
    if (tipo ==QEvent::Gesture ) {
      qDebug () << "GESTURE event in " << this;
      QGestureEvent * gev = dynamic_cast <QGestureEvent*> (evt);
      if (gev) {
        qDebug () << " gev " << gev;
      }
      return true;
    } else if (tipo == QEvent::GestureOverride) {
      QGestureEvent * gev = dynamic_cast <QGestureEvent*> (evt);
      if (gev) {
        QDeclarativeItem * dItem = qobject_cast<QDeclarativeItem*>(gev->widget());
        qDebug () << " override what? gev " << gev << gev->widget() << dItem;
        if (dItem) {
          QVariant retVar;
          QMetaObject::invokeMethod (dItem,"handleLoopGesture",
             Q_RETURN_ARG(QVariant, retVar));
          if (retVar.isValid()) {
            return retVar.toBool();
          }
        }
      }
    }
  }
  bool handled = QDeclarativeView::event (evt);
  //qDebug () << PANTO_PRETTY_FUNCTION << " returning " << handled;
  return handled;
}