BindingProperty ModelNode::bindingProperty(const QString &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); return BindingProperty(name, m_internalNode, model(), view()); }
BindingProperty AbstractProperty::toBindingProperty() const { if (!isValid()) throw InvalidPropertyException(__LINE__, __FUNCTION__, __FILE__, m_propertyName); BindingProperty propertyBinding(name(), internalNode(), model(), view()); if (propertyBinding.isBindingProperty()) return propertyBinding; return BindingProperty(); }
BindingProperty DynamicPropertiesModel::bindingPropertyForRow(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.bindingProperty(targetPropertyName.toLatin1()); return BindingProperty(); }