21
21
#include <QQuickView>
24
#include <TouchRegistry.h>
24
26
GestureTest::GestureTest(const QString &qmlFilename)
25
27
: QObject(), m_device(nullptr), m_view(nullptr), m_qmlFilename(qmlFilename)
45
47
QVERIFY(QTest::qWaitForWindowExposed(m_view));
46
48
QVERIFY(m_view->rootObject() != 0);
50
m_touchRegistry = new TouchRegistry;
51
m_view->installEventFilter(m_touchRegistry);
47
53
qApp->processEvents();
50
56
void GestureTest::cleanup()
58
m_view->removeEventFilter(m_touchRegistry);
59
delete m_touchRegistry;
60
m_touchRegistry = nullptr;
66
////////////////////////// TouchMemento /////////////////////////////
68
TouchMemento::TouchMemento(const QTouchEvent *touchEvent)
69
: touchPointStates(touchEvent->touchPointStates()), touchPoints(touchEvent->touchPoints())
74
bool TouchMemento::containsTouchWithId(int touchId) const
76
for (int i = 0; i < touchPoints.count(); ++i) {
77
if (touchPoints.at(i).id() == touchId) {
84
////////////////////////// DummyItem /////////////////////////////
86
DummyItem::DummyItem(QQuickItem *parent)
89
touchEventHandler = defaultTouchEventHandler;
90
mousePressEventHandler = defaultMouseEventHandler;
91
mouseMoveEventHandler = defaultMouseEventHandler;
92
mouseReleaseEventHandler = defaultMouseEventHandler;
93
mouseDoubleClickEventHandler = defaultMouseEventHandler;
96
void DummyItem::touchEvent(QTouchEvent *event)
98
touchEvents.append(TouchMemento(event));
99
touchEventHandler(event);
102
void DummyItem::mousePressEvent(QMouseEvent *event)
104
mousePressEventHandler(event);
107
void DummyItem::mouseMoveEvent(QMouseEvent *event)
109
mouseMoveEventHandler(event);
112
void DummyItem::mouseReleaseEvent(QMouseEvent *event)
114
mouseReleaseEventHandler(event);
117
void DummyItem::mouseDoubleClickEvent(QMouseEvent *event)
119
mouseDoubleClickEventHandler(event);
122
void DummyItem::defaultTouchEventHandler(QTouchEvent *event)
127
void DummyItem::defaultMouseEventHandler(QMouseEvent *event)