Progress
Programming
Handbook


Field-group Widgets

When you display field-level widgets in a frame or assign a child frame to a parent frame, Progress creates one or more field-group widgets to hold the field-level widgets and child frames. (For information on assigning a child frame to a parent frame, see the "Frame Families" section.)

Progress uses field groups to collect field-level widgets and child frames. You might find it helpful to think of a field group as a kind of geometrical representation of a record (or an iteration). For example, this code fragment displays five records, each contained in a field group.

FOR EACH customer WITH 5 DOWN.
  DISPLAY cust-num name.
END. 

The output of this fragment is shown below.

All field-level widgets, such as buttons, are placed in field groups. A field group is a collector of field-level widgets and child frames. However, Progress also allocates empty field groups. For example, Progress allocates a field group to the background of a frame, whether or not the field group contains any widgets.

Field groups are the children of frames and the real parents of field-level widgets and child frames. This makes frames the grandparents of field-level widgets and child frames. Thus, if you want an application to perform an operation on field-level widgets in a frame without knowing beforehand what widgets are in the frame, the application must access them by going through their respective field groups. For more information on accessing field groups, see the "Accessing Field Groups" section.

Field groups widget are unique in that Progress, not the application, is completely responsible for their creation and deletion. An application can access the field groups, but cannot create or delete them.

In most cases, it is not necessary to access field groups from within an application. Like child frames, you can move individual field-level widgets in and out of frames by setting their FRAME attribute.

Finally, field groups organize the tab order of the field-level widgets and child frames that they contain. For more information, see Interface Design."


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095