Revision control

Copy as Markdown

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 }
}
}