Progress
Programming
Handbook


Static Versus Dynamic Widget Management

Table 20–1 compares the major 4GL actions involving static and dynamic widgets and summarizes their differences.

Table 20–1: Static Versus Dynamic Widget Management
4GL
Widget Action
Accomplished for
Static Widgets by . . .
Accomplished for
Dynamic Widgets by . . .
Create
DEFINE widget statement, VIEW–AS phrase, FORM statement (for frames), and default scoping (for frames).
CREATE widget statement
Delete
N/A
DELETE WIDGET or DELETE WIDGET–POOL statement1
Reference
Definition name at compile time and run time; widget handle at run time
Widget handle at run time
View on Display
Frame I/O statements, including ENABLE, DISPLAY, INSERT, UPDATE, SET, or PROMPT–FOR; VIEW statement
VIEW statement or setting the VISIBLE attribute of each widget to TRUE2,3
Hide from Display
HIDE statement
HIDE statement or setting the VISIBLE attribute of each widget to FALSE2
Make Sensitive to
Input
ENABLE, INSERT, UPDATE, SET, or PROMPT–FOR statement
Setting the SENSITIVE attribute of each widget to TRUE2
Make Insensitive to Input
DISABLE statement
Setting the SENSITIVE attribute of each widget to FALSE2
Block for Input
WAIT–FOR, INSERT, UPDATE, SET or PROMPT–FOR statement
WAIT–FOR statement
Move Data from Screen to Record Buffer
ASSIGN, SET, INSERT, or UPDATE statement applied to corresponding field or variable
Explicit assignment from the SCREEN–VALUE attribute of the widget to a specified field or variable2
Move Data from Record to Screen Buffer
DISPLAY, INSERT, or UPDATE statement applied to corresponding field or variable
Explicit assignment from a specified field, variable, or constant to the SCREEN–VALUE attribute of the widget2
  1. For more information on widget pools, see the "Managing Dynamic Widget Pools" section.
  2. You can also use these techniques with static widgets.
  3. The behavior of the VISIBLE attribute also depends on the setting of the HIDDEN attribute.


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