BS ISO/IEC 15852:1999
Information technology. Programming languages. M Windowing API
Standard number: | BS ISO/IEC 15852:1999 |
Pages: | 96 |
Released: | 1999-09-15 |
ISBN: | 0 580 32946 1 |
Status: | Standard |
BS ISO/IEC 15852:1999
This standard BS ISO/IEC 15852:1999 Information technology. Programming languages. M Windowing API is classified in these ICS categories:
- 35.060 Languages used in information technology
The M Windowing API (MWAPI) extends the M programming technology with the addition of capabilities for developing and operating graphical user interface (GUI) applications.
For the purposes of this International Standard, an application is defined as a collection of one or more Mroutines using MWAPI capabilities and a user is a person utilizing such an application.
1.2 Relation to Environment
The MWAPI may, but is not required to, operate in conjunction with an underlying windowing platform. The MWAPI does not provide a detailed specification of look and feel for applications. Rather, if an underlying windowing platform is present, it is intended that the MWAPI adhere to the platform's look and feel to the extent practicable. If no underlying windowing platform is present, the MWAPI implementation determines look and feel characteristics and carries out actions that would otherwise be carried out by the underlying windowing platform.
1.3 Windows, Elements and Choices
The primary mechanism for communicating with a user is a window. Windows provide a general mechanism for displaying text and graphics, typically enclosed by a border.
Associated with windows, elements perform specialized tasks. Elements include gadgets, menus, and timers.
Gadgets are used for specialized input and output. For instance, there are gadgets designed for text input and gadgets that enable users to select from a list of items.
Menus are used to enable users to select actions to be performed.
Timers provide a means for notification of an application when a specified period of time has elapsed.
Menus and certain gadgets contain a list of choices. For instance, a list box has a list of items that a user can select.
An entity is a window, element, or choice.
1.4 Displays
Windows are shown to the user via a display, a logical surface on which windows are placed. Each M process has its own display(s); displays are not shared, although physical devices may be shared.
There is not necessarily a one-to-one correspondence between a display and the hardware device on which it appears. Multiple displays may appear on the same device and may overlap. A single display may span multiple devices.
Each display has associated input devices, typically a keyboard with alphanumeric, function and other keys, and a pointer such as a mouse.
1.5 Events
Applications are made aware of actions taken by users, such as pressing a key or selecting a menu item, or of other occurrences via events. Applications specify the events about which they wish to be notified and the code to execute when an event occurs.
1.6 Attributes
The characteristics of windows, elements, and choices are specified through attributes in the structured system variable∧$WINDOW. The characteristics of displays are specified through attributes in the structured system variable∧$DISPLAY. The characteristics of events that occur are specified through attributes in the structured system variable∧$EVENT.
1.7Drawing
Within one type of gadget, the generic box, the MW API provides facilities for drawing geometric figures, text, and other graphical objects.
1.8Parents and Children
Each window and element has a single parent. A window’s parent is either the display on which it appears or another window. An element’s parent is a window. If P is the parent of C, then C is a child of P.
A is an ancestor of C and C is a descendant of A if
-
A is the parent of C, or
-
there exist one or more windows (B1 ... Bn) such that A is the parent of B1, Bn is the parent of C, and, for X equal to B1 through Bn-1, Bx is the parent of Bx+1.
A window or element inherits default values for certain attributes from its parent. A window or element cannot be created before its parent is created. A window or element can be created by the same M command that creates its parent.
P is a parent menu of S and S is a submenu of P if S is displayed when a choice in P is activated.