Motif widgets are displayed on the Palette for all languages except Java and for all platforms. Initially, Motif widgets are grouped in the following folders:
- XmToggleButton, XmPushButton, XmDrawnButton, XmArrowButton, XmLabel, XmSeparator, XmScrollBar, XmTextField, XmText, XmScrolledText, XmList, and XmScrolledList.
XmMainWindow, XmScrolledWindow, XmPanedWindow, XmScale, XmForm, XmBulletinBoard, XmDrawingArea, XmRowColumn,
XmRadioBox, and XmFrame.
The XmArrowButton consists of a directional arrow surrounded by a border shadow. When the widget is selected, the shadow changes and the Arrow Button appears to be depressed. When the Arrow Button is unselected, the shadow changes and the Arrow Button appears to be released. Callbacks notify the application when an Arrow Button is activated.
The XmBulletinBoard widget is a composite widget that provides simple geometry management for children. It does not force positioning on its children, but can be set to reject geometry requests that result in overlapping children. Bulletin Board is used as a general container widget.
The XmCommand widget is a special-purpose composite widget for command entry that provides a built-in command-history mechanism. Provides the user with a method for entering commands, while preserving a command history.
The XmDrawingArea widget is an empty container easily adaptable to a variety of purposes. Does no drawing and defines no behavior except for invoking callbacks. Callbacks notify the application when graphics must be drawn through exposure and widget resize events and when the widget receives input from the keyboard or mouse.
The XmDrawnButon widget consists of an empty window surrounded by a shadow border. It provides the application developer with a graphics area that can have Push Button input semantics. Callbacks notify the application when the widget is resized or receives an exposure event.
The XmFileSelector widget allows the user to select files from a hierarchy of directories and to traverse directories, viewing the files in these directories, and selecting files. The widget contains: a directory mask that includes a filter label and input field used to specify the directory; a scrollable list of directories; a scrollable list of filenames; a text input field; and push buttons for control.
The XmForm widget is a container that exerts strong control over its children's geometry. Constraints are placed on children of the Form to define attachments for each of the child's four sides. These attachments determine the layout behavior of the children when the Form resizes.
The XmFrame widget is a simple manager used to enclose a single work area in a border. The Frame widget uses the Manager class resources for border drawing and performs geometry management. The Frame widget's size always matches its child's size plus the margins defined for it.Frame may also control a second "title" child that can be used for labeling the contents of the work area.
The XmList widget allows the user to choose one or more items from a group of text choices. Items are selected from the list using both the mouse and the keyboard. The currently selected items are highlighted. Clicking on the selected item activates a callback which receives information about the selected item. Several convenience routines are available.
The XmMessageBox widget is a dialog class used for creating simple message dialogs. Convenience dialogs based on Message Box are provided for several common interaction tasks, which include giving information, asking questions, and reporting errors. A pixmap may be placed to the left of the message text to provide quick visual recognition of a familiar message.
Composite widget that lays out children in a vertically tiled format. The first child is inserted at the top of the Paned Window and each successive child is inserted below. The Paned Window grows to match the width of its widest child and all other children are forced to this width. The height of the Paned Window is equal to the sum of the heights of all its children, the spacing between them, and the size of the top and bottom margins.
The XmRowColumn widget is a general purpose manager capable of containing any widget type as a child. Generally does not require special knowledge of how its children function, and provides only support for several different layout styles. Can be configured as a Radio Box or one of four menu types, in which case, it expects only certain children. The four menu types are Menu Bar, Pulldown or Popup Menu Panes, and Option Menu.
Allows the user to view an area that is too large to be displayed all at once. Scroll Bar widgets may be placed beside or within the widget that contains the data to be viewed. When the user interacts with the Scroll Bar, the area within the other widget scrolls.
The XmScrolledWindow widget allows the user to view a portion of a much larger area. XmScrolledWidget combines one or more Scroll Bar widgets and a viewing area to function as a visible window onto some other data display. The visible part of the window can be scrolled through the larger display by the use of Scroll Bar widgets. Scrolling can be automatic. The programmer may control scrolling by setting scrolling policy to user defined and using callbacks.
The XmSelectionBox widget is a general Dialog widget that allows the user to select one item from a list. A Selection Box includes a scrollable list, an editable text field for the selected item, labels for the list and text field, and three buttons for control. The user can select an item by scrolling through the list and selecting the desired item or by entering the item name directly into the text edit area. Selecting an item from the list causes that item to appear in the selection text edit area.
The XmText widget is a single-line and multiline text editor. It can be used for single-line string entry, data entry into a form (with verification procedures), and full-window editing. Text provides the application with a consistent editing system for textual data. Keyboard actions are defined for primary selection, and cutting, pasting, insertion, and deletion of text.
The XmTextField widget creates a single-line string entry area, and provides a single-line text entry field. It has many of the Text widget's resources with the exception of those relating to multiple line text editing. Callbacks notify the application of cursor movement and changes in the text or input focus.