[Development] MultiPointTouchArea and GestureEvent not propagating

Matteo Brichese mbrichese at came.it
Wed May 8 17:49:45 CEST 2013


Hi everyone, I'm experiencing some problems in propagating gestures on a MultiPointTouchArea in QML (QtQuick 2.0 + Qt5.0.2).

As written in the docs:
http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-multipointtoucharea.html#onGestureStarted-signal

"MultiPointTouchArea::onGestureStarted(GestureEvent gesture)

This handler is called when the global drag threshold has been reached.

This function is typically used when a MultiPointTouchAreas has been nested in a Flickable or another MultiPointTouchArea. When the threshold has been reached, and the handler called, you can determine whether or not the touch area should grab the current touch points. By default they will not be grabbed; to grab them call gesture.grab(). If the gesture is not grabbed, the nesting Flickable, for example, would also have an opportunity to grab.
The gesture object also includes information on the current set of touchPoints and the dragThreshold."

So, I've two nested MultiPointTouchArea in two different Rectangles, the parent item has Pinch functionality (homemade, not with the pinchArea) and the child has only a single touch event (not made with mouseArea).

However, if I drag my finger on the child area the onGestureStarted even is launched, but the gesture isn't passed to the parent (or the parent don't grab it, I don't know).
The docs says that if I don't call gesture.grab() on onGestureStarted method the event will be propagated to the element under (in my case the parent), but it seems that this don't work, is that a bug? Or I'm misleading the docs?

Do you have some example of a working qml code that propagate the gesture event?

Thank you.

Regards.


---
Matteo Brichese
Software Engineer
mbrichese at came.it
Came Cancelli Automatici S.p.A.
www.came.com



More information about the Development mailing list