aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qmljs/qmljsinterpreter.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <[email protected]>2010-01-28 15:50:58 +0100
committerRoberto Raggi <[email protected]>2010-01-28 15:51:16 +0100
commitda81d59e2410573d99b61fe5a321d710ac302424 (patch)
tree44eb1af8c32e71309dd5d0b8135f8e77d47e5e28 /src/libs/qmljs/qmljsinterpreter.cpp
parentfc77c277be639021c81172c199dc949ebb419d5d (diff)
Look at the enumerators when populating the completion box.
Diffstat (limited to 'src/libs/qmljs/qmljsinterpreter.cpp')
-rw-r--r--src/libs/qmljs/qmljsinterpreter.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp
index 99833df3389..f27405b2927 100644
--- a/src/libs/qmljs/qmljsinterpreter.cpp
+++ b/src/libs/qmljs/qmljsinterpreter.cpp
@@ -89,8 +89,13 @@ public:
}
};
-QmlObjectValue::QmlObjectValue(const QMetaObject *metaObject, const QString &qmlTypeName, int majorVersion, int minorVersion, Engine *engine)
- : ObjectValue(engine), _metaObject(metaObject), _qmlTypeName(qmlTypeName), _majorVersion(majorVersion), _minorVersion(minorVersion)
+QmlObjectValue::QmlObjectValue(const QMetaObject *metaObject, const QString &qmlTypeName,
+ int majorVersion, int minorVersion, Engine *engine)
+ : ObjectValue(engine),
+ _metaObject(metaObject),
+ _qmlTypeName(qmlTypeName),
+ _majorVersion(majorVersion),
+ _minorVersion(minorVersion)
{
setClassName(qmlTypeName); // ### TODO: we probably need to do more than just this...
}
@@ -139,6 +144,14 @@ void QmlObjectValue::processMembers(MemberProcessor *processor) const
processor->processProperty(prop.name(), propertyValue(prop));
}
+ for (int index = _metaObject->enumeratorOffset(); index < _metaObject->propertyCount(); ++index) {
+ QMetaEnum e = _metaObject->enumerator(index);
+
+ for (int i = 0; i < e.keyCount(); ++i) {
+ processor->processEnumerator(QString::fromUtf8(e.key(i)), engine()->numberValue());
+ }
+ }
+
for (int index = 0; index < _metaObject->methodCount(); ++index) {
QMetaMethod method = _metaObject->method(index);
@@ -657,6 +670,11 @@ bool MemberProcessor::processProperty(const QString &, const Value *)
return true;
}
+bool MemberProcessor::processEnumerator(const QString &, const Value *)
+{
+ return true;
+}
+
bool MemberProcessor::processSignal(const QString &, const Value *)
{
return true;