blob: 0455ac1719ce15218f364f54e0861e80c06d02f3 (
plain)
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
|
import QtQuick
import Test
ListView {
id: root
width: 100
height: 100
property Component typedDelegate: Item {
width: 10
height: 10
required property QtObject model
required property real a
property real immediateX: a
property real modelX: model.a
function writeImmediate() {
a = 1;
}
function writeThroughModel() {
model.a = 3;
}
}
property Component untypedDelegate: Item {
width: 10
height: 10
property real immediateX: a
property real modelX: model.a
function writeImmediate() {
a = 1;
}
function writeThroughModel() {
model.a = 3;
}
}
property ListModel singularModel: ListModel {
ListElement {
a: 11
}
ListElement {
a: 12
}
}
property ListModel listModel: ListModel {
ListElement {
a: 11
y: 12
}
ListElement {
a: 15
y: 16
}
}
property var array: [
{a: 11, y: 12}, {a: 19, y: 20}
]
property QtObject object: QtObject {
property int a: 11
property int y: 12
}
property int modelIndex: Model.None
property int delegateIndex: Delegate.None
model: {
switch (modelIndex) {
case Model.Singular: return singularModel
case Model.List: return listModel
case Model.Array: return array
case Model.Object: return object
}
return undefined;
}
delegate: {
switch (delegateIndex) {
case Delegate.Untyped: return untypedDelegate
case Delegate.Typed: return typedDelegate
}
return null
}
}
|