QList<ServerNodeInstance> NodeInstanceServer::createInstances(const QVector<InstanceContainer> &containerVector) { Q_ASSERT(m_declarativeView); QList<ServerNodeInstance> instanceList; foreach(const InstanceContainer &instanceContainer, containerVector) { ServerNodeInstance instance = ServerNodeInstance::create(this, instanceContainer); insertInstanceRelationship(instance); instanceList.append(instance); instance.internalObject()->installEventFilter(childrenChangeEventFilter()); if (instanceContainer.instanceId() == 0) { m_rootNodeInstance = instance; QGraphicsObject *rootGraphicsObject = qobject_cast<QGraphicsObject*>(instance.internalObject()); if (rootGraphicsObject) { m_declarativeView->scene()->addItem(rootGraphicsObject); m_declarativeView->setSceneRect(rootGraphicsObject->boundingRect()); } } }
QList<ServerNodeInstance> NodeInstanceServer::createInstances(const QVector<InstanceContainer> &containerVector) { Q_ASSERT(declarativeView() || sgView()); QList<ServerNodeInstance> instanceList; foreach (const InstanceContainer &instanceContainer, containerVector) { ServerNodeInstance instance; if (instanceContainer.nodeSourceType() == InstanceContainer::ComponentSource) { instance = ServerNodeInstance::create(this, instanceContainer, ServerNodeInstance::WrapAsComponent); } else { instance = ServerNodeInstance::create(this, instanceContainer, ServerNodeInstance::DoNotWrapAsComponent); } insertInstanceRelationship(instance); instanceList.append(instance); instance.internalObject()->installEventFilter(childrenChangeEventFilter()); if (instanceContainer.instanceId() == 0) { m_rootNodeInstance = instance; resizeCanvasSizeToRootItemSize(); } foreach (QDeclarativeContext* context, allSubContextsForObject(instance.internalObject())) setupDummysForContext(context); }