~timo-jyrinki/ubuntu/trusty/maliit-framework/fix_qt52

« back to all changes in this revision

Viewing changes to tests/utils/gui-utils.h

  • Committer: Package Import Robot
  • Author(s): Ricardo Salveti de Araujo, Sergio Schvezov, Ricardo Salveti de Araujo
  • Date: 2013-07-23 19:47:04 UTC
  • mfrom: (1.1.2) (1.2.1 experimental)
  • Revision ID: package-import@ubuntu.com-20130723194704-1lsy1kmlda069cea
Tags: 0.99.0+git20130615+97e8335-0ubuntu1
[ Sergio Schvezov ]
* New build from HEAD 97e8335.
* Packaging import from lp:phablet-extras/maliit-framework.

[ Ricardo Salveti de Araujo ]
* debian/control: adding vcs and fixing dependencies
* General package cleanup

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
#define GUI_UTILS_H__
17
17
 
18
18
#include <QtGlobal>
19
 
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
20
 
#include <QInputContext>
21
 
#endif
22
 
#include <QGraphicsItem>
23
 
#include <QGraphicsRectItem>
24
 
#include <QGraphicsView>
25
 
#include <QWidget>
26
 
 
27
 
#include <tr1/functional>
28
 
#include <vector>
29
19
 
30
20
#include <minputmethodhost.h>
 
21
#include <windowgroup.h>
31
22
#include <minputcontextconnection.h>
 
23
#include <unknownplatform.h>
32
24
 
33
 
#include <maliit/plugins/abstractsurface.h>
34
 
#include <maliit/plugins/abstractsurfacefactory.h>
35
 
#include <maliit/plugins/abstractwidgetssurface.h>
36
25
#include <maliit/plugins/abstractpluginsetting.h>
37
26
 
38
27
namespace MaliitTestUtils {
39
28
 
40
 
    class RemoteWindow : public QWidget
41
 
    {
42
 
    public:
43
 
        explicit RemoteWindow(QWidget *p = 0, Qt::WindowFlags f = 0);
44
 
 
45
 
        void paintEvent(QPaintEvent *);
46
 
    };
47
 
 
48
 
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
49
 
    template <typename T>
50
 
    class EventSpyInputContext : public QInputContext, public std::vector<T>
51
 
    {
52
 
    public:
53
 
        typedef std::tr1::function<T (const QEvent *event)> TransformFunction;
54
 
 
55
 
        EventSpyInputContext(TransformFunction newTransform) : transform(newTransform) {}
56
 
 
57
 
        virtual QString identifierName() { return QString::fromLatin1("EventSpyInputContext"); }
58
 
        virtual bool isComposing() const { return false; }
59
 
        virtual QString language() { return QString::fromLatin1("EN"); }
60
 
        virtual void reset() {}
61
 
 
62
 
    protected:
63
 
        virtual bool filterEvent(const QEvent *event) {
64
 
            this->push_back(transform(event));
65
 
            return true;
66
 
        }
67
 
 
68
 
    private:
69
 
        const TransformFunction transform;
70
 
    };
71
 
#endif
72
 
 
73
 
    using Maliit::Plugins::AbstractSurface;
74
 
    using Maliit::Plugins::AbstractWidgetSurface;
75
 
    using Maliit::Plugins::AbstractGraphicsViewSurface;
76
 
 
77
 
    class TestWidgetSurface : public AbstractWidgetSurface
78
 
    {
79
 
    public:
80
 
        TestWidgetSurface() {}
81
 
 
82
 
        void show() {}
83
 
        void hide() {}
84
 
 
85
 
        QSize size() const { return QSize(); }
86
 
        void setSize(const QSize&) {}
87
 
 
88
 
        QPoint relativePosition() const { return QPoint(); }
89
 
        void setRelativePosition(const QPoint &) {}
90
 
 
91
 
        QSharedPointer<AbstractSurface> parent() const { return QSharedPointer<AbstractSurface>(); }
92
 
 
93
 
        QPoint translateEventPosition(const QPoint &eventPosition, const QSharedPointer<AbstractSurface> & = QSharedPointer<AbstractSurface>()) const { return eventPosition; }
94
 
 
95
 
        QWidget *widget() const { return 0; }
96
 
    };
97
 
 
98
 
    class TestGraphicsViewSurface : public AbstractGraphicsViewSurface
99
 
    {
100
 
    public:
101
 
        TestGraphicsViewSurface()
102
 
            : mGraphicsView(new QGraphicsView(new QGraphicsScene))
103
 
            , mRootItem(new QGraphicsRectItem)
104
 
        {
105
 
            mGraphicsView->scene()->addItem(mRootItem.data());
106
 
        }
107
 
 
108
 
        void show() {}
109
 
        void hide() {}
110
 
 
111
 
        QSize size() const { return QSize(); }
112
 
        void setSize(const QSize&) {}
113
 
 
114
 
        QPoint relativePosition() const { return QPoint(); }
115
 
        void setRelativePosition(const QPoint &) {}
116
 
 
117
 
        QSharedPointer<AbstractSurface> parent() const { return QSharedPointer<AbstractSurface>(); }
118
 
 
119
 
        QPoint translateEventPosition(const QPoint &eventPosition, const QSharedPointer<AbstractSurface> & = QSharedPointer<AbstractSurface>()) const { return eventPosition; }
120
 
 
121
 
        QGraphicsScene *scene() const { return mGraphicsView->scene(); }
122
 
        QGraphicsView *view() const { return mGraphicsView.data(); }
123
 
 
124
 
        QGraphicsItem *root() const { return mRootItem.data(); }
125
 
        void clear() {}
126
 
    private:
127
 
        QScopedPointer<QGraphicsView> mGraphicsView;
128
 
        QScopedPointer<QGraphicsItem> mRootItem;
129
 
    };
130
 
 
131
 
    class TestSurfaceFactory : public Maliit::Plugins::AbstractSurfaceFactory
132
 
    {
133
 
    public:
134
 
        TestSurfaceFactory() {}
135
 
 
136
 
        QSize screenSize() const { return QSize(); }
137
 
 
138
 
        bool supported(AbstractSurface::Options options) const { return options & (AbstractSurface::TypeGraphicsView | AbstractSurface::TypeWidget); }
139
 
 
140
 
        QSharedPointer<AbstractSurface> create(AbstractSurface::Options options, const QSharedPointer<AbstractSurface> &) {
141
 
            if (options & AbstractSurface::TypeGraphicsView)
142
 
                return QSharedPointer<AbstractSurface>(new TestGraphicsViewSurface);
143
 
            else if (options & AbstractSurface::TypeWidget)
144
 
                return QSharedPointer<AbstractSurface>(new TestWidgetSurface);
145
 
            else
146
 
                return QSharedPointer<AbstractSurface>();
147
 
        }
148
 
    };
149
 
 
150
29
    class TestPluginSetting : public Maliit::Plugins::AbstractPluginSetting
151
30
    {
152
31
    public:
174
53
        QString lastPreedit;
175
54
        int sendPreeditCount;
176
55
 
177
 
        TestInputMethodHost(MIndicatorServiceClient &client, const QString &plugin, const QString &description)
178
 
            : MInputMethodHost(QSharedPointer<MInputContextConnection>(new MInputContextConnection), 0, client, new TestSurfaceFactory, plugin, description)
 
56
        TestInputMethodHost(const QString &plugin, const QString &description)
 
57
            : MInputMethodHost(QSharedPointer<MInputContextConnection>(new MInputContextConnection),
 
58
                               0,
 
59
                               QSharedPointer<Maliit::WindowGroup>(new Maliit::WindowGroup(QSharedPointer<Maliit::AbstractPlatform>(new Maliit::UnknownPlatform))),
 
60
                               plugin,
 
61
                               description)
179
62
            , sendCommitCount(0)
180
63
            , sendPreeditCount(0)
181
64
        {}
212
95
 
213
96
}
214
97
 
215
 
// For cases where we need to run code _before_ QApplication is created
 
98
// For cases where we need to run code _before_ QGuiApplication is created
216
99
#define MALIIT_TESTUTILS_GUI_MAIN_WITH_SETUP(TestObject, setupFunc) \
217
100
int main(int argc, char *argv[]) \
218
101
{ \
219
102
    setupFunc();\
220
 
    QApplication app(argc, argv);\
 
103
    QGuiApplication app(argc, argv);\
221
104
    Q_UNUSED(app);\
222
105
    TestObject tc;\
223
106
    return QTest::qExec(&tc, argc, argv);\