Enable binding to properties of type QJSValue.
authorAndrew den Exter <andrew.den-exter@nokia.com>
Fri, 11 May 2012 07:37:07 +0000 (17:37 +1000)
committerQt by Nokia <qt-info@nokia.com>
Thu, 24 May 2012 03:52:32 +0000 (05:52 +0200)
commit4709f30b26042427b225dd164648e3f5907c9d33
tree3edac8d14d3fb77406ef93aa2c34c42131109625
parent2542778d4837143a61dfcf143c32683acc8b998a
Enable binding to properties of type QJSValue.

This allows javascript objects of all types to be bound to properties
declared in c++.  Compared to a QVariant the primary benefit this offers
is a type which functions and objects with functions can be bound to.

Change-Id: Idb3313e7ff1d616ab12d44f616083c8296201f3a
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
40 files changed:
src/qml/qml/qqmlcompiler.cpp
src/qml/qml/qqmlinstruction_p.h
src/qml/qml/qqmlproperty.cpp
src/qml/qml/qqmlvme.cpp
src/qml/qml/v4/qv4bindings.cpp
src/qml/qml/v4/qv4compiler.cpp
src/qml/qml/v4/qv4instruction.cpp
src/qml/qml/v4/qv4instruction_p.h
src/qml/qml/v4/qv4ir.cpp
src/qml/qml/v4/qv4ir_p.h
src/qml/qml/v4/qv4irbuilder.cpp
src/qml/qml/v4/qv4program_p.h
src/qml/qml/v8/qv8engine.cpp
src/qml/qml/v8/qv8qobjectwrapper.cpp
tests/auto/qml/qqmlecmascript/data/PropertyQJSValueBaseItem.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/functionAssignment.1.qml
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.1.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.10.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.11.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.12.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.13.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.14.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.15.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.2.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.3.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.4.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.5.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.6.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.7.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.8.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.9.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.bindingreset.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyQJSValue.reset.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/testtypes.h
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
tests/auto/qml/qqmllanguage/data/assignLiteralToJSValue.qml [new file with mode: 0644]
tests/auto/qml/qqmllanguage/data/bindTypeToJSValue.qml [new file with mode: 0644]
tests/auto/qml/qqmllanguage/testtypes.h
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
tests/auto/qml/v4/tst_v4.cpp