aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlnotifier/data/connectnotify.qml
blob: 34e70e6afefc6a8c3e20eba27b16dba872e2ff8d (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
import QtQuick 2.0
import Test 1.0

Item {
    id: root
    required property ExportedClass exportedObject
    ExportedClass {
        id: exportedClass
        objectName: "exportedClass"
        onBoundSignal: {}
    }

    property int v4Binding: exportedClass.v4BindingProp

    property int v8Binding: {
        Math.abs(12); // Prevent optimization to v4
        return exportedClass.v8BindingProp
    }

    property int scriptBinding: {
        function innerFunction() {} // Prevent usage of v4 or v8 bindings
        return exportedClass.scriptBindingProp
    }

    property int foo: exportedClass.qmlObjectProp
    property int baz: exportedObject.cppObjectProp

    // v4 bindings that could share a subscription. They don't, though, and the code
    // relies on that
    property int v4Binding2: exportedClass.v4BindingProp2
    property int bla: exportedClass.v4BindingProp2

    function removeV4Binding() {
        //console.log("Going to remove v4 binding...")
        root.v4Binding = 1;
        //console.log("Binding removed!")
    }

    function removeV8Binding() {
        //console.log("Going to remove v8 binding...")
        root.v8Binding = 1;
        //console.log("Binding removed!")
    }

    function removeScriptBinding() {
        //console.log("Going to remove script binding...")
        root.scriptBinding = 1;
        //console.log("Binding removed!")
    }

    function removeV4Binding2() {
        //console.log("Going to remove v4 binding 2...")
        root.v4Binding2 = 1;
        //console.log("Binding removed!")
    }

    function readProperty() {
        var test = exportedClass.unboundProp
    }

    function changeState() {
        //console.log("Changing state...")
        if (root.state == "") root.state = "state1"
        else                  root.state = ""
        //console.log("State changed.")
    }

    property int someValue: 42

    states: State {
        name: "state1"
        PropertyChanges { target: root; someValue: exportedClass.unboundProp }
    }
}