Skip to content

Commit 320ee50

Browse files
authored
Update record as binding using = (#15554)
Fixes #15548
1 parent b58625d commit 320ee50

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

OMEdit/OMEditLIB/Element/ElementProperties.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -988,7 +988,16 @@ void Parameter::editClassButtonClicked()
988988
if (modification.isEmpty()) {
989989
setValueWidget("", false, mUnit, true);
990990
} else {
991-
setValueWidget(modification, false, mUnit, true);
991+
/*! Issue #15548
992+
* If record then prepend the type. It will become a binding equation.
993+
*/
994+
if (mpModelInstanceElement->getModel() && mpModelInstanceElement->getModel()->isRecord()) {
995+
const QString name = StringHandler::makeClassNameRelative(mpModelInstanceElement->getType(),
996+
mpElementParameters->getGraphicsView()->getModelWidget()->getLibraryTreeItem()->getNameStructure());
997+
setValueWidget(name % modification, false, mUnit, true);
998+
} else {
999+
setValueWidget(modification, false, mUnit, true);
1000+
}
9921001
}
9931002
}
9941003
}
@@ -2221,20 +2230,13 @@ void ElementParameters::updateElementParameters()
22212230
QList<Modifier> modifiersList;
22222231
foreach (ElementModifier elementModifier, elementModifiersList) {
22232232
QString modifierValue = elementModifier.mValue.trimmed();
2224-
const int index = modifierValue.indexOf('(');
22252233

22262234
if (modifierValue.isEmpty()) {
22272235
modifierValue = elementModifier.mKey;
22282236
} else if (modifierValue.startsWith(QLatin1String("redeclare"))) {
22292237
// keep as-is
2230-
} else if (index > -1) {
2231-
const QString modifierStartStr = modifierValue.left(index).trimmed();
2232-
if (modifierStartStr == elementModifier.mKey) {
2233-
// keep as-is: value already leads with the key name (e.g. "Foo(...)")
2234-
} else {
2235-
// prepend key
2236-
modifierValue = elementModifier.mKey % modifierValue;
2237-
}
2238+
} else if (modifierValue.startsWith("(")) {
2239+
modifierValue = elementModifier.mKey % modifierValue;
22382240
} else {
22392241
modifierValue = elementModifier.mKey % QLatin1String(" = ") % modifierValue;
22402242
}

0 commit comments

Comments
 (0)