void Qt4NodeInstanceServer::resetAllItems() { static_cast<QGraphicsScenePrivate*>(QObjectPrivate::get(declarativeView()->scene()))->processDirtyItemsEmitted = true; foreach (QGraphicsItem *item, declarativeView()->items()) { static_cast<QGraphicsScenePrivate*>(QObjectPrivate::get(declarativeView()->scene()))->resetDirtyItem(item); }
void Qt4InformationNodeInstanceServer::collectItemChangesAndSendChangeCommands() { static bool inFunction = false; if (!inFunction) { inFunction = true; QSet<ServerNodeInstance> informationChangedInstanceSet; QVector<InstancePropertyPair> propertyChangedList; bool adjustSceneRect = false; if (declarativeView()) { foreach (QGraphicsItem *item, declarativeView()->items()) { QGraphicsObject *graphicsObject = item->toGraphicsObject(); if (graphicsObject && hasInstanceForObject(graphicsObject)) { ServerNodeInstance instance = instanceForObject(graphicsObject); QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(item); if (d->dirtySceneTransform || d->geometryChanged || d->dirty) informationChangedInstanceSet.insert(instance); if (d->geometryChanged) { if (instance.isRootNodeInstance()) declarativeView()->scene()->setSceneRect(item->boundingRect()); } } } foreach (QGraphicsItem *item, declarativeView()->items()) { QGraphicsItemPrivate *d = QGraphicsItemPrivate::get(item); d->ensureSceneTransform(); }
QDeclarativeEngine *Qt4NodeInstanceServer::engine() const { if (declarativeView()) return declarativeView()->engine(); return 0; }
void Qt4NodeInstanceServer::resizeCanvasSizeToRootItemSize() { QGraphicsObject *rootGraphicsObject = qobject_cast<QGraphicsObject*>(rootNodeInstance().internalObject()); if (rootGraphicsObject) { declarativeView()->scene()->addItem(rootGraphicsObject); declarativeView()->setSceneRect(rootGraphicsObject->boundingRect()); } }
bool QDeclarativeViewInspector::mouseMoveEvent(QMouseEvent *event) { QList<QGraphicsItem*> selItems = data->selectableItems(event->pos()); if (!selItems.isEmpty()) { declarativeView()->setToolTip(currentTool()->titleForItem(selItems.first())); } else { declarativeView()->setToolTip(QString()); } return AbstractViewInspector::mouseMoveEvent(event); }
void Qt4NodeInstanceServer::initializeView(const QVector<AddImportContainer> &/*importVector*/) { Q_ASSERT(!declarativeView()); m_declarativeView = new QDeclarativeView; #ifndef Q_OS_MAC declarativeView()->setAttribute(Qt::WA_DontShowOnScreen, true); #endif declarativeView()->setViewportUpdateMode(QGraphicsView::NoViewportUpdate); declarativeView()->show(); #ifdef Q_OS_MAC declarativeView()->setAttribute(Qt::WA_DontShowOnScreen, true); #endif }
bool QDeclarativeViewInspector::mouseMoveEvent(QMouseEvent *event) { if (!data->designModeBehavior) { data->clearEditorItems(); return false; } data->cursorPos = event->pos(); QList<QGraphicsItem*> selItems = data->selectableItems(event->pos()); if (!selItems.isEmpty()) { declarativeView()->setToolTip(AbstractLiveEditTool::titleForItem(selItems.first())); } else { declarativeView()->setToolTip(QString()); } if (event->buttons()) { data->currentTool->mouseMoveEvent(event); } else { data->currentTool->hoverMoveEvent(event); } return true; }
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); }
Qt4NodeInstanceServer::~Qt4NodeInstanceServer() { delete declarativeView(); }
void QDeclarativeViewInspector::setWindowFlags(Qt::WindowFlags flags) { declarativeView()->window()->setWindowFlags(flags); declarativeView()->window()->show(); }
Qt::WindowFlags QDeclarativeViewInspector::windowFlags() const { return declarativeView()->window()->windowFlags(); }