The select 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 sizable list of potential values or an EEnum. The properties available on this widget are very similar to the ones available on a radio 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.
In order to display in the user interface a select widget with the value of a mono-valued EReference, you can create a select widget with the following properties:
aql:'Supertype'
aql:self.supertype
aql:self.eSet('supertype', newValue)
aql:aql:self.eResource().getContents().eAllContents(packagename::Class)
aql:candidate.name
In this scenario, we will display a property with the eType «Class» 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.