This utility function instructs the RM/Panels run-time system to begin modeless operation. Modeless behavior differs from modal behavior, which is the default.

In modal operation, a panel is displayed, information is entered on that and only that panel, then the panel is removed or possibly overlaid by another panel. In modal operation, the topmost panel is the only panel that can be accessed.

However, in modeless operation, the user can choose between a number of displayed panels. The chosen panel is displayed again on top of the other panels, and the user can work with that panel.

By default, RM/Panels works in a modal state. When an EXECUTE EVENT standard run-time function is performed, RM/Panels recognizes only events for the panel for which the function was performed. In a modeless state, RM/Panels recognizes a mouse click on any displayed panel as a request to access that panel, informs the application program which panel was chosen, and if the application program allows it, redisplays that panel on top of the others.

This process does not complicate RM/Panels programming nearly as much as you might think. It really just requires that a check be added to the event loop to see which panel was requested.

The following limitations apply to modeless behavior:

  • This utility function should be executed before any panels that are to be modeless are displayed. Any panels already displayed when this utility function is performed will be ignored.
  • DISPLAY statements should not be used to place information on panels that will be modeless. The RM/Panels run-time system will be automatically redisplaying these panels and you will not get an opportunity to display your information.
  • There is a limit of 2000 bytes of data for each panel that will be used in modeless operation.
Note: Modeless operation is not supported under Windows.