From d72ee7c7da8d803fb21a04cc0a8392837851f68d Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Fri, 1 Jul 2011 15:09:15 +0200 Subject: [PATCH] QmlJS: Remove deprecated enum functions in QmlObjectValue. Change-Id: I30c1636f4946f465e5924493e561310f506df3d7 Reviewed-on: http://codereview.qt.nokia.com/1043 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com> --- src/libs/languageutils/fakemetaobject.cpp | 3 +++ src/libs/languageutils/fakemetaobject.h | 1 + src/libs/qmljs/qmljsinterpreter.cpp | 27 ------------------- src/libs/qmljs/qmljsinterpreter.h | 5 ---- .../designercore/metainfo/nodemetainfo.cpp | 6 ++--- .../designercore/model/texttomodelmerger.cpp | 4 +-- 6 files changed, 9 insertions(+), 37 deletions(-) diff --git a/src/libs/languageutils/fakemetaobject.cpp b/src/libs/languageutils/fakemetaobject.cpp index 08134840ee8..6f47fbc2f06 100644 --- a/src/libs/languageutils/fakemetaobject.cpp +++ b/src/libs/languageutils/fakemetaobject.cpp @@ -62,6 +62,9 @@ int FakeMetaEnum::keyCount() const QStringList FakeMetaEnum::keys() const { return m_keys; } +bool FakeMetaEnum::hasKey(const QString &key) const +{ return m_keys.contains(key); } + FakeMetaMethod::FakeMetaMethod(const QString &name, const QString &returnType) : m_name(name) , m_returnType(returnType) diff --git a/src/libs/languageutils/fakemetaobject.h b/src/libs/languageutils/fakemetaobject.h index f44a59abbd4..1b67876e253 100644 --- a/src/libs/languageutils/fakemetaobject.h +++ b/src/libs/languageutils/fakemetaobject.h @@ -62,6 +62,7 @@ public: QString key(int index) const; int keyCount() const; QStringList keys() const; + bool hasKey(const QString &key) const; }; class LANGUAGEUTILS_EXPORT FakeMetaMethod { diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index 2587bd62cad..8e0c63f7f3a 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -369,11 +369,6 @@ bool QmlObjectValue::isListProperty(const QString &propertyName) const return false; } -bool QmlObjectValue::isEnum(const QString &typeName) const -{ - return _metaObject->enumeratorIndex(typeName) != -1; -} - FakeMetaEnum QmlObjectValue::getEnum(const QString &typeName) const { const int index = _metaObject->enumeratorIndex(typeName); @@ -427,28 +422,6 @@ bool QmlObjectValue::hasProperty(const QString &propertyName) const return false; } -bool QmlObjectValue::enumContainsKey(const QString &enumName, const QString &enumKeyName) const -{ - int idx = _metaObject->enumeratorIndex(enumName); - if (idx == -1) - return false; - const FakeMetaEnum &fme = _metaObject->enumerator(idx); - for (int i = 0; i < fme.keyCount(); ++i) { - if (fme.key(i) == enumKeyName) - return true; - } - return false; -} - -QStringList QmlObjectValue::keysForEnum(const QString &enumName) const -{ - int idx = _metaObject->enumeratorIndex(enumName); - if (idx == -1) - return QStringList(); - const FakeMetaEnum &fme = _metaObject->enumerator(idx); - return fme.keys(); -} - // Returns true if this object is in a package or if there is an object that // has this one in its prototype chain and is itself in a package. bool QmlObjectValue::hasChildInPackage() const diff --git a/src/libs/qmljs/qmljsinterpreter.h b/src/libs/qmljs/qmljsinterpreter.h index 2dbcc694dda..a56412337f4 100644 --- a/src/libs/qmljs/qmljsinterpreter.h +++ b/src/libs/qmljs/qmljsinterpreter.h @@ -455,11 +455,6 @@ public: bool hasChildInPackage() const; LanguageUtils::FakeMetaEnum getEnum(const QString &typeName) const; - - // deprecated - bool isEnum(const QString &typeName) const; - QStringList keysForEnum(const QString &enumName) const; - bool enumContainsKey(const QString &enumName, const QString &enumKeyName) const; protected: const Value *findOrCreateSignature(int index, const LanguageUtils::FakeMetaMethod &method, QString *methodName) const; diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index 60f48df12d6..db2467886c4 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp @@ -665,7 +665,7 @@ bool NodeMetaInfoPrivate::isPropertyEnum(const QString &propertyName) const //We have to run the prototype chain foreach (const Interpreter::ObjectValue *ov, objects) { if (const Interpreter::QmlObjectValue * qmlValue = dynamic_cast<const Interpreter::QmlObjectValue *>(ov)) { - if (qmlValue->isEnum(propertyType(propertyName))) + if (qmlValue->getEnum(propertyType(propertyName)).isValid()) return true; } } @@ -701,7 +701,7 @@ QString NodeMetaInfoPrivate::propertyEnumScope(const QString &propertyName) cons //We have to run the prototype chain foreach (const Interpreter::ObjectValue *ov, objects) { if (const Interpreter::QmlObjectValue * qmlValue = dynamic_cast<const Interpreter::QmlObjectValue *>(ov)) { - if (qmlValue->isEnum(propertyType(propertyName))) + if (qmlValue->getEnum(propertyType(propertyName)).isValid()) return qmlValue->className(); } } @@ -776,7 +776,7 @@ QStringList NodeMetaInfoPrivate::keysForEnum(const QString &enumName) const if (!isValid()) return QStringList(); - return getNearestQmlObjectValue()->keysForEnum(enumName); + return getNearestQmlObjectValue()->getEnum(enumName).keys(); } QString NodeMetaInfoPrivate::packageName() const diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 00910fb9db6..13357b69d35 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -542,7 +542,7 @@ public: if (const Interpreter::QmlObjectValue * qmlObject = dynamic_cast<const Interpreter::QmlObjectValue *>(containingObject)) { const QString typeName = qmlObject->propertyType(name); - if (qmlObject->isEnum(typeName)) { + if (qmlObject->getEnum(typeName).isValid()) { return QVariant(cleanedValue); } else { int type = QMetaType::type(typeName.toUtf8().constData()); @@ -612,7 +612,7 @@ public: if (!rhsQmlObjectValue) return QVariant(); - if (rhsQmlObjectValue->enumContainsKey(lhsPropertyTypeName, rhsValueName)) + if (rhsQmlObjectValue->getEnum(lhsPropertyTypeName).hasKey(rhsValueName)) return QVariant(rhsValueName); else return QVariant(); -- GitLab