void PropertyEditorQmlBackend::createPropertyEditorValue(const QmlObjectNode &qmlObjectNode, const PropertyName &name, const QVariant &value, PropertyEditorView *propertyEditor) { PropertyName propertyName(name); propertyName.replace('.', '_'); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(variantToQObject(backendValuesPropertyMap().value(propertyName))); if (!valueObject) { valueObject = new PropertyEditorValue(&backendValuesPropertyMap()); QObject::connect(valueObject, SIGNAL(valueChanged(QString,QVariant)), &backendValuesPropertyMap(), SIGNAL(valueChanged(QString,QVariant))); QObject::connect(valueObject, SIGNAL(expressionChanged(QString)), propertyEditor, SLOT(changeExpression(QString))); backendValuesPropertyMap().insert(QString::fromUtf8(propertyName), QVariant::fromValue(valueObject)); } valueObject->setName(name); valueObject->setModelNode(qmlObjectNode); if (qmlObjectNode.propertyAffectedByCurrentState(name) && !(qmlObjectNode.modelNode().property(name).isBindingProperty())) valueObject->setValue(qmlObjectNode.modelValue(name)); else valueObject->setValue(value); if (propertyName != "id" && qmlObjectNode.currentState().isBaseState() && qmlObjectNode.modelNode().property(propertyName).isBindingProperty()) { valueObject->setExpression(qmlObjectNode.modelNode().bindingProperty(propertyName).expression()); } else { valueObject->setExpression(qmlObjectNode.instanceValue(name).toString()); } }
void PropertyEditorQmlBackend::setupPropertyEditorValue(const PropertyName &name, PropertyEditorView *propertyEditor, const QString &type) { QmlDesigner::PropertyName propertyName(name); propertyName.replace('.', '_'); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(variantToQObject(backendValuesPropertyMap().value(propertyName))); if (!valueObject) { valueObject = new PropertyEditorValue(&backendValuesPropertyMap()); QObject::connect(valueObject, SIGNAL(valueChanged(QString,QVariant)), &backendValuesPropertyMap(), SIGNAL(valueChanged(QString,QVariant))); QObject::connect(valueObject, SIGNAL(expressionChanged(QString)), propertyEditor, SLOT(changeExpression(QString))); backendValuesPropertyMap().insert(QString::fromUtf8(propertyName), QVariant::fromValue(valueObject)); } valueObject->setName(propertyName); if (type == "QColor") valueObject->setValue(QVariant("#000000")); else valueObject->setValue(QVariant(1)); }
void createPropertyEditorValue(const QmlObjectNode &fxObjectNode, const QString &name, const QVariant &value, QDeclarativePropertyMap *propertyMap, PropertyEditor *propertyEditor) { QString propertyName(name); propertyName.replace(QLatin1Char('.'), QLatin1Char('_')); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(variantToQObject(propertyMap->value(propertyName))); if (!valueObject) { valueObject = new PropertyEditorValue(propertyMap); QObject::connect(valueObject, SIGNAL(valueChanged(QString,QVariant)), propertyMap, SIGNAL(valueChanged(QString,QVariant))); QObject::connect(valueObject, SIGNAL(expressionChanged(QString)), propertyEditor, SLOT(changeExpression(QString))); propertyMap->insert(propertyName, QVariant::fromValue(valueObject)); } valueObject->setName(name); valueObject->setModelNode(fxObjectNode); if (fxObjectNode.propertyAffectedByCurrentState(name) && !(fxObjectNode.modelNode().property(name).isBindingProperty())) { valueObject->setValue(fxObjectNode.modelValue(name)); } else { valueObject->setValue(value); } if (propertyName != QLatin1String("id") && fxObjectNode.currentState().isBaseState() && fxObjectNode.modelNode().property(propertyName).isBindingProperty()) { valueObject->setExpression(fxObjectNode.modelNode().bindingProperty(propertyName).expression()); } else { valueObject->setExpression(fxObjectNode.instanceValue(name).toString()); } }
void setupPropertyEditorValue(const PropertyName &name, QDeclarativePropertyMap *propertyMap, PropertyEditor *propertyEditor, const QString &type) { QmlDesigner::PropertyName propertyName(name); propertyName.replace('.', '_'); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(variantToQObject(propertyMap->value(propertyName))); if (!valueObject) { valueObject = new PropertyEditorValue(propertyMap); QObject::connect(valueObject, SIGNAL(valueChanged(QString,QVariant)), propertyMap, SIGNAL(valueChanged(QString,QVariant))); QObject::connect(valueObject, SIGNAL(expressionChanged(QString)), propertyEditor, SLOT(changeExpression(QString))); propertyMap->insert(QString::fromUtf8(propertyName), QVariant::fromValue(valueObject)); } valueObject->setName(propertyName); if (type == "QColor") valueObject->setValue(QVariant("#000000")); else valueObject->setValue(QVariant(1)); }
void setupPropertyEditorValue(const QString &name, QDeclarativePropertyMap *propertyMap, PropertyEditor *propertyEditor, const QString &type) { QString propertyName(name); propertyName.replace(QLatin1Char('.'), QLatin1Char('_')); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(propertyMap->value(propertyName))); if (!valueObject) { valueObject = new PropertyEditorValue(propertyMap); QObject::connect(valueObject, SIGNAL(valueChanged(QString, const QVariant&)), propertyMap, SIGNAL(valueChanged(QString, const QVariant&))); QObject::connect(valueObject, SIGNAL(expressionChanged(QString)), propertyEditor, SLOT(changeExpression(QString))); propertyMap->insert(propertyName, QVariant::fromValue(valueObject)); } valueObject->setName(propertyName); if (type == "QColor") valueObject->setValue(QVariant("#000000")); else valueObject->setValue(QVariant(1)); }