1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
// This tests assigning literals to QJSValue properties.
// These properties store JavaScript object references.
import QtQuick 2.0
import Test 1.0
QtObject {
property list<QtObject> resources: [
MyQmlObject { id: testObj1; objectName: "test1"; qjsvalue: 1 },
MyQmlObject { id: testObj2; objectName: "test2"; qjsvalue: 1.7 },
MyQmlObject { id: testObj3; objectName: "test3"; qjsvalue: "Hello world!" },
MyQmlObject { id: testObj4; objectName: "test4"; qjsvalue: "#FF008800" },
MyQmlObject { id: testObj5; objectName: "test5"; qjsvalue: "10,10,10x10" },
MyQmlObject { id: testObj6; objectName: "test6"; qjsvalue: "10,10" },
MyQmlObject { id: testObj7; objectName: "test7"; qjsvalue: "10x10" },
MyQmlObject { id: testObj8; objectName: "test8"; qjsvalue: "100,100,100" },
MyQmlObject { id: testObj9; objectName: "test9"; qjsvalue: String("#FF008800") },
MyQmlObject { id: testObj10; objectName: "test10"; qjsvalue: true },
MyQmlObject { id: testObj11; objectName: "test11"; qjsvalue: false },
MyQmlObject { id: testObj12; objectName: "test12"; qjsvalue: Qt.rgba(0.2, 0.3, 0.4, 0.5) },
MyQmlObject { id: testObj13; objectName: "test13"; qjsvalue: Qt.rect(10, 10, 10, 10) },
MyQmlObject { id: testObj14; objectName: "test14"; qjsvalue: Qt.point(10, 10) },
MyQmlObject { id: testObj15; objectName: "test15"; qjsvalue: Qt.size(10, 10) },
MyQmlObject { id: testObj16; objectName: "test16"; qjsvalue: Qt.vector3d(100, 100, 100); },
MyQmlObject { id: testObj17; objectName: "test17"; qjsvalue: "1" },
MyQmlObject { id: testObj18; objectName: "test18"; qjsvalue: "1.7" },
MyQmlObject { id: testObj19; objectName: "test19"; qjsvalue: "true" },
MyQmlObject { id: testObj20; objectName: "test20"; qjsvalue: function(val) { return val * 3; } },
MyQmlObject { id: testObj21; objectName: "test21"; qjsvalue: undefined },
MyQmlObject { id: testObj22; objectName: "test22"; qjsvalue: null },
MyQmlObject { id: testObj1Bound; objectName: "test1Bound"; qjsvalue: testObj1.qjsvalue + 4 }, // 1 + 4 + 4 = 9
MyQmlObject { id: testObj20Bound; objectName: "test20Bound"; qjsvalue: testObj20.qjsvalue(testObj1Bound.qjsvalue) }, // 9 * 3 = 27
MyQmlObject { id: testObj23; objectName: "test23"; qjsvalue: QtObject { objectName: "blah" } },
QtObject {
id: varProperties
objectName: "varProperties"
property var test1: testObj1.qjsvalue
property var test2: testObj2.qjsvalue
property var test3: testObj3.qjsvalue
property var test4: testObj4.qjsvalue
property var test5: testObj5.qjsvalue
property var test6: testObj6.qjsvalue
property var test7: testObj7.qjsvalue
property var test8: testObj8.qjsvalue
property var test9: testObj9.qjsvalue
property var test10: testObj10.qjsvalue
property var test11: testObj11.qjsvalue
property var test12: testObj12.qjsvalue
property var test13: testObj13.qjsvalue
property var test14: testObj14.qjsvalue
property var test15: testObj15.qjsvalue
property var test16: testObj16.qjsvalue
property var test20: testObj20.qjsvalue
property var test1Bound: testObj1.qjsvalue + 4 // 1 + 4 + 4 = 9
property var test20Bound: testObj20.qjsvalue(test1Bound) // 9 * 3 = 27
},
QtObject {
id: variantProperties
objectName: "variantProperties"
property variant test1: testObj1.qjsvalue
property variant test2: testObj2.qjsvalue
property variant test3: testObj3.qjsvalue
property variant test4: testObj4.qjsvalue
property variant test5: testObj5.qjsvalue
property variant test6: testObj6.qjsvalue
property variant test7: testObj7.qjsvalue
property variant test8: testObj8.qjsvalue
property variant test9: testObj9.qjsvalue
property variant test10: testObj10.qjsvalue
property variant test11: testObj11.qjsvalue
property variant test12: testObj12.qjsvalue
property variant test13: testObj13.qjsvalue
property variant test14: testObj14.qjsvalue
property variant test15: testObj15.qjsvalue
property variant test16: testObj16.qjsvalue
property variant test1Bound: testObj1.qjsvalue + 4 // 1 + 4 + 4 = 9
property variant test20Bound: testObj20.qjsvalue(test1Bound) // 9 * 3 = 27
},
MyTypeObject {
objectName: "typedProperties"
intProperty: testObj1.qjsvalue
doubleProperty: testObj2.qjsvalue
stringProperty: testObj3.qjsvalue
boolProperty: testObj10.qjsvalue
colorProperty: testObj12.qjsvalue
rectFProperty: testObj13.qjsvalue
pointFProperty: testObj14.qjsvalue
sizeFProperty: testObj15.qjsvalue
vectorProperty: testObj16.qjsvalue
},
MyTypeObject {
objectName: "stringProperties"
intProperty: testObj17.qjsvalue
doubleProperty: testObj18.qjsvalue
stringProperty: testObj3.qjsvalue
boolProperty: testObj19.qjsvalue
colorProperty: testObj4.qjsvalue
rectFProperty: testObj5.qjsvalue
pointFProperty: testObj6.qjsvalue
sizeFProperty: testObj7.qjsvalue
vectorProperty: testObj8.qjsvalue
}
]
Component.onCompleted: {
testObj1.qjsvalue = testObj1.qjsvalue + 4
}
}
|