forked from qt-creator/qt-creator
QmlDesigner: Add ModelNodeToArray() to BindingProperty
Change-Id: I98761ee607882f24bff89c3745af2f6f35587c1d Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -49,6 +49,7 @@ public:
|
|||||||
AbstractProperty resolveToProperty() const;
|
AbstractProperty resolveToProperty() const;
|
||||||
bool isList() const;
|
bool isList() const;
|
||||||
QList<ModelNode> resolveToModelNodeList() const;
|
QList<ModelNode> resolveToModelNodeList() const;
|
||||||
|
void addModelNodeToArray(const ModelNode &modelNode);
|
||||||
|
|
||||||
bool isAliasExport() const;
|
bool isAliasExport() const;
|
||||||
|
|
||||||
|
@@ -199,6 +199,38 @@ QList<ModelNode> BindingProperty::resolveToModelNodeList() const
|
|||||||
return returnList;
|
return returnList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BindingProperty::addModelNodeToArray(const ModelNode &modelNode)
|
||||||
|
{
|
||||||
|
if (!isValid())
|
||||||
|
throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__);
|
||||||
|
|
||||||
|
if (isBindingProperty()) {
|
||||||
|
QStringList simplifiedList;
|
||||||
|
if (isList()) {
|
||||||
|
QString string = expression();
|
||||||
|
string.chop(1);
|
||||||
|
string.remove(0, 1);
|
||||||
|
QStringList simplifiedList = commaSeparatedSimplifiedStringList(string);
|
||||||
|
ModelNode node = modelNode;
|
||||||
|
simplifiedList.append(node.validId());
|
||||||
|
setExpression('[' + simplifiedList.join(',') + ']');
|
||||||
|
} else {
|
||||||
|
ModelNode currentNode = resolveToModelNode();
|
||||||
|
if (currentNode.isValid())
|
||||||
|
simplifiedList.append(currentNode.validId());
|
||||||
|
}
|
||||||
|
ModelNode node = modelNode;
|
||||||
|
simplifiedList.append(node.validId());
|
||||||
|
setExpression('[' + simplifiedList.join(',') + ']');
|
||||||
|
} else if (exists()) {
|
||||||
|
throw InvalidArgumentException(__LINE__, __FUNCTION__, __FILE__, name());
|
||||||
|
} else {
|
||||||
|
ModelNode node = modelNode;
|
||||||
|
setExpression('[' + node.validId() + ']');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
bool BindingProperty::isAliasExport() const
|
bool BindingProperty::isAliasExport() const
|
||||||
{
|
{
|
||||||
if (!isValid())
|
if (!isValid())
|
||||||
|
Reference in New Issue
Block a user