summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@nokia.com>2011-07-11 13:48:34 +0200
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2011-07-11 16:41:40 +0200
commitb7d453b0c86db334a2a0f3a8391aff899a6fc6c1 (patch)
treec5e05ecf68b983c0869818fb6c522a411901d53c
parent7c99c0cca34a95e933dcfbfdf2569eed006190b0 (diff)
downloadqt-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>
-rw-r--r--share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.cpp114
-rw-r--r--share/qtcreator/qml/qmlpuppet/instances/anchorchangesnodeinstance.h105
-rw-r--r--share/qtcreator/qml/qmlpuppet/instances/instances.pri3
-rw-r--r--share/qtcreator/qml/qmlpuppet/instances/servernodeinstance.cpp3
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"))