VariantProperty ModelNode::variantProperty(const QString &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); return VariantProperty(name, m_internalNode, model(), view()); }
VariantProperty AbstractProperty::toVariantProperty() const { if (!isValid()) throw InvalidPropertyException(__LINE__, __FUNCTION__, __FILE__, m_propertyName); VariantProperty propertyVariant(name(), internalNode(), model(), view()); if (propertyVariant.isVariantProperty()) return propertyVariant; return VariantProperty(); }
VariantProperty DynamicPropertiesModel::variantPropertyForRow(int rowNumber) const { const int internalId = data(index(rowNumber, TargetModelNodeRow), Qt::UserRole + 1).toInt(); const QString targetPropertyName = data(index(rowNumber, TargetModelNodeRow), Qt::UserRole + 2).toString(); ModelNode modelNode = connectionView()->modelNodeForInternalId(internalId); if (modelNode.isValid()) return modelNode.variantProperty(targetPropertyName.toLatin1()); return VariantProperty(); }