void ObjectNodeInstance::reparent(const NodeInstance &oldParentInstance, const QString &oldParentProperty, const NodeInstance &newParentInstance, const QString &newParentProperty) { if (oldParentInstance.isValid()) { if (oldParentInstance.isQmlGraphicsItem() && isChildrenProperty(oldParentProperty)) specialRemoveParentForQmlGraphicsItemChildren(object()); else removeFromOldProperty(object(), oldParentInstance.internalObject(), oldParentProperty); } if (newParentInstance.isValid()) { if (newParentInstance.isQmlGraphicsItem() && isChildrenProperty(newParentProperty)) specialSetParentForQmlGraphicsItemChildren(object(), qobject_cast<QDeclarativeItem*>(newParentInstance.internalObject())); else addToNewProperty(object(), newParentInstance.internalObject(), newParentProperty); } refreshBindings(context()->engine()->rootContext()); }