@@ -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