diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2011-08-31 12:36:32 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-01 06:58:23 +0200 |
commit | d481f2ff518df1e44103d1850e7d52bd69260c34 (patch) | |
tree | 1e6713284f99a61c74fbc57b7c753c954a41ff2c /src/declarative/qml/qdeclarativepropertycache_p.h | |
parent | 1dd8b509074ba60da671f7671f8cf09c3fc001ae (diff) |
Allow reference to signals using 'on' handler syntax.
This will allow APIs like the following:
trigger: mouseArea.onClicked
However, signal handlers will not be callable from QML:
mouseArea.onClicked() //throws exception
Change-Id: I2ef5cb4e1f3ed4814ef590962391e1b14e3f0c43
Reviewed-on: http://codereview.qt.nokia.com/3683
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Diffstat (limited to 'src/declarative/qml/qdeclarativepropertycache_p.h')
-rw-r--r-- | src/declarative/qml/qdeclarativepropertycache_p.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/declarative/qml/qdeclarativepropertycache_p.h b/src/declarative/qml/qdeclarativepropertycache_p.h index 8a1da1929c..33565c4d45 100644 --- a/src/declarative/qml/qdeclarativepropertycache_p.h +++ b/src/declarative/qml/qdeclarativepropertycache_p.h @@ -104,9 +104,10 @@ public: IsSignal = 0x00008000, // Function is a signal IsVMESignal = 0x00010000, // Signal was added by QML IsV8Function = 0x00020000, // Function takes QDeclarativeV8Function* args + IsSignalHandler = 0x00040000, // Function is a signal handler // Internal QDeclarativePropertyCache flags - NotFullyResolved = 0x00040000 // True if the type data is to be lazily resolved + NotFullyResolved = 0x00080000 // True if the type data is to be lazily resolved }; Q_DECLARE_FLAGS(Flags, Flag) @@ -133,6 +134,7 @@ public: bool isSignal() const { return flags & IsSignal; } bool isVMESignal() const { return flags & IsVMESignal; } bool isV8Function() const { return flags & IsV8Function; } + bool isSignalHandler() const { return flags & IsSignalHandler; } union { int propType; // When !NotFullyResolved @@ -221,6 +223,7 @@ private: IndexCache propertyIndexCache; IndexCache methodIndexCache; + IndexCache signalHandlerIndexCache; StringCache stringCache; AllowedRevisionCache allowedRevisionCache; v8::Persistent<v8::Function> constructor; |