Define graphical layout of choices in a parameter menu
A declaration can have an annotation choices
containing modifiers on choice, where each of them indicates a suitable redeclaration or modifications of the element.
This is a hint for users of the model, and can also be used by the user interface to suggest reasonable redeclaration, where the string comments on the choice declaration can be used as textual explanations of the choices. The annotation is not restricted to replaceable elements but can also be applied to non-replaceable elements, enumeration types, and simple variables.
For a Boolean variable, a choices
annotation may contain the definition checkBox = true
, meaning to display a checkbox to input the values false
or true
in the graphical user interface.
replaceable model MyResistor=Resistor annotation(choices( choice(redeclare MyResistor=lib2.Resistor(a={2}) "..."), choice(redeclare MyResistor=lib2.Resistor2 "..."))); replaceable Resistor Load(R=2) constrainedby TwoPin annotation(choices( choice(redeclare lib2.Resistor Load(a={2}) "..."), choice(redeclare Capacitor Load(L=3) "..."))); replaceable FrictionFunction a(func=exp) constrainedby Friction annotation(choices( choice(redeclare ConstantFriction a(c=1) "..."), choice(redeclare TableFriction a(table="...") "..."), choice(redeclare FunctionFriction a(func=exp) "...")))); type KindOfController=Integer(min=1,max=3) annotation(choices( choice=1 "P", choice=2 "PI", choice=3 "PID")); model A KindOfController x; end A; A a(x=3 "PID");
It can also be applied to Boolean variables to define a check box:
parameter Boolean useHeatPort=false annotation(choices(checkBox=true));