aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlproperty/data/invalidateQPropertyChangeTriggers.qml
blob: bfa832c1c81b69489ce60f10e6c4c65d0baee524 (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
import QtQml

QtObject {
    id: root
    objectName: column.text

    property Component c: Component {
        id: comp
        QtObject { }
    }

    property QtObject rectItem: null

    property bool running: false

    property Timer t: Timer {
        id: column
        interval: 200
        running: root.running
        repeat: true

        property string text: {
            let item = root.rectItem
            let result = rectItem ? rectItem.objectName : "Create Object"
            return result
        }

        onTriggered: {
            let rectItem = root.rectItem

            // If rectItem exists destory it.
            if (rectItem) {
                rectItem.destroy()
                return
            }

            // Otherwise create a new object
            let newRectItem = comp.createObject(column, {})


            // Setting the objectName before setting root.rectItem seems to work.
            // newRectItem.width = 1200
            root.rectItem = newRectItem

            // But setting the objectName after setting root.rectItem seems to
            // cause the issue.
            newRectItem.objectName = "1300"
        }
    }
}