The radio widget can be used to display and edit a mono-valued property which can take one of several existing values. It can thus be used to edit a mono-valued EReference with a couple of potential values or an EEnum. The properties available on this widget are very similar to the ones available on a select widget. On top of the common properties of all widgets (identifier, labelExpression, helpExpression, isEnabledExpression, propertyValidationRules), it has the following properties:
newValue
. The variable
newValue
will contain a candidate selected from the result of the
candidatesExpression
. This expression does not have to return anything.
candidate
. This expression must return a string.
aql:4
to have your radio buttons created on four columns.
In order to display in the user interface some radio buttons with the value of an EAttribute with an eType EEnum (i.e. the visibility of an EObject), you can create a radio widget with the following properties:
aql:'Visibility:'
aql:packagename::Visibility.getEEnumLiteralByLiteral(self.visibility.toString())
aql:self.eSet('visibility', newValue.instance)
aql:packagename::Visibility.eLiterals
aql:candidate.name
In this scenario, we will display a property with the eType «Visibility» coming from a package with the name «packagename». EEF does not provide a default interpreter but you can easily configure EEF to be used with the AQL interpreter. In the integration of EEF with the AQL interpreter, you can register additional services, written in Java, in which you can expose to AQL new operations. The operation
eSet(java.lang.String, java.lang.Object)
used in the example does not exist in AQL. You would have to create it yourself.