aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@digia.com>2012-09-25 17:05:00 +0200
committerMarco Bubke <marco.bubke@digia.com>2012-09-26 18:22:19 +0200
commit2fc24f27d153c26cd01262b83cfdea9b243ee0d6 (patch)
treed49ecd2c159d79f9ffcbfdd7901bd7d63a17c078 /share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h
parent1264d0ea5ea817e89d0ffead3cbeae024008462a (diff)
QmlDesigner.NodeInstances: Rename SG to Quick
Change-Id: I2180704df244a715a078385a7ecbf852f41ca68f Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h138
1 files changed, 138 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h
new file mode 100644
index 0000000000..c14f85ea20
--- /dev/null
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h
@@ -0,0 +1,138 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: http://www.qt-project.org/
+**
+**
+** GNU Lesser General Public License Usage
+**
+** 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.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**************************************************************************/
+
+#ifndef QuickITEMNODEINSTANCE_H
+#define QuickITEMNODEINSTANCE_H
+
+#include <QtGlobal>
+
+#include "objectnodeinstance.h"
+
+#include <QQuickItem>
+#include <designersupport.h>
+
+namespace QmlDesigner {
+namespace Internal {
+
+class QuickItemNodeInstance : public ObjectNodeInstance
+{
+public:
+ typedef QSharedPointer<QuickItemNodeInstance> Pointer;
+ typedef QWeakPointer<QuickItemNodeInstance> WeakPointer;
+
+ ~QuickItemNodeInstance();
+
+ static Pointer create(QObject *objectToBeWrapped);
+ void initialize(const ObjectNodeInstance::Pointer &objectNodeInstance);
+
+ bool isQuickItem() const;
+
+ QRectF boundingRect() const;
+ QPointF position() const;
+ QSizeF size() const;
+ QTransform transform() const;
+ QTransform customTransform() const;
+ QTransform sceneTransform() const;
+ double opacity() const;
+
+ QObject *parent() const;
+
+ double rotation() const;
+ double scale() const;
+ QPointF transformOriginPoint() const;
+ double zValue() const;
+
+ bool equalQuickItem(QQuickItem *item) const;
+
+ bool hasContent() const;
+
+ QList<ServerNodeInstance> childItems() const;
+ QList<ServerNodeInstance> childItemsForChild(QQuickItem *childItem) const;
+
+ bool isMovable() const;
+ void setMovable(bool movable);
+
+ void setPropertyVariant(const QString &name, const QVariant &value);
+ void setPropertyBinding(const QString &name, const QString &expression);
+
+ QVariant property(const QString &name) const;
+ void resetProperty(const QString &name);
+
+ void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty);
+
+ int penWidth() const;
+
+ bool hasAnchor(const QString &name) const;
+ QPair<QString, ServerNodeInstance> anchor(const QString &name) const;
+ bool isAnchoredBySibling() const;
+ bool isAnchoredByChildren() const;
+ void doComponentComplete();
+
+ bool isResizable() const;
+ void setResizable(bool resizeable);
+
+ void setHasContent(bool hasContent);
+
+ QList<ServerNodeInstance> stateInstances() const;
+
+ QImage renderImage() const;
+
+ DesignerSupport *designerSupport() const;
+ Qt5NodeInstanceServer *qt5NodeInstanceServer() const;
+
+ static void createEffectItem(bool createEffectItem);
+
+protected:
+ QuickItemNodeInstance(QQuickItem*);
+ QQuickItem *quickItem() const;
+ void resetHorizontal();
+ void resetVertical();
+ void refresh();
+ QRectF boundingRectWithStepChilds(QQuickItem *parentItem) const;
+ void updateDirtyNodeRecursive(QQuickItem *parentItem) const;
+
+private: //variables
+ bool m_hasHeight;
+ bool m_hasWidth;
+ bool m_isResizable;
+ bool m_hasContent;
+ bool m_isMovable;
+ double m_x;
+ double m_y;
+ double m_width;
+ double m_height;
+ static bool s_createEffectItem;
+};
+
+} // namespace Internal
+} // namespace QmlDesigner
+
+#endif // QuickITEMNODEINSTANCE_H
+