~mterry/unity8/power-button-on-lock

« back to all changes in this revision

Viewing changes to tests/plugins/Ubuntu/Gestures/GestureTest.h

  • Committer: Michael Terry
  • Date: 2014-11-24 15:25:42 UTC
  • mfrom: (1368.1.82 unity8)
  • Revision ID: michael.terry@canonical.com-20141124152542-5cysva8ds3qfula6
MergeĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
#ifndef GESTURETEST_H
18
18
#endif // GESTURETEST_H
19
19
 
20
 
#include <QObject>
 
20
#include <QQuickItem>
 
21
#include <QTouchEvent>
21
22
 
22
23
class QQuickView;
23
24
class QTouchDevice;
24
25
 
 
26
class TouchRegistry;
 
27
 
 
28
// C++ std lib
 
29
#include <functional>
 
30
 
25
31
/*
26
32
    The common stuff among tests come here
27
33
 */
 
34
 
 
35
class TouchMemento {
 
36
public:
 
37
    TouchMemento(const QTouchEvent *touchEvent);
 
38
    Qt::TouchPointStates touchPointStates;
 
39
    QList<QTouchEvent::TouchPoint> touchPoints;
 
40
 
 
41
    bool containsTouchWithId(int touchId) const;
 
42
};
 
43
 
 
44
class DummyItem : public QQuickItem
 
45
{
 
46
    Q_OBJECT
 
47
public:
 
48
    DummyItem(QQuickItem *parent = 0);
 
49
 
 
50
    QList<TouchMemento> touchEvents;
 
51
    std::function<void(QTouchEvent*)> touchEventHandler;
 
52
    std::function<void(QMouseEvent*)> mousePressEventHandler;
 
53
    std::function<void(QMouseEvent*)> mouseMoveEventHandler;
 
54
    std::function<void(QMouseEvent*)> mouseReleaseEventHandler;
 
55
    std::function<void(QMouseEvent*)> mouseDoubleClickEventHandler;
 
56
protected:
 
57
    void touchEvent(QTouchEvent *event) override;
 
58
 
 
59
    void mousePressEvent(QMouseEvent *event) override;
 
60
    void mouseMoveEvent(QMouseEvent *event) override;
 
61
    void mouseReleaseEvent(QMouseEvent *event) override;
 
62
    void mouseDoubleClickEvent(QMouseEvent *event) override;
 
63
private:
 
64
    static void defaultTouchEventHandler(QTouchEvent *event);
 
65
    static void defaultMouseEventHandler(QMouseEvent *event);
 
66
};
 
67
 
28
68
class GestureTest : public QObject
29
69
{
30
70
    Q_OBJECT
40
80
protected:
41
81
    QTouchDevice *m_device;
42
82
    QQuickView *m_view;
 
83
    TouchRegistry *m_touchRegistry;
43
84
    QString m_qmlFilename;
44
85
};
45
86