1
#include "govaluetype.h"
3
#define DEFINE_GOVALUETYPE(N) \
4
template<> QMetaObject GoValueType<N>::staticMetaObject = QMetaObject(); \
5
template<> GoTypeInfo *GoValueType<N>::typeInfo = 0; \
6
template<> GoTypeSpec_ *GoValueType<N>::typeSpec = 0;
8
#define DEFINE_GOPAINTEDVALUETYPE(N) \
9
template<> QMetaObject GoPaintedValueType<N>::staticMetaObject = QMetaObject(); \
10
template<> GoTypeInfo *GoPaintedValueType<N>::typeInfo = 0; \
11
template<> GoTypeSpec_ *GoPaintedValueType<N>::typeSpec = 0;
22
DEFINE_GOVALUETYPE(10)
23
DEFINE_GOVALUETYPE(11)
24
DEFINE_GOVALUETYPE(12)
25
DEFINE_GOVALUETYPE(13)
26
DEFINE_GOVALUETYPE(14)
27
DEFINE_GOVALUETYPE(15)
28
DEFINE_GOVALUETYPE(16)
29
DEFINE_GOVALUETYPE(17)
30
DEFINE_GOVALUETYPE(18)
31
DEFINE_GOVALUETYPE(19)
32
DEFINE_GOVALUETYPE(20)
33
DEFINE_GOVALUETYPE(21)
34
DEFINE_GOVALUETYPE(22)
35
DEFINE_GOVALUETYPE(23)
36
DEFINE_GOVALUETYPE(24)
37
DEFINE_GOVALUETYPE(25)
38
DEFINE_GOVALUETYPE(26)
39
DEFINE_GOVALUETYPE(27)
40
DEFINE_GOVALUETYPE(28)
41
DEFINE_GOVALUETYPE(29)
42
DEFINE_GOVALUETYPE(30)
44
DEFINE_GOPAINTEDVALUETYPE(1)
45
DEFINE_GOPAINTEDVALUETYPE(2)
46
DEFINE_GOPAINTEDVALUETYPE(3)
47
DEFINE_GOPAINTEDVALUETYPE(4)
48
DEFINE_GOPAINTEDVALUETYPE(5)
49
DEFINE_GOPAINTEDVALUETYPE(6)
50
DEFINE_GOPAINTEDVALUETYPE(7)
51
DEFINE_GOPAINTEDVALUETYPE(8)
52
DEFINE_GOPAINTEDVALUETYPE(9)
53
DEFINE_GOPAINTEDVALUETYPE(10)
54
DEFINE_GOPAINTEDVALUETYPE(11)
55
DEFINE_GOPAINTEDVALUETYPE(12)
56
DEFINE_GOPAINTEDVALUETYPE(13)
57
DEFINE_GOPAINTEDVALUETYPE(14)
58
DEFINE_GOPAINTEDVALUETYPE(15)
59
DEFINE_GOPAINTEDVALUETYPE(16)
60
DEFINE_GOPAINTEDVALUETYPE(17)
61
DEFINE_GOPAINTEDVALUETYPE(18)
62
DEFINE_GOPAINTEDVALUETYPE(19)
63
DEFINE_GOPAINTEDVALUETYPE(20)
64
DEFINE_GOPAINTEDVALUETYPE(21)
65
DEFINE_GOPAINTEDVALUETYPE(22)
66
DEFINE_GOPAINTEDVALUETYPE(23)
67
DEFINE_GOPAINTEDVALUETYPE(24)
68
DEFINE_GOPAINTEDVALUETYPE(25)
69
DEFINE_GOPAINTEDVALUETYPE(26)
70
DEFINE_GOPAINTEDVALUETYPE(27)
71
DEFINE_GOPAINTEDVALUETYPE(28)
72
DEFINE_GOPAINTEDVALUETYPE(29)
73
DEFINE_GOPAINTEDVALUETYPE(30)
75
static int goValueTypeN = 0;
76
static int goPaintedValueTypeN = 0;
79
int registerSingletonN(char *location, int major, int minor, char *name, GoTypeInfo *info, GoTypeSpec_ *spec) {
80
GoValueType<N>::init(info, spec);
81
return qmlRegisterSingletonType< GoValueType<N> >(location, major, minor, name, [](QQmlEngine *qmlEngine, QJSEngine *jsEngine) -> QObject* {
82
QObject *singleton = new GoValueType<N>();
83
QQmlEngine::setContextForObject(singleton, qmlEngine->rootContext());
89
int registerPaintedSingletonN(char *location, int major, int minor, char *name, GoTypeInfo *info, GoTypeSpec_ *spec) {
90
GoPaintedValueType<N>::init(info, spec);
91
return qmlRegisterSingletonType< GoPaintedValueType<N> >(location, major, minor, name, [](QQmlEngine *qmlEngine, QJSEngine *jsEngine) -> QObject* {
92
QObject *singleton = new GoPaintedValueType<N>();
93
QQmlEngine::setContextForObject(singleton, qmlEngine->rootContext());
98
#define GOVALUETYPE_CASE_SINGLETON(N) \
99
case N: return registerSingletonN<N>(location, major, minor, name, info, spec);
100
#define GOPAINTEDVALUETYPE_CASE_SINGLETON(N) \
101
case N: return registerPaintedSingletonN<N>(location, major, minor, name, info, spec);
103
int registerSingleton(char *location, int major, int minor, char *name, GoTypeInfo *info, GoTypeSpec_ *spec)
106
switch (++goValueTypeN) {
107
GOVALUETYPE_CASE_SINGLETON(1)
108
GOVALUETYPE_CASE_SINGLETON(2)
109
GOVALUETYPE_CASE_SINGLETON(3)
110
GOVALUETYPE_CASE_SINGLETON(4)
111
GOVALUETYPE_CASE_SINGLETON(5)
112
GOVALUETYPE_CASE_SINGLETON(6)
113
GOVALUETYPE_CASE_SINGLETON(7)
114
GOVALUETYPE_CASE_SINGLETON(8)
115
GOVALUETYPE_CASE_SINGLETON(9)
116
GOVALUETYPE_CASE_SINGLETON(10)
117
GOVALUETYPE_CASE_SINGLETON(11)
118
GOVALUETYPE_CASE_SINGLETON(12)
119
GOVALUETYPE_CASE_SINGLETON(13)
120
GOVALUETYPE_CASE_SINGLETON(14)
121
GOVALUETYPE_CASE_SINGLETON(15)
122
GOVALUETYPE_CASE_SINGLETON(16)
123
GOVALUETYPE_CASE_SINGLETON(17)
124
GOVALUETYPE_CASE_SINGLETON(18)
125
GOVALUETYPE_CASE_SINGLETON(19)
126
GOVALUETYPE_CASE_SINGLETON(20)
127
GOVALUETYPE_CASE_SINGLETON(21)
128
GOVALUETYPE_CASE_SINGLETON(22)
129
GOVALUETYPE_CASE_SINGLETON(23)
130
GOVALUETYPE_CASE_SINGLETON(24)
131
GOVALUETYPE_CASE_SINGLETON(25)
132
GOVALUETYPE_CASE_SINGLETON(26)
133
GOVALUETYPE_CASE_SINGLETON(27)
134
GOVALUETYPE_CASE_SINGLETON(28)
135
GOVALUETYPE_CASE_SINGLETON(29)
136
GOVALUETYPE_CASE_SINGLETON(30)
139
switch (++goPaintedValueTypeN) {
140
GOPAINTEDVALUETYPE_CASE_SINGLETON(1)
141
GOPAINTEDVALUETYPE_CASE_SINGLETON(2)
142
GOPAINTEDVALUETYPE_CASE_SINGLETON(3)
143
GOPAINTEDVALUETYPE_CASE_SINGLETON(4)
144
GOPAINTEDVALUETYPE_CASE_SINGLETON(5)
145
GOPAINTEDVALUETYPE_CASE_SINGLETON(6)
146
GOPAINTEDVALUETYPE_CASE_SINGLETON(7)
147
GOPAINTEDVALUETYPE_CASE_SINGLETON(8)
148
GOPAINTEDVALUETYPE_CASE_SINGLETON(9)
149
GOPAINTEDVALUETYPE_CASE_SINGLETON(10)
150
GOPAINTEDVALUETYPE_CASE_SINGLETON(11)
151
GOPAINTEDVALUETYPE_CASE_SINGLETON(12)
152
GOPAINTEDVALUETYPE_CASE_SINGLETON(13)
153
GOPAINTEDVALUETYPE_CASE_SINGLETON(14)
154
GOPAINTEDVALUETYPE_CASE_SINGLETON(15)
155
GOPAINTEDVALUETYPE_CASE_SINGLETON(16)
156
GOPAINTEDVALUETYPE_CASE_SINGLETON(17)
157
GOPAINTEDVALUETYPE_CASE_SINGLETON(18)
158
GOPAINTEDVALUETYPE_CASE_SINGLETON(19)
159
GOPAINTEDVALUETYPE_CASE_SINGLETON(20)
160
GOPAINTEDVALUETYPE_CASE_SINGLETON(21)
161
GOPAINTEDVALUETYPE_CASE_SINGLETON(22)
162
GOPAINTEDVALUETYPE_CASE_SINGLETON(23)
163
GOPAINTEDVALUETYPE_CASE_SINGLETON(24)
164
GOPAINTEDVALUETYPE_CASE_SINGLETON(25)
165
GOPAINTEDVALUETYPE_CASE_SINGLETON(26)
166
GOPAINTEDVALUETYPE_CASE_SINGLETON(27)
167
GOPAINTEDVALUETYPE_CASE_SINGLETON(28)
168
GOPAINTEDVALUETYPE_CASE_SINGLETON(29)
169
GOPAINTEDVALUETYPE_CASE_SINGLETON(30)
172
panicf("too many registered types; please contact the Go QML developers");
176
#define GOVALUETYPE_CASE(N) \
177
case N: GoValueType<N>::init(info, spec); return qmlRegisterType< GoValueType<N> >(location, major, minor, name);
178
#define GOPAINTEDVALUETYPE_CASE(N) \
179
case N: GoPaintedValueType<N>::init(info, spec); return qmlRegisterType< GoPaintedValueType<N> >(location, major, minor, name);
181
int registerType(char *location, int major, int minor, char *name, GoTypeInfo *info, GoTypeSpec_ *spec)
184
switch (++goValueTypeN) {
217
switch (++goPaintedValueTypeN) {
218
GOPAINTEDVALUETYPE_CASE(1)
219
GOPAINTEDVALUETYPE_CASE(2)
220
GOPAINTEDVALUETYPE_CASE(3)
221
GOPAINTEDVALUETYPE_CASE(4)
222
GOPAINTEDVALUETYPE_CASE(5)
223
GOPAINTEDVALUETYPE_CASE(6)
224
GOPAINTEDVALUETYPE_CASE(7)
225
GOPAINTEDVALUETYPE_CASE(8)
226
GOPAINTEDVALUETYPE_CASE(9)
227
GOPAINTEDVALUETYPE_CASE(10)
228
GOPAINTEDVALUETYPE_CASE(11)
229
GOPAINTEDVALUETYPE_CASE(12)
230
GOPAINTEDVALUETYPE_CASE(13)
231
GOPAINTEDVALUETYPE_CASE(14)
232
GOPAINTEDVALUETYPE_CASE(15)
233
GOPAINTEDVALUETYPE_CASE(16)
234
GOPAINTEDVALUETYPE_CASE(17)
235
GOPAINTEDVALUETYPE_CASE(18)
236
GOPAINTEDVALUETYPE_CASE(19)
237
GOPAINTEDVALUETYPE_CASE(20)
238
GOPAINTEDVALUETYPE_CASE(21)
239
GOPAINTEDVALUETYPE_CASE(22)
240
GOPAINTEDVALUETYPE_CASE(23)
241
GOPAINTEDVALUETYPE_CASE(24)
242
GOPAINTEDVALUETYPE_CASE(25)
243
GOPAINTEDVALUETYPE_CASE(26)
244
GOPAINTEDVALUETYPE_CASE(27)
245
GOPAINTEDVALUETYPE_CASE(28)
246
GOPAINTEDVALUETYPE_CASE(29)
247
GOPAINTEDVALUETYPE_CASE(30)
250
panicf("too many registered types; please contact the Go QML developers");
254
// vim:sw=4:st=4:et:ft=cpp