QuickWindowNodeInstance::Pointer QuickWindowNodeInstance::create(QObject *object) { QQuickWindow *quickWindow = qobject_cast<QQuickWindow*>(object); Q_ASSERT(quickWindow); Pointer instance(new QuickWindowNodeInstance(quickWindow)); instance->setHasContent(anyItemHasContent(quickWindow->contentItem())); quickWindow->contentItem()->setFlag(QQuickItem::ItemHasContents, true); static_cast<QQmlParserStatus*>(quickWindow->contentItem())->classBegin(); instance->populateResetHashes(); QQuickItemPrivate *privateItem = static_cast<QQuickItemPrivate*>(QObjectPrivate::get(quickWindow->contentItem())); if (privateItem->window) { if (!privateItem->parentItem) QQuickWindowPrivate::get(privateItem->window)->parentlessItems.remove(quickWindow->contentItem()); privateItem->derefWindow(); privateItem->window = 0; } return instance; }
LayoutNodeInstance::Pointer LayoutNodeInstance::create(QObject *object) { QQuickItem *item = qobject_cast<QQuickItem*>(object); Q_ASSERT(item); Pointer instance(new LayoutNodeInstance(item)); instance->setHasContent(anyItemHasContent(item)); item->setFlag(QQuickItem::ItemHasContents, true); static_cast<QQmlParserStatus*>(item)->classBegin(); instance->populateResetHashes(); return instance; }