diff options
Diffstat (limited to 'JavaScriptCore/qt/api/qscriptvalue.h')
-rw-r--r-- | JavaScriptCore/qt/api/qscriptvalue.h | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/JavaScriptCore/qt/api/qscriptvalue.h b/JavaScriptCore/qt/api/qscriptvalue.h index c55d461..991a6a0 100644 --- a/JavaScriptCore/qt/api/qscriptvalue.h +++ b/JavaScriptCore/qt/api/qscriptvalue.h @@ -20,6 +20,7 @@ #ifndef qscriptvalue_h #define qscriptvalue_h +#include "qscriptstring.h" #include <QtCore/qlist.h> #include <QtCore/qshareddata.h> @@ -34,12 +35,25 @@ typedef double qsreal; class QScriptValue { public: enum ResolveFlag { - ResolveLocal = 0x00, - ResolvePrototype = 0x01 + ResolveLocal = 0x00, + ResolvePrototype = 0x01, + ResolveScope = 0x02, + ResolveFull = ResolvePrototype | ResolveScope }; - Q_DECLARE_FLAGS(ResolveFlags, ResolveFlag) + enum PropertyFlag { + ReadOnly = 0x00000001, + Undeletable = 0x00000002, + SkipInEnumeration = 0x00000004, + PropertyGetter = 0x00000008, + PropertySetter = 0x00000010, + QObjectMember = 0x00000020, + KeepExistingFlags = 0x00000800, + UserRange = 0xff000000 // Users may use these as they see fit. + }; + Q_DECLARE_FLAGS(PropertyFlags, PropertyFlag) + enum SpecialValue { NullValue, UndefinedValue @@ -75,8 +89,16 @@ public: bool instanceOf(const QScriptValue& other) const; QScriptValue property(const QString& name, const ResolveFlags& mode = ResolvePrototype) const; + QScriptValue property(const QScriptString& name, const ResolveFlags& mode = ResolvePrototype) const; QScriptValue property(quint32 arrayIndex, const ResolveFlags& mode = ResolvePrototype) const; + void setProperty(const QString& name, const QScriptValue& value, const PropertyFlags& flags = KeepExistingFlags); + void setProperty(quint32 arrayIndex, const QScriptValue& value, const PropertyFlags& flags = KeepExistingFlags); + void setProperty(const QScriptString& name, const QScriptValue& value, const PropertyFlags& flags = KeepExistingFlags); + + PropertyFlags propertyFlags(const QString& name, const ResolveFlags& mode = ResolvePrototype) const; + PropertyFlags propertyFlags(const QScriptString& name, const ResolveFlags& mode = ResolvePrototype) const; + QScriptEngine* engine() const; bool isValid() const; @@ -89,6 +111,7 @@ public: bool isUndefined() const; bool isObject() const; bool isError() const; + bool isArray() const; QString toString() const; qsreal toNumber() const; @@ -102,7 +125,6 @@ public: QScriptValue call(const QScriptValue& thisObject = QScriptValue(), const QScriptValueList& args = QScriptValueList()); - private: QScriptValue(void*); QScriptValue(QScriptValuePrivate*); |