QDeclarativeEngine *Qt5NodeInstanceServer::engine() const { if (sgView()) return sgView()->engine(); return 0; }
QList<QSGItem*> Qt5NodeInstanceServer::allItems() const { QList<QSGItem*> itemList; if (sgView()) { itemList.append(sgView()->rootItem()); itemList.append(subItems(sgView()->rootItem())); } return itemList; }
void Qt5NodeInstanceServer::initializeView(const QVector<AddImportContainer> &/*importVector*/) { Q_ASSERT(!sgView()); m_sgView = new QSGView; #ifndef Q_WS_MAC sgView()->setAttribute(Qt::WA_DontShowOnScreen, true); #endif sgView()->show(); #ifdef Q_WS_MAC sgView()->setAttribute(Qt::WA_DontShowOnScreen, true); #endif sgView()->setUpdatesEnabled(false); }
QList<ServerNodeInstance> Qt5NodeInstanceServer::setupScene(const CreateSceneCommand &command) { setupFileUrl(command.fileUrl()); setupImports(command.imports()); setupDummyData(command.fileUrl()); QList<ServerNodeInstance> instanceList = setupInstances(command); sgView()->resize(rootNodeInstance().boundingRect().size().toSize()); return instanceList; }
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); }
Qt5NodeInstanceServer::~Qt5NodeInstanceServer() { delete sgView(); delete m_designerSupport; m_designerSupport = 0; }