void ObjectNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty) { if (oldParentInstance && !oldParentInstance->ignoredProperties().contains(oldParentProperty)) { removeFromOldProperty(object(), oldParentInstance->object(), oldParentProperty); m_parentProperty.clear(); } if (newParentInstance && !newParentInstance->ignoredProperties().contains(newParentProperty)) { m_parentProperty = newParentProperty; addToNewProperty(object(), newParentInstance->object(), newParentProperty); } }
void ObjectNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty) { if (oldParentInstance) { removeFromOldProperty(object(), oldParentInstance->object(), oldParentProperty); m_parentProperty.clear(); } if (newParentInstance) { m_parentProperty = newParentProperty; addToNewProperty(object(), newParentInstance->object(), newParentProperty); } }
void NodeInstanceSignalSpy::setObjectNodeInstance(const ObjectNodeInstance::Pointer &nodeInstance) { methodeOffset = QObject::staticMetaObject.methodCount() + 1; registerObject(nodeInstance->object()); m_objectNodeInstance = nodeInstance; }
void ObjectNodeInstance::initializePropertyWatcher(const ObjectNodeInstance::Pointer &objectNodeInstance) { if (!objectNodeInstance->modelNode().metaInfo().isComponent()) { // TODO: this is a nasty workaround which needs to be removed const QMetaObject *metaObject = objectNodeInstance->object()->metaObject(); m_metaObject = new NodeInstanceMetaObject(objectNodeInstance, nodeInstanceView()->engine()); for(int propertyIndex = QObject::staticMetaObject.propertyCount(); propertyIndex < metaObject->propertyCount(); propertyIndex++) { if (QDeclarativeMetaType::isQObject(metaObject->property(propertyIndex).userType())) { QObject *propertyObject = QDeclarativeMetaType::toQObject(metaObject->property(propertyIndex).read(objectNodeInstance->object())); if (propertyObject && hasPropertiesWitoutNotifications(propertyObject->metaObject())) { new NodeInstanceMetaObject(objectNodeInstance, propertyObject, metaObject->property(propertyIndex).name(), nodeInstanceView()->engine()); } } } } else { qWarning() << "dynamic properties are not supported for components"; } m_signalSpy.setObjectNodeInstance(objectNodeInstance); }
void ObjectNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNodeInstance) { initializePropertyWatcher(objectNodeInstance); QmlPrivateGate::registerNodeInstanceMetaObject(objectNodeInstance->object(), objectNodeInstance->nodeInstanceServer()->engine()); }
bool QmlStateNodeInstance::resetStateProperty(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant & /* resetValue */) { return stateObject()->removeEntryFromRevertList(target->object(), QString::fromUtf8(propertyName)); }
bool QmlStateNodeInstance::updateStateBinding(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QString &expression) { return stateObject()->changeValueInRevertList(target->object(), QString::fromUtf8(propertyName), expression); }
bool QmlStateNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &value) { return stateObject()->changeValueInRevertList(target->object(), QString::fromUtf8(propertyName), value); }
bool QmlStateNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &value) { return stateObject()->changeValueInRevertList(target->object(), propertyName.toLatin1(), value); }
bool QmlStateNodeInstance::updateStateBinding(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QString &expression) { return QmlPrivateGate::States::updateStateBinding(object(), target->object(), propertyName, expression); }
bool QmlStateNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &value) { return QmlPrivateGate::States::changeValueInRevertList(object(), target->object(), propertyName, value); }
bool QmlStateNodeInstance::resetStateProperty(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant & resetValue) { return QmlPrivateGate::States::resetStateProperty(object(), target->object(), propertyName, resetValue); }