diff options
author | Marco Bubke <marco.bubke@nokia.com> | 2011-07-11 13:48:34 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2011-07-11 16:41:40 +0200 |
commit | b7d453b0c86db334a2a0f3a8391aff899a6fc6c1 (patch) | |
tree | c5e05ecf68b983c0869818fb6c522a411901d53c | |
parent | 7c99c0cca34a95e933dcfbfdf2569eed006190b0 (diff) | |
download | qt-creator-b7d453b0c86db334a2a0f3a8391aff899a6fc6c1.tar.gz |
QmlDesinger: Fix AnchorChanges are not exported
This reverts commit 6f161c99f7a3a7c1389341c59aab9a787f11f072.
Task-number: QTCREATORBUG-5026
Change-Id: I51cb29887a35f8a9d0aee7d9b974aa037dc446bd
Reviewed-on: http://codereview.qt.nokia.com/1443
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
4 files changed, 224 insertions, 1 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.cpp new file mode 100644 index 0000000000..7eac1c3a9b --- /dev/null +++ b/share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.cpp @@ -0,0 +1,114 @@ +/************************************************************************** + +** + +** This file is part of Qt Creator + +** + +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). + +** + +** Contact: Nokia Corporation (info@nokia.com) + +** + +** No Commercial Usage + +** + +** This file contains pre-release code and may not be distributed. + +** You may use this file in accordance with the terms and conditions + +** contained in the Technology Preview License Agreement accompanying + +** this package. + +** + +** GNU Lesser General Public License Usage + +** + +** Alternatively, this file may be used under the terms of the GNU Lesser + +** General Public License version 2.1 as published by the Free Software + +** Foundation and appearing in the file LICENSE.LGPL included in the + +** packaging of this file. Please review the following information to + +** ensure the GNU Lesser General Public License version 2.1 requirements + +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + +** + +** In addition, as a special exception, Nokia gives you certain additional + +** rights. These rights are described in the Nokia Qt LGPL Exception + +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. + +** + +** If you have questions regarding the use of this file, please contact + +** Nokia at info@nokia.com. + +** + +**************************************************************************/ + +#include "anchorchangesnodeinstance.h" + +namespace QmlDesigner { + +namespace Internal { + +AnchorChangesNodeInstance::AnchorChangesNodeInstance(QObject *object) : + ObjectNodeInstance(object) +{ +} + +AnchorChangesNodeInstance::Pointer AnchorChangesNodeInstance::create(QObject *object) +{ + Q_ASSERT(object); + + Pointer instance(new AnchorChangesNodeInstance(object)); + + return instance; +} + +void AnchorChangesNodeInstance::setPropertyVariant(const QString &/*name*/, const QVariant &/*value*/) +{ +} + +void AnchorChangesNodeInstance::setPropertyBinding(const QString &/*name*/, const QString &/*expression*/) +{ +} + +QVariant AnchorChangesNodeInstance::property(const QString &/*name*/) const +{ + return QVariant(); +} + +void AnchorChangesNodeInstance::resetProperty(const QString &/*name*/) +{ +} + + +void AnchorChangesNodeInstance::reparent(const ServerNodeInstance &/*oldParentInstance*/, const QString &/*oldParentProperty*/, const ServerNodeInstance &/*newParentInstance*/, const QString &/*newParentProperty*/) +{ +} + +QObject *AnchorChangesNodeInstance::changesObject() const +{ + return object(); +} + +} // namespace Internal + +} // namespace QmlDesigner diff --git a/share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.h b/share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.h new file mode 100644 index 0000000000..0efb1d97b2 --- /dev/null +++ b/share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.h @@ -0,0 +1,105 @@ +/************************************************************************** + +** + +** This file is part of Qt Creator + +** + +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). + +** + +** Contact: Nokia Corporation (qt-info@nokia.com) + +** + +** No Commercial Usage + +** + +** This file contains pre-release code and may not be distributed. + +** You may use this file in accordance with the terms and conditions + +** contained in the Technology Preview License Agreement accompanying + +** this package. + +** + +** GNU Lesser General Public License Usage + +** + +** Alternatively, this file may be used under the terms of the GNU Lesser + +** General Public License version 2.1 as published by the Free Software + +** Foundation and appearing in the file LICENSE.LGPL included in the + +** packaging of this file. Please review the following information to + +** ensure the GNU Lesser General Public License version 2.1 requirements + +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + +** + +** In addition, as a special exception, Nokia gives you certain additional + +** rights. These rights are described in the Nokia Qt LGPL Exception + +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. + +** + +** If you have questions regarding the use of this file, please contact + +** Nokia at info@nokia.com. + +** + +**************************************************************************/ + +#ifndef QMLDESIGNER_ANCHORCHANGESNODEINSTANCE_H +#define QMLDESIGNER_ANCHORCHANGESNODEINSTANCE_H + +#include "objectnodeinstance.h" + +#include <QPair> +#include <QWeakPointer> + +QT_BEGIN_NAMESPACE +class QDeclarativeProperty; +QT_END_NAMESPACE + +namespace QmlDesigner { + +namespace Internal { + +class AnchorChangesNodeInstance : public ObjectNodeInstance +{ +public: + typedef QSharedPointer<AnchorChangesNodeInstance> Pointer; + typedef QWeakPointer<AnchorChangesNodeInstance> WeakPointer; + + static Pointer create(QObject *objectToBeWrapped); + + virtual void setPropertyVariant(const QString &name, const QVariant &value); + virtual void setPropertyBinding(const QString &name, const QString &expression); + virtual QVariant property(const QString &name) const; + virtual void resetProperty(const QString &name); + + using ObjectNodeInstance::reparent; // keep the virtual reparent(...) method around + void reparent(const ServerNodeInstance &oldParentInstance, const QString &oldParentProperty, const ServerNodeInstance &newParentInstance, const QString &newParentProperty); + +protected: + AnchorChangesNodeInstance(QObject *object); + QObject *changesObject() const; +}; + +} // namespace Internal +} // namespace QmlDesigner + +#endif // QMLDESIGNER_ANCHORCHANGESNODEINSTANCE_H diff --git a/share/qtcreator/qml/qmlpuppet/instances/instances.pri b/share/qtcreator/qml/qmlpuppet/instances/instances.pri index af88d6bd73..b9ed533142 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/instances.pri +++ b/share/qtcreator/qml/qmlpuppet/instances/instances.pri @@ -16,7 +16,7 @@ HEADERS += $$PWD/qmlpropertychangesnodeinstance.h HEADERS += $$PWD/qmlstatenodeinstance.h HEADERS += $$PWD/qmltransitionnodeinstance.h HEADERS += $$PWD/servernodeinstance.h - +HEADERS += $$PWD/anchorchangesnodeinstance.h SOURCES += $$PWD/behaviornodeinstance.cpp SOURCES += $$PWD/dummycontextobject.cpp @@ -32,3 +32,4 @@ SOURCES += $$PWD/qmlpropertychangesnodeinstance.cpp SOURCES += $$PWD/qmlstatenodeinstance.cpp SOURCES += $$PWD/qmltransitionnodeinstance.cpp SOURCES += $$PWD/servernodeinstance.cpp +SOURCES += $$PWD/anchorchangesnodeinstance.cpp diff --git a/share/qtcreator/qml/qmlpuppet/instances/servernodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/servernodeinstance.cpp index 73a2c9f270..fea1bb2866 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/servernodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/instances/servernodeinstance.cpp @@ -38,6 +38,7 @@ #include "qmlpropertychangesnodeinstance.h" #include "behaviornodeinstance.h" #include "qmlstatenodeinstance.h" +#include "anchorchangesnodeinstance.h" #if QT_VERSION >= 0x050000 #include "sgitemnodeinstance.h" @@ -185,6 +186,8 @@ Internal::ObjectNodeInstance::Pointer ServerNodeInstance::createInstance(QObject #endif else if (isSubclassOf(objectToBeWrapped, "QDeclarativeComponent")) instance = Internal::ComponentNodeInstance::create(objectToBeWrapped); + else if (objectToBeWrapped->inherits("QDeclarativeAnchorChanges")) + instance = Internal::AnchorChangesNodeInstance::create(objectToBeWrapped); else if (isSubclassOf(objectToBeWrapped, "QDeclarativePropertyChanges")) instance = Internal::QmlPropertyChangesNodeInstance::create(objectToBeWrapped); else if (isSubclassOf(objectToBeWrapped, "QDeclarativeState")) |