There are 2 different types of widgets which can act as containers for other widgets; composites and compounds.
A composite uses an swt control as container for its children; the impact is, that the layout of children inside this composite is completely independent of the layout of the other controls in the form. If you want to group a label with a text control using a composite, use multiple of these groups in one form and like to align all labels in the form, this will not be possible.
For this reason rcpforms invented compounds; a compound logically groups its children, but does not use any swt composite, children are embedded into the swt control associated with the rcp parent of the compound.
This means that RCPCompound has no associated swt control at all!
Composite
Compound
extensible
A
D
non extensible
B
E
mixed mode
C
F
Description: Grouping of widgets which all share the same layout manager defined by the form developer but do not share layout properties with widgets outside the group.
Examples: sections, groups, nested forms ...
Technical Details:
Example: Sandbox3FormPart.createUI() for an example using nested builder
Description: Create a custom widget which is composed of multiple other widgets and the form developer has no control over the internal layout.
Examples: international phone numer widget composed of several text fields, color chooser composed of a color field and selection buttons ...
Technical Details:
Example: StreetNumberCustomComposite
Description: this is not supported by the framework since there is no standard use case.
Description: Grouping of widgets which all share the layout manager defined by the parent of the compound. Thus can share the same layout properties with widgets outside the group.
Examples: setting the state (eg. enable or visible) of a group of controls at the same time
Description: Create a custom widget which is composed of multiple other widgets and the form developer has control over the internal layout.
Examples: Grouping of a label and its associated control.
Technical Details:
Example: RCPPicker, RCPDatePicker
Description: this is not supported by the framework since there is no standard use case.
When should one use composites or compounds?
If there is a need to have strictly aligned widgets (eg. labels and textfields) over the whole form, the compounds with its shared layout is the one to use.
In all other cases composites are preferred because this is the standard swt concept.