diff options
author | Marco Bubke <marco.bubke@nokia.com> | 2010-06-09 18:00:34 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2010-09-20 14:09:10 +0200 |
commit | 9324737b0da17e24748628b5fa114cfcb6cc71b6 (patch) | |
tree | e83f011375fa669570c2deb9183243e22996c24f /src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp | |
parent | cbaccf13d9e462109f2589373d7cbbe80aa7949d (diff) | |
download | qt-creator-9324737b0da17e24748628b5fa114cfcb6cc71b6.tar.gz |
Stop animations and timers in the components
Diffstat (limited to 'src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp')
-rw-r--r-- | src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp | 52 |
1 files changed, 9 insertions, 43 deletions
diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index 8b1145f7b6..b6ac222744 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp @@ -157,49 +157,6 @@ MetaInfo NodeMetaInfo::metaInfo() const } /*! - \brief Creates an instance of the qml type in the given qml context. - - \throws InvalidArgumentException when the context argument is a null pointer - \throws InvalidMetaInfoException if the object is not valid - */ -QObject *NodeMetaInfo::createInstance(QDeclarativeContext *context) const -{ - if (!context) { - Q_ASSERT_X(0, Q_FUNC_INFO, "Context cannot be null"); - throw InvalidArgumentException(__LINE__, __FUNCTION__, __FILE__, "context"); - } - - if (!isValid()) { - qWarning() << "NodeMetaInfo is invalid"; - return 0; // maybe we should return a new QObject? - } - - QObject *object = 0; - if (isComponent()) { - // qml component - // TODO: This is maybe expensive ... - QDeclarativeComponent component(context->engine(), QUrl::fromLocalFile(m_data->qmlFile)); - QDeclarativeContext *newContext = new QDeclarativeContext(context); - object = component.create(newContext); - newContext->setParent(object); - } else { - // primitive - QDeclarativeType *type = QDeclarativeMetaType::qmlType(typeName().toAscii(), majorVersion(), minorVersion()); - if (type) { - object = type->create(); - } else { - qWarning() << "QuickDesigner: Cannot create an object of type" - << QString("%1 %2,%3").arg(typeName(), majorVersion(), minorVersion()) - << "- type isn't known to declarative meta type system"; - } - - if (object && context) - QDeclarativeEngine::setContextForObject(object, context); - } - return object; -} - -/*! \brief Returns all (direct and indirect) ancestor types. \throws InvalidMetaInfoException if the object is not valid @@ -592,6 +549,15 @@ void NodeMetaInfo::setIsContainer(bool isContainer) m_data->isContainer = isContainer; } +QString NodeMetaInfo::componentString() const +{ + if (!isValid()) { + qWarning() << "NodeMetaInfo is invalid"; + return QString(); + } + return m_data->qmlFile; +} + QIcon NodeMetaInfo::icon() const { if (!isValid()) { |