Form extension
The form extension technique allows the developer to extend the structure and design of a form created in another module.
Form extension allows you to extract a specific functionality into a separate module, which when loaded will cause new components to be "embedded" into existing forms. The disadvantage of this approach is that this module must know the precise structure and design of the form which it depends on, and when these are modified the module may become inoperative.
Language
In order to extend the structure and design of an existing form, the EXTEND FORM
statement must be used.
Example
CLASS ItemGroup;
name = DATA ISTRING[100] (ItemGroup);
itemGroup = DATA ItemGroup (Item);
EXTEND FORM items
PROPERTIES(i) NEWSESSION DELETE // adding a delete button to the form
OBJECTS g = ItemGroup BEFORE i // adding a product group object to the form before the product
PROPERTIES(g) READONLY name
// if the object was added after the object with products, then filtering
// would go by the group of products, and not by products
FILTERS itemGroup(i) == g
;