aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickpathview/data/delegateWithRequiredProperties.2.qml
blob: ae8ca784bc159fec5cfa0ee59ecb018b94a9317f (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
import QtQuick 2.14

Item {
    id: root
    width: 800
    height: 600
    property bool working: false

    ListModel {
        id: myModel
        ListElement {
            name: "Bill Jones"
            place: "Berlin"
        }
        ListElement {
            name: "Jane Doe"
            place: "Oslo"
        }
        ListElement {
            name: "John Smith"
            place: "Oulo"
        }
    }

    Component {
        id: delegateComponent
        Rectangle {
            id: myDelegate
            height: 50
            width: 50
        required property string name
        required property int index
        onNameChanged: () => {if (myDelegate.name === "You-know-who") root.working = true}
            Text {
                text: myDelegate.name
                font.pointSize: 10
                anchors.fill: myDelegate
            }
        }
    }

    PathView {
        anchors.fill: parent
        model: myModel
        delegate: delegateComponent
        path: Path {
            startX: 80; startY: 100
            PathQuad { x: 120; y: 25; controlX: 260; controlY: 75 }
            PathQuad { x: 140; y: 100; controlX: -20; controlY: 75 }
        }
    }
    Timer {
        interval: 1
        running: true
        repeat: false
        onTriggered: () => { myModel.setProperty(1, "name", "You-know-who"); }
    }

}