void NodeInstanceView::removeInstanceAndSubInstances(const ModelNode &node) { foreach (const ModelNode &subNode, node.allSubModelNodes()) { if (hasInstanceForModelNode(subNode)) removeInstanceNodeRelationship(subNode); } if (hasInstanceForModelNode(node)) removeInstanceNodeRelationship(node); }
void NodeInstanceView::propertiesAboutToBeRemoved(const QList<AbstractProperty>& propertyList) { foreach (const AbstractProperty &property, propertyList) { resetInstanceProperty(property); if (property.isNodeAbstractProperty()) { foreach (const ModelNode &subNode, property.toNodeAbstractProperty().allSubNodes()) removeInstanceNodeRelationship(subNode); }
void NodeInstanceView::propertiesAboutToBeRemoved(const QList<AbstractProperty>& propertyList) { QList<ModelNode> nodeList; QList<AbstractProperty> nonNodePropertyList; foreach (const AbstractProperty &property, propertyList) { if (property.isNodeAbstractProperty()) nodeList.append(property.toNodeAbstractProperty().allSubNodes()); else nonNodePropertyList.append(property); } RemoveInstancesCommand removeInstancesCommand = createRemoveInstancesCommand(nodeList); if (!removeInstancesCommand.instanceIds().isEmpty()) nodeInstanceServer()->removeInstances(removeInstancesCommand); nodeInstanceServer()->removeSharedMemory(createRemoveSharedMemoryCommand("Image", nodeList)); nodeInstanceServer()->removeProperties(createRemovePropertiesCommand(nonNodePropertyList)); foreach (const AbstractProperty &property, propertyList) { const PropertyName &name = property.name(); if (name == "anchors.fill") { resetHorizontalAnchors(property.parentModelNode()); resetVerticalAnchors(property.parentModelNode()); } else if (name == "anchors.centerIn") { resetHorizontalAnchors(property.parentModelNode()); resetVerticalAnchors(property.parentModelNode()); } else if (name == "anchors.top") { resetVerticalAnchors(property.parentModelNode()); } else if (name == "anchors.left") { resetHorizontalAnchors(property.parentModelNode()); } else if (name == "anchors.right") { resetHorizontalAnchors(property.parentModelNode()); } else if (name == "anchors.bottom") { resetVerticalAnchors(property.parentModelNode()); } else if (name == "anchors.horizontalCenter") { resetHorizontalAnchors(property.parentModelNode()); } else if (name == "anchors.verticalCenter") { resetVerticalAnchors(property.parentModelNode()); } else if (name == "anchors.baseline") { resetVerticalAnchors(property.parentModelNode()); } } foreach (const ModelNode &node, nodeList) removeInstanceNodeRelationship(node); }