Widgets

Description

A group or a container can contain various widgets available in order to build your user interface:

Common properties

All the widgets in EEF share the following set of properties:

Styles and conditional styles

Just like the groups, most of the widgets have support for styling with dedicated style and conditional styles. The style of most widgets extends the EEFWidgetStyle. This style contains a set of properties for all the widget styles including:

Custom Widgets

You also have the ability to use the custom widget definition in order to provide a «low cost» integration for a custom widget. This custom widget description contains the common properties of all the widgets but it also contains the following properties:

Imagine that you want to create a color picker, in order to let your specifier use the color picker you will need two pieces of information from him: «what is the value of the color picker?» and «what happens when a new value is selected?». In order to achieve this, you just need create programmatically the definition of your custom widget and tell the specifier who will need to use it to create a custom widget with the kind of identifier that you are expecting and then to specify the proper customExpressions. In this example, to set the value of the color picker widget, your code may be expecting a custom expression with the identifier «valueExpression» and an expression like aql:self.colorValue. In order to update the value of the color, your code may be expecting a custom expression with the identifier «editExpression» and an expression like aql:self.updateColor(newValue).

With the concept of custom widget in the language, you only have to create the code which will handle the widget, you don’t have to contribute to the EEF language to add your new widget. To contribute the code used to create and handle your custom widget, have a look at the EEF Lifecycle Manager extension point documentation.

Replace Default Widgets

EEF provides some APIs in order to let developers modify or replace the behavior of existing widget. Have a look at the EEF Lifecycle Manager extension point documentation for additional details.