Language Reference Guide : 4. System Classes : CompositeField Class
 
Share this page                  
CompositeField Class
Note:  The CompositeField class is used for classification only.
This class includes fields that contain other fields. There are two major types of CompositeFields:
The first type includes the fields that contain an arbitrary set of other fields and maintain some kind of geometry management for their components.
Included in this type are:
SubForms
Contain the fields in a bounding box, preventing the user from moving them beyond the boundaries
FlexibleForms
Contain the fields in a flexible boundary, which let the user move the fields beyond the old boundaries
StackFields
Let the user move the fields. However, when the user moves a component, the remaining components are automatically realigned to maintain the stack.
MatrixFields
Arrange the fields in tabular format and contain them in a rectangle. When the user rearranges or reorders the fields in the matrix, the components stay aligned.
ViewportFields
Let the user add a field to a form that would not otherwise fit in a specified area. The user can scroll the viewport horizontally and vertically to view the underlying field.
Naming these composite fields is optional. If they are unnamed, all their child fields are considered part of the form, and the composite field acts only as a convenience for editing. However, if they are named, the variable associated with the composite field acts as a reference variable, and you can access the child fields only with the dot notation for object attributes.
The other major type of CompositeField is the TableField.
Table fields are constructed of some set of column fields and optional column titles, table titles, scroll bars, and options menus. At least one column field must be in every table field. A table field is the only field that you can (and must) map to an array variable in the program. You must name all table fields.
If the data type of the variable associated with a named composite field is set to an existing system or user class definition, a mapping is created between the class attributes and composite field's children. Each child field and class attribute that are mapped together must have the same name. In the case of a table field, you must map column names to the attribute names in the class. If the composite field is not mapped to an existing class definition, OpenROAD constructs an unnamed class with attributes based on the composite field's children. If the composite field is a table field, the unnamed class is based on the table's column names. You can use this class only within the frame that is defining the composite field.
For a detailed discussion of creating a composite field and a table field dynamically, see the Programming Guide.
Inherits From
Object Class
FieldObject Class
FormField Class
ActiveField Class
Inherited By
ColumnField
DisplayForm
FlexibleForm
FrameForm
MainBar
MatrixField
StackField
SubForm
TabBar
TabFolder
TableField
TabPage
ViewportField
Attributes
ChildFields
GroupBoxLabel
IsMoveBounded
IsResizeBounded
Methods
FieldByName
FieldsByProperty
IsAncestorOf
SelectAll