aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickpathview/data/delegateWithRequiredProperties.3.qml
blob: 2996ba18fda449a455cfb5263c5d364fa6d1a493 (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
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 = false}
            Text {
                text: myDelegate.name
                font.pointSize: 10
                anchors.fill: myDelegate
            }
    Component.onCompleted: () => {myDelegate.name = "break binding"}
        }
    }

    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")
            myModel.setProperty(2, "name", "You-know-who")
            root.working = true
        }
    }

}