~ubuntu-branches/ubuntu/trusty/qtdeclarative-opensource-src/trusty-updates

« back to all changes in this revision

Viewing changes to tests/auto/qml/v4/testtypes.h

  • Committer: Package Import Robot
  • Author(s): Timo Jyrinki
  • Date: 2013-02-05 14:17:19 UTC
  • Revision ID: package-import@ubuntu.com-20130205141719-qqeyml8wslpyez52
Tags: upstream-5.0.1
ImportĀ upstreamĀ versionĀ 5.0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
 
4
** Contact: http://www.qt-project.org/legal
 
5
**
 
6
** This file is part of the test suite of the Qt Toolkit.
 
7
**
 
8
** $QT_BEGIN_LICENSE:LGPL$
 
9
** Commercial License Usage
 
10
** Licensees holding valid commercial Qt licenses may use this file in
 
11
** accordance with the commercial license agreement provided with the
 
12
** Software or, alternatively, in accordance with the terms contained in
 
13
** a written agreement between you and Digia.  For licensing terms and
 
14
** conditions see http://qt.digia.com/licensing.  For further information
 
15
** use the contact form at http://qt.digia.com/contact-us.
 
16
**
 
17
** GNU Lesser General Public License Usage
 
18
** Alternatively, this file may be used under the terms of the GNU Lesser
 
19
** General Public License version 2.1 as published by the Free Software
 
20
** Foundation and appearing in the file LICENSE.LGPL included in the
 
21
** packaging of this file.  Please review the following information to
 
22
** ensure the GNU Lesser General Public License version 2.1 requirements
 
23
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 
24
**
 
25
** In addition, as a special exception, Digia gives you certain additional
 
26
** rights.  These rights are described in the Digia Qt LGPL Exception
 
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 
28
**
 
29
** GNU General Public License Usage
 
30
** Alternatively, this file may be used under the terms of the GNU
 
31
** General Public License version 3.0 as published by the Free Software
 
32
** Foundation and appearing in the file LICENSE.GPL included in the
 
33
** packaging of this file.  Please review the following information to
 
34
** ensure the GNU General Public License version 3.0 requirements will be
 
35
** met: http://www.gnu.org/copyleft/gpl.html.
 
36
**
 
37
**
 
38
** $QT_END_LICENSE$
 
39
**
 
40
****************************************************************************/
 
41
#ifndef TESTTYPES_H
 
42
#define TESTTYPES_H
 
43
 
 
44
#include <QtCore/qobject.h>
 
45
#include <QtCore/qurl.h>
 
46
#include <QVector3D>
 
47
#include <QJSValue>
 
48
 
 
49
class NestedObject : public QObject
 
50
{
 
51
    Q_OBJECT
 
52
    Q_PROPERTY(int dummy READ dummy);
 
53
    Q_PROPERTY(int result READ result FINAL CONSTANT);
 
54
 
 
55
public:
 
56
    int dummy() const { return 7; }
 
57
    int result() const { return 37; }
 
58
};
 
59
 
 
60
class ResultObject : public QObject
 
61
{
 
62
    Q_OBJECT
 
63
    Q_PROPERTY(int result READ result WRITE setResult FINAL)
 
64
    Q_PROPERTY(NestedObject *nested READ nested CONSTANT)
 
65
    Q_PROPERTY(NestedObject *nested2 READ nested2 FINAL CONSTANT)
 
66
public:
 
67
    ResultObject() : m_result(0), m_resultCounter(0) {}
 
68
 
 
69
    int resultCounter() const { return m_resultCounter; }
 
70
    void resetResultCounter() { m_resultCounter = 0; }
 
71
 
 
72
    int result() const { return m_result; }
 
73
    void setResult(int result) { m_result = result; m_resultCounter++; }
 
74
 
 
75
    NestedObject *nested() { return &m_nested; }
 
76
    NestedObject *nested2() { return &m_nested2; }
 
77
 
 
78
private:
 
79
    int m_result;
 
80
    int m_resultCounter;
 
81
 
 
82
    NestedObject m_nested;
 
83
    NestedObject m_nested2;
 
84
};
 
