Progress
Programming
Handbook
Widget Types
The basic container widget of a user interface is the window. In a character environment, the screen itself is the only window. In a graphical environment, the screen can contain many windows.
In Progress, a window can contain one or more frames. A frame can contain one or more field-level widgets and child frames organized into field groups. Field-level widgets are atomic widgets that can represent variables, database fields and records, or visual objects such as buttons, images and rectangles. Figure 16–1 shows a simple user-interface display. The display contains two windows labeled Window 1 and Window 2. Window 1 contains two frames labeled Frame A and Frame B. Each of these frames contains two field-level widgets. Window 2 contains one frame, which contains a text widget and a slider widget.
Figure 16–1: User-interface Display
![]()
Figure 16–2: A Widget Hierarchy
![]()
As shown in Figure 16–2, a window can contain frames, dialog boxes, a menu bar, and an alert box. A frame or dialog box contains field groups. A field group can contain one or more field-level widgets and child frames, creating frame families. Alert boxes are special widgets for displaying messages only. A window can also parent (own) another window, creating a window family. For more information on windows and window families, see "Windows," For information on frames, frame families, field groups, and dialog boxes, see Frames." For more information on windows, frames, and dialog boxes, see Interface Design."
Some field-level widgets are data-representation widgets. Data-representation widgets, such as fill-ins, sliders, and selection lists, can represent database fields or variables. The browse widget can represent multiple records in a database. Other field-level widgets, such as buttons, images, and rectangles represent visual objects and perform special functions. For more information on field-level widgets, see "Using the Browse Widget," "Representing Data" (for other data-representation widgets), and Buttons, Images, and Rectangles."
It is important to distinguish between a data-representation widget and its underlying data storage. For example, a fill-in widget and the variable it represents each exist independently of the other. In fact, you can have a data-representation widget that represents different data storage at different times or does not represent any storage at all.
A menu widget is a special type of container widget that contains only submenu and menu item widgets. Progress supports two types of menus. As shown in Figure 16–2, a window can contain a menu bar, which can contain pull-down submenus. The second type of menu (not shown in Figure 16–2) is a pop-up menu. A pop-up menu can be associated with a data-representation widget, a button, a frame, a dialog box, or a window. For more information on menus, see Menus."
Progress lets you specify triggers for all user-interface widgets. For more information, see the "User-interface Triggers" section.
Progress also supports a special type of field-level widget, the control–frame, that provides both a design-time and run-time interface to ActiveX controls. ActiveX controls offer a rich set of user interface extensions to Progress. Many of the most popular ActiveX controls are also available through the Crescent Division of Progress Software Corporation. For more information on control–frames and ActiveX controls, see the Progress External Program Interfaces manual.
The next section describes the basic types of widgets and how you can create them.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |