By itself, the REXX language offers a rather primitive user interface for the REXX programmer to exploit. It simply outputs text to a command prompt window, with few facilities to position and format text. Its choices for user input aren't any more sophisticated, and are mostly limited to the user typing a line of text at a command prompt. It has no mouse support. The user of such a REXX script often feels that the program is controlling him rather than vice versa.

An example of REXX's limited support for a user interface. The user must type in his choice at a command prompt.

Reginald's GUI add-on is a library of functions which your REXX script can use to present a graphical interface. In this way, you can write a script that allows an enduser to use both the mouse and keyboard to manipulate scrolling lists of text, menus, sliders, buttons, and other types of graphical "controls". You can simultaneously open several windows full of such controls, and allow the user to interact with them.

In short, you can quickly and easily create full-fledged Windows software (with a graphical interface) using the GUI add-on.

An example of Reginald's support for a graphical user interface. The user can scroll through a list of items, and select one using the mouse.

In the remainder of this book, a script that uses the GUI add-on for its user interface is referred to as simply a "GUI script".