Provides builder classes to create a form dialog.

AbstractFormBuilder is designed to create a form component by adding and configuring widgets to the form with one line of code for each widget. This is achieved with the help of LayoutParameter and its subclasses. These provide setter methods for parameters that configure the widget and how it is integrated into the form. These setter methods return the LayoutParameter object. This allows to set several parameters in just one statement. For example :

addTextArea("description").rows(7).columns(80).growVertical(true)

The FormBuilder works together with a FormModel that keeps the data and the state for the bean that the form is made for. All the binding is made with a WidgetBinderManager and works entirely on String-based property names. Applications can overwrite the AbstractFormBuilder's createWidgetFactory() method to provide a WidgetFactory that creates custom widgets instead of the standard ULC widget set.

The BeanFormDialog class integrates a form, created by the FormBuilder, in to a panel that also provides a Save and a Reset button.