aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@nokia.com>2011-07-12 15:36:41 +0200
committerMarco Bubke <marco.bubke@nokia.com>2011-07-12 16:11:07 +0200
commit2ebb5137a08f502c8d677fdd0450e7f9420b8f37 (patch)
treeca79944876a5d1ee265f2df83c3bb21cb624dbc7
parent7eb177ce8ae3fd2cbadcc7c6cc25e722027c4e1f (diff)
QmlDesigner.NodeInstances: Wouraround invisible root items
Task-number: QTCREATORBUG-5152 Change-Id: I40be95844598a3a3728d0c7fbe88a9fe7a155c53 Reviewed-on: http://codereview.qt.nokia.com/1532 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/objectnodeinstance.cpp5
-rw-r--r--share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h1
-rw-r--r--share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp20
-rw-r--r--share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h6
4 files changed, 31 insertions, 1 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp
index ada992f1615..2d6fda7eac0 100644
--- a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp
@@ -967,6 +967,11 @@ QVariant ObjectNodeInstance::resetValue(const QString &propertyName) const
return m_resetValueHash.value(propertyName);
}
+void ObjectNodeInstance::setResetValue(const QString &propertyName, const QVariant &value)
+{
+ m_resetValueHash.insert(propertyName, value);
+}
+
void ObjectNodeInstance::paint(QPainter * /*painter*/)
{
}
diff --git a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h
index 4cc3fd155f8..95e20abfd07 100644
--- a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h
+++ b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h
@@ -153,6 +153,7 @@ public:
void populateResetValueHash();
QVariant resetValue(const QString &propertyName) const;
+ void setResetValue(const QString &propertyName, const QVariant &value);
QObject *object() const;
diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp
index b97f9b7e1cd..ac26da5458b 100644
--- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp
@@ -254,6 +254,26 @@ int QmlGraphicsItemNodeInstance::penWidth() const
return GraphicsObjectNodeInstance::penWidth();
}
+void QmlGraphicsItemNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNodeInstance)
+{
+ GraphicsObjectNodeInstance::initialize(objectNodeInstance);
+
+ if (objectNodeInstance->instanceId() == 0 && objectNodeInstance->isQmlGraphicsItem()) { // is root item
+ objectNodeInstance.staticCast<QmlGraphicsItemNodeInstance>()->setVisible(true);
+ objectNodeInstance->setResetValue("visible", true);
+ }
+}
+
+void QmlGraphicsItemNodeInstance::setVisible(bool isVisible)
+{
+ qmlGraphicsItem()->setVisible(isVisible);
+}
+
+bool QmlGraphicsItemNodeInstance::isVisible() const
+{
+ return qmlGraphicsItem()->isVisible();
+}
+
void QmlGraphicsItemNodeInstance::resetProperty(const QString &name)
{
if (name == "height") {
diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h
index 9a5c7e0505e..1abf46d32bf 100644
--- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h
+++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h
@@ -75,8 +75,12 @@ public:
bool isResizable() const;
void setResizable(bool resizeable);
+ void setVisible(bool isVisible);
+ bool isVisible() const;
- QList<ServerNodeInstance> stateInstances() const;
+ void initialize(const ObjectNodeInstance::Pointer &objectNodeInstance);
+
+ QList<ServerNodeInstance> stateInstances() const;
protected:
QmlGraphicsItemNodeInstance(QDeclarativeItem *item);