The Resource Editor is part of (ie, built into) REXX Programmer Center. The Resource Editor creates and edits what I'll call a window layout. A window layout is simply one window containing various controls you have chosen (such as text boxes, list boxes, sliders, etc), and physically arranged inside of the window.

The Resource Editor lets you graphically select and arrange each control in your window by using the mouse. You have a selection of different types of controls you can add to a window. Adding a control is as easy as clicking the mouse pointer on the type of control you wish to add, and then clicking where you want it to appear in your window. You can subsequently move and resize the control using the mouse. You can set the various properties for each control, for example choosing whether a particular list box allows the user to select more than one item simultaneously, or only one item at a time.

The window can also have a menu, and keyboard shortcuts, and various custom mouse pointers, and other resources. The Resource Editor lets you graphically build up a menu for the window. Furthermore, it lets you assign keyboard shortcuts to menu items and controls, and create/edit other resources for the window.

You can create many different window layouts (ie, windows), and simultaneously use them all in your application.

For example, let's assume we need to write an application that presents a list of student names. We wish to let the user add a new name to the list, or delete a name from the list. We'll call this our "List of names" window. This window will contain a box filled with the students' names, an "Add" button to add a new name to the list, and a "Delete" button to remove a name from the list. It will look like this (assuming it already contains two names -- Susan and John):

When the user clicks on the Add button, we will present another window to let him enter a new name. We'll call this our "Enter your name" window. The window will have a box into which the user can type his name, and an OK button he can click when he's done. And when he's done, we will add the new name to the "List of names" window.

So, we will need to create two window layouts -- one for the "List of names" window, and another for the "Enter your name" window. For every window layout you create, there must be a separate REXX script for it. That REXX script will manage the window's creation and operation. Everything about that window layout will be contained in that one script. This includes all the information about what controls are inside the window, how they are arranged, and what properties they have. The script also contains all of the subroutines you will write to handle various "events" that happen with the window (discussed later).

So, for our above example in which we create two window layouts, this will result in two REXX scripts -- one script for the "Enter your name" window, and another script for the "List of names" window. You will use these Window Layout scripts in order to present and operate these windows.