85
 
 
86
class ConversionObject : public QObject
 
87
{
 
88
    Q_OBJECT
 
89
 
 
90
    Q_PROPERTY(bool boolProp READ boolProp WRITE setBoolProp NOTIFY boolPropChanged)
 
91
    Q_PROPERTY(int intProp READ intProp WRITE setIntProp NOTIFY intPropChanged)
 
92
    Q_PROPERTY(float floatProp READ floatProp WRITE setFloatProp NOTIFY floatPropChanged)
 
93
    Q_PROPERTY(double doubleProp READ doubleProp WRITE setDoubleProp NOTIFY doublePropChanged)
 
94
    Q_PROPERTY(qreal qrealProp READ qrealProp WRITE setQrealProp NOTIFY qrealPropChanged)
 
95
    Q_PROPERTY(QString qstringProp READ qstringProp WRITE setQstringProp NOTIFY qstringPropChanged)
 
96
    Q_PROPERTY(QUrl qurlProp READ qurlProp WRITE setQurlProp NOTIFY qurlPropChanged)
 
97
    Q_PROPERTY(QVector3D vec3Prop READ vec3Prop WRITE setVec3Prop NOTIFY vec3PropChanged)
 
98
    Q_PROPERTY(QJSValue jsvalueProp READ jsvalueProp WRITE setJsvalueProp NOTIFY jsvaluePropChanged)
 
99
 
 
100
public:
 
101
    ConversionObject() : m_boolProp(false), m_intProp(0), m_floatProp(0.0), m_doubleProp(0.0), m_qrealProp(0.0) {}
 
102
    ~ConversionObject() {}
 
103
 
 
104
    bool boolProp() const { return m_boolProp; }
 
105
    void setBoolProp(bool v) { m_boolProp = v; emit boolPropChanged(); }
 
106
    int intProp() const { return m_intProp; }
 
107
    void setIntProp(int v) { m_intProp = v; emit intPropChanged(); }
 
108
    float floatProp() const { return m_floatProp; }
 
109
    void setFloatProp(float v) { m_floatProp = v; emit floatPropChanged(); }
 
110
    double doubleProp() const { return m_doubleProp; }
 
111
    void setDoubleProp(double v) { m_doubleProp = v; emit doublePropChanged(); }
 
112
    qreal qrealProp() const { return m_qrealProp; }
 
113
    void setQrealProp(qreal v) { m_qrealProp = v; emit qrealPropChanged(); }
 
114
    QString qstringProp() const { return m_qstringProp; }
 
115
    void setQstringProp(const QString& v) { m_qstringProp = v; emit qstringPropChanged(); }
 
116
    QUrl qurlProp() const { return m_qurlProp; }
 
117
    void setQurlProp(const QUrl& v) { m_qurlProp = v; emit qurlPropChanged(); }
 
118
    QVector3D vec3Prop() const { return m_vec3Prop; }
 
119
    void setVec3Prop(const QVector3D& v) { m_vec3Prop = v; emit vec3PropChanged(); }
 
120
    QJSValue jsvalueProp() const { return m_jsvalueProp; }
 
121
    void setJsvalueProp(const QJSValue &v) { m_jsvalueProp = v; emit jsvaluePropChanged(); }
 
122
 
 
123
signals:
 
124
    void boolPropChanged();
 
125
    void intPropChanged();
 
126
    void floatPropChanged();
 
127
    void doublePropChanged();
 
128
    void qrealPropChanged();
 
129
    void qstringPropChanged();
 
130
    void qurlPropChanged();
 
131
    void vec3PropChanged();
 
132
    void jsvaluePropChanged();
 
133
 
 
134
private:
 
135
    bool m_boolProp;
 
136
    int m_intProp;
 
137
    float m_floatProp;
 
138
    double m_doubleProp;
 
139
    qreal m_qrealProp;
 
140
    QString m_qstringProp;
 
141
    QUrl m_qurlProp;
 
142
    QVector3D m_vec3Prop;
 
143
    QJSValue m_jsvalueProp;
 
144
};
 
145
 
 
146
class JSValueTest : public QObject
 
147
{
 
148
    Q_OBJECT
 
149
    Q_PROPERTY(QJSValue boolVar READ boolVar WRITE setBoolVar NOTIFY boolVarChanged)
 
150
    Q_PROPERTY(QJSValue intVar READ intVar WRITE setIntVar NOTIFY intVarChanged)
 
151
    Q_PROPERTY(QJSValue realVar READ realVar WRITE setRealVar NOTIFY realVarChanged)
 
152
    Q_PROPERTY(QJSValue stringVar READ stringVar WRITE setStringVar NOTIFY stringVarChanged)
 
153
    Q_PROPERTY(QJSValue urlVar READ urlVar WRITE setUrlVar NOTIFY urlVarChanged)
 
154
    Q_PROPERTY(QJSValue colorVar READ colorVar WRITE setColorVar NOTIFY colorVarChanged)
 
155
    Q_PROPERTY(QJSValue objectVar READ objectVar WRITE setObjectVar NOTIFY objectVarChanged)
 
156
    Q_PROPERTY(QJSValue nullVar READ nullVar WRITE setNullVar NOTIFY nullVarChanged)
 
157
    Q_PROPERTY(QJSValue varVar READ varVar WRITE setVarVar NOTIFY varVarChanged)
 
158
 
 
159
public:
 
160
    JSValueTest() {}
 
161
    ~JSValueTest() {}
 
162
 
 
163
    QJSValue boolVar() const { return m_boolVar; }
 
164
    void setBoolVar(const QJSValue &v) { m_boolVar = v; emit boolVarChanged(); }
 
165
 
 
166
    QJSValue intVar() const { return m_intVar; }
 
167
    void setIntVar(const QJSValue &v) { m_intVar = v; emit intVarChanged(); }
 
168
 
 
169
    QJSValue realVar() const { return m_realVar; }
 
170
    void setRealVar(const QJSValue &v) { m_realVar = v; emit realVarChanged(); }
 
171
 
 
172
    QJSValue stringVar() const { return m_stringVar; }
 
173
    void setStringVar(const QJSValue &v) { m_stringVar = v; emit stringVarChanged(); }
 
174
 
 
175
    QJSValue urlVar() const { return m_urlVar; }
 
176
    void setUrlVar(const QJSValue &v) { m_urlVar = v; emit urlVarChanged(); }
 
177
 
 
178
    QJSValue colorVar() const { return m_colorVar; }
 
179
    void setColorVar(const QJSValue &v) { m_colorVar = v; emit colorVarChanged(); }
 
180
 
 
181
    QJSValue objectVar() const { return m_objectVar; }
 
182
    void setObjectVar(const QJSValue &v) { m_objectVar = v; emit objectVarChanged(); }
 
183
 
 
184
    QJSValue nullVar() const { return m_nullVar; }
 
185
    void setNullVar(const QJSValue &v) { m_nullVar = v; emit nullVarChanged(); }
 
186
 
 
187
    QJSValue varVar() const { return m_varVar; }
 
188
    void setVarVar(const QJSValue &v) { m_varVar = v; emit varVarChanged(); }
 
189
 
 
190
signals:
 
191
    void boolVarChanged();
 
192
    void intVarChanged();
 
193
    void realVarChanged();
 
194
    void stringVarChanged();
 
195
    void urlVarChanged();
 
196
    void colorVarChanged();
 
197
    void objectVarChanged();
 
198
    void nullVarChanged();
 
199
    void varVarChanged();
 
200
 
 
201
private:
 
202
    QJSValue m_boolVar;
 
203
    QJSValue m_intVar;
 
204
    QJSValue m_realVar;
 
205
    QJSValue m_stringVar;
 
206
    QJSValue m_urlVar;
 
207
    QJSValue m_colorVar;
 
208
    QJSValue m_objectVar;
 
209
    QJSValue m_nullVar;
 
210
    QJSValue m_varVar;
 
211
};
 
212
 
 
213
void registerTypes();
 
214
 
 
215
#endif // TESTTYPES_H
 
216