void PropertyEditorView::setupQmlBackend() { TypeName specificsClassName; QUrl qmlFile(PropertyEditorQmlBackend::getQmlUrlForModelNode(m_selectedNode, specificsClassName)); QUrl qmlSpecificsFile; TypeName diffClassName; if (m_selectedNode.isValid()) { diffClassName = m_selectedNode.metaInfo().typeName(); foreach (const NodeMetaInfo &metaInfo, m_selectedNode.metaInfo().classHierarchy()) { if (PropertyEditorQmlBackend::checkIfUrlExists(qmlSpecificsFile)) break; qmlSpecificsFile = PropertyEditorQmlBackend::getQmlFileUrl(metaInfo.typeName() + "Specifics", metaInfo); diffClassName = metaInfo.typeName(); } }
void PropertyEditorView::setupQmlBackend() { TypeName specificsClassName; QUrl qmlFile(PropertyEditorQmlBackend::getQmlUrlForModelNode(m_selectedNode, specificsClassName)); QUrl qmlSpecificsFile; TypeName diffClassName; if (m_selectedNode.isValid()) { diffClassName = m_selectedNode.metaInfo().typeName(); QList<NodeMetaInfo> hierarchy; hierarchy << m_selectedNode.metaInfo(); hierarchy << m_selectedNode.metaInfo().superClasses(); foreach (const NodeMetaInfo &metaInfo, hierarchy) { if (PropertyEditorQmlBackend::checkIfUrlExists(qmlSpecificsFile)) break; qmlSpecificsFile = PropertyEditorQmlBackend::getQmlFileUrl(metaInfo.typeName() + QStringLiteral("Specifics"), metaInfo); diffClassName = metaInfo.typeName(); } }