forked from qt-creator/qt-creator
QmlDesigner.propertyEditor: only allocate className/id backendObject once
This commit is contained in:
@@ -124,7 +124,9 @@ void PropertyEditor::NodeType::setup(const QmlObjectNode &fxObjectNode, const QS
|
|||||||
createPropertyEditorValue(fxObjectNode, propertyName, fxObjectNode.instanceValue(propertyName), &m_backendValuesPropertyMap, propertyEditor);
|
createPropertyEditorValue(fxObjectNode, propertyName, fxObjectNode.instanceValue(propertyName), &m_backendValuesPropertyMap, propertyEditor);
|
||||||
|
|
||||||
// className
|
// className
|
||||||
PropertyEditorValue *valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
|
PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_backendValuesPropertyMap.value("className")));
|
||||||
|
if (!valueObject)
|
||||||
|
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
|
||||||
valueObject->setName("className");
|
valueObject->setName("className");
|
||||||
valueObject->setModelNode(fxObjectNode.modelNode());
|
valueObject->setModelNode(fxObjectNode.modelNode());
|
||||||
valueObject->setValue(fxObjectNode.modelNode().simplifiedTypeName());
|
valueObject->setValue(fxObjectNode.modelNode().simplifiedTypeName());
|
||||||
@@ -132,7 +134,9 @@ void PropertyEditor::NodeType::setup(const QmlObjectNode &fxObjectNode, const QS
|
|||||||
m_backendValuesPropertyMap.insert("className", QVariant::fromValue(valueObject));
|
m_backendValuesPropertyMap.insert("className", QVariant::fromValue(valueObject));
|
||||||
|
|
||||||
// id
|
// id
|
||||||
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
|
valueObject = qobject_cast<PropertyEditorValue*>(QmlMetaType::toQObject(m_backendValuesPropertyMap.value("id")));
|
||||||
|
if (!valueObject)
|
||||||
|
valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap);
|
||||||
valueObject->setName("id");
|
valueObject->setName("id");
|
||||||
valueObject->setValue(fxObjectNode.id());
|
valueObject->setValue(fxObjectNode.id());
|
||||||
QObject::connect(valueObject, SIGNAL(valueChanged(QString)), &m_backendValuesPropertyMap, SIGNAL(valueChanged(QString)));
|
QObject::connect(valueObject, SIGNAL(valueChanged(QString)), &m_backendValuesPropertyMap, SIGNAL(valueChanged(QString)));
|
||||||
|
|||||||
Reference in New Issue
Block a user