Provided by: libmotif-dev_2.3.8-3_amd64
NAME
XmList — The List widget class "XmList" "widget class" "List"
SYNOPSIS
#include <Xm/List.h>
DESCRIPTION
List allows a user to select one or more items from a group of choices. Items are selected from the list in a variety of ways, using both the pointer and the keyboard. List operates on an array of compound strings that are defined by the application. Each compound string becomes an item in the List, with the first compound string becoming the item in position 1, the second becoming the item in position 2, and so on. Specifying the number of items that are visible sets the size of the List. If the number of visible items is not specified, the height of the list controls the number of visible items. Each item assumes the height of the tallest element in the list. To create a list that allows the user to scroll easily through a large number of items, use the XmCreateScrolledList convenience function. To select items, move the pointer or cursor to the desired item and press the <Btn1> mouse button or the key defined as <osfSelect>. There are several styles of selection behavior, and they all highlight the selected item or items by displaying them in inverse colors. An appropriate callback is invoked to notify the application of the user's choice. The application then takes whatever action is required for the specified selection. When a List is insensitive, all of the list items are displayed in a stippled fill pattern. List uses the XmQTspecifyRenderTable, XmQTscrollFrame, and XmQTnavigator traits, and holds the XmQTtransfer trait. Selection Each list has one of four selection models: • Single Select • Browse Select • Multiple Select • Extended Select In Single Select and Browse Select, at most one item is selected at a time. In Single Select, pressing <Btn1> on an item toggles its selection state and deselects any other selected item. In Browse Select, pressing <Btn1> on an item selects it and deselects any other selected item; dragging <Btn1> moves the selection as the pointer is moved. Releasing <Btn1> on an item moves the location cursor to that item. In Multiple Select, any number of items can be selected at a time. Pressing <Btn1> on an item toggles its selection state but does not deselect any other selected items. In Extended Select, any number of items can be selected at a time, and the user can easily select ranges of items. Pressing <Btn1> on an item selects it and deselects any other selected item. Dragging <Btn1> or pressing or dragging <Shift><Btn1> following a <Btn1> action selects all items between the item under the pointer and the item on which <Btn1> was pressed. This action also deselects any other selected items outside that range. Extended Select also allows the user to select and deselect discontiguous ranges of items. Pressing <Ctrl><Btn1> on an item toggles its selection state but does not deselect any other selected items. Dragging <Ctrl><Btn1> or pressing or dragging <Shift><Btn1> following a <Ctrl><Btn1> action sets the selection state of all items between the item under the pointer and the item on which <Ctrl><Btn1> was pressed to the state of the item on which <Ctrl><Btn1> was pressed. This action does not deselect any other selected items outside that range. All selection operations available from the mouse are also available from the keyboard. List has two keyboard selection modes, Normal Mode and Add Mode. In Normal Mode, navigation operations and <osfSelect> select the item at the location cursor and deselect any other selected items. In Add Mode, navigation operations have no effect on selection, and <osfSelect> toggles the selection state of the item at the location cursor without deselecting any other selected items, except in Single Select. Single and Multiple Select use Add Mode, and Browse Select uses Normal Mode. Extended Select can use either mode; the user changes modes by pressing <osfAddMode>. In Extended Select Normal Mode, pressing <osfSelect> has the same effect as pressing <Btn1>; <osfExtend> and shifted navigation have the same effect as pressing <Shift><Btn1> following a <Btn1> action. In Extended Select Add Mode, pressing <osfSelect> has the same effect as pressing <Ctrl><Btn1>; <osfExtend> and shifted navigation have the same effect as pressing <Shift><Btn1> following a <Ctrl><Btn1> action. Normal Mode is indicated by a solid location cursor, and Add Mode is indicated by a dashed location cursor. Data Transfer Behavior List supports dragging of items from the List and transfer of items to the clipboard. When the user presses BTransfer on a selected item, the widget transfers all selected items. When the user presses BTransfer on an unselected item, the widget transfers only that item. Depending on the value of XmNprimaryOwnership, List can also support primary selection. When the XmNconvertCallback procedures are called, the location_data member of the XmConvertCallbackStruct member is NULL if the selected items are being transferred. If the selected items are not being transferred, this member has the following value: If a single item is being transferred, the value is an integer representing the position of the item in the List. A value of 1 transfers the first item in the List; a value of 2 transfers the second item; and so on. If the entire contents of the List are being transferred, the value is -1. As a source of data, List supports the following targets and associated conversions of data to these targets: locale If the locale target matches the widget's locale, the widget transfers the selected list items in the encoding of the locale. Each item transferred except the last includes a trailing separator. COMPOUND_TEXT The widget transfers the selected list items as type COMPOUND_TEXT. Each item transferred except the last includes a trailing separator. UTF8_STRING The widget transfers the selected list items as type UTF8_STRING. Each item transferred except the last includes a trailing separator. STRING The widget transfers the selected list items as type STRING. Each item transferred except the last includes a trailing separator. TEXT If the selected list items are fully convertible to the encoding of the locale, the widget transfers the selected list items in the encoding of the locale. Otherwise, the widget transfers the selected list items as type COMPOUND_TEXT. Each item transferred except the last includes a trailing separator. _MOTIF_CLIPBOARD_TARGETS The widget transfers, as type ATOM, a list of the targets it supports for immediate transfer for the CLIPBOARD selection. These include _MOTIF_COMPOUND_STRING. If the selected list items are fully convertible to STRING, these also include STRING; otherwise, they also include COMPOUND_TEXT and UTF8_STRING. _MOTIF_COMPOUND_STRING The widget transfers the selected list items as a compound string in Byte Stream format. Each item transferred except the last includes a trailing separator. _MOTIF_DEFERRED_CLIPBOARD_TARGETS The widget transfers, as type ATOM, a list of the targets it supports for delayed transfer for the CLIPBOARD selection. This widget currently supplies no targets for _MOTIF_DEFERRED_CLIPBOARD_TARGETS. _MOTIF_EXPORT_TARGETS The widget transfers, as type ATOM, a list of the targets to be used as the value of the DragContext's XmNexportTargets in a drag-and-drop transfer. These include _MOTIF_COMPOUND_STRING, COMPOUND_TEXT, UTF8_STRING, the encoding of the locale, STRING, TEXT, BACKGROUND, and FOREGROUND. _MOTIF_LOSE_SELECTION When the widget loses the selection, it deselects all list items. As a source of data, List also supports the following standard Motif targets: BACKGROUND The widget transfers XmNbackground as type PIXEL. CLASS The widget finds the first shell in the widget hierarchy that has a WM_CLASS property and transfers the contents as text in the current locale. CLIENT_WINDOW The widget finds the first shell in the widget hierarchy and transfers its window as type WINDOW. COLORMAP The widget transfers XmNcolormap as type COLORMAP. FOREGROUND The widget transfers XmNforeground as type PIXEL. NAME The widget finds the first shell in the widget hierarchy that has a WM_NAME property and transfers the contents as text in the current locale. TARGETS The widget transfers, as type ATOM, a list of the targets it supports. These include the standard targets in this list. These also include _MOTIF_COMPOUND_STRING, COMPOUND_TEXT, UTF8_STRING the encoding of the locale, STRING, and TEXT. TIMESTAMP The widget transfers the timestamp used to acquire the selection as type INTEGER. _MOTIF_RENDER_TABLE The widget transfers XmNrenderTable if it exists, or else the default text render table, as type STRING. _MOTIF_ENCODING_REGISTRY The widget transfers its encoding registry as type STRING. The value is a list of NULL separated items in the form of tag encoding pairs. This target symbolizes the transfer target for the Motif Segment Encoding Registry. Widgets and applications can use this Registry to register text encoding formats for specified render table tags. Applications access this Registry by calling XmRegisterSegmentEncoding and XmMapSegmentEncoding. List has no widget class destination procedure. Subclasses and the XmNdestinationCallback procedures are responsible for any data transfers to the widget. Classes List inherits behavior, resources, and traits from Core and XmPrimitive. The class pointer is xmListWidgetClass. The class name is XmList. New Resources The following table defines a set of widget resources used by the programmer to specify data. The programmer can also set the resource values for the inherited classes to set attributes for this widget. To reference a resource by name or by class in a .Xdefaults file, remove the XmN or XmC prefix and use the remaining letters. To specify one of the defined values for a resource in a .Xdefaults file, remove the Xm prefix and use the remaining letters (in either lowercase or uppercase, but include any underscores between words). The codes in the access column indicate if the given resource can be set at creation time (C), set by using XtSetValues (S), retrieved by using XtGetValues (G), or is not applicable (N/A). ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ --
RELATED
Core(3), XmCreateList(3), XmCreateScrolledList(3), XmFontListCreate(3), XmFontListAppendEntry(3), XmListAddItem(3), XmListAddItems(3), XmListAddItemUnselected(3), XmListAddItemsUnselected(3), XmListDeleteAllItems(3), XmListDeleteItem(3), XmListDeleteItems(3), XmListDeleteItemsPos(3), XmListDeletePos(3), XmListDeletePositions(3), XmListDeselectAllItems(3), XmListDeselectItem(3), XmListDeselectPos(3), XmListGetKbdItemPos XmListGetMatchPos(3), XmListGetSelectedPos(3), XmListItemExists(3), XmListItemPos(3), XmListPosToBounds(3), XmListReplaceItems(3), XmListReplaceItemsPos(3), XmListReplaceItemsPos(3), XmListReplaceItemsPosUnselected(3), XmListReplaceItemsUnselected(3), XmListSelectItem(3), XmListSelectPos(3), XmListSetAddMode(3), XmListSetBottomItem(3), XmListSetBottomPos(3), XmListSetHorizPos(3), XmListSetItem(3), XmListSetKbdItemPos(3), XmListSetPos(3), XmListUpdateSelectedList(3), XmListYToPos(3), XmPrimitive(3) XmStringCreate(3), XmVaCreateList(3), and XmVaCreateManagedList(3). XmList(3)