Provided by: libmotif-dev_2.3.8-2build1_amd64 bug

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)