Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmList(3X) — DG/UX 5.4.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     XmList(3X)                UNIX System V                XmList(3X)



     NAME
          XmList-The List widget class

     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.

          The size of the List is set by specifying the number of
          items that are visible.  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 BSelect mouse button or the key defined
          as KSelect.  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.

        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 BSelect on
          an item toggles its selection state and deselects any other
          selected item.  In Browse Select, pressing BSelect on an



     1                                                (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



          item selects it and deselects any other selected item;
          dragging BSelect moves the selection as the pointer is
          moved.  Releasing BSelect on an item moves the location
          cursor to that item.

          In Multiple Select, any number of items can be selected at a
          time.  Pressing BSelect 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 BSelect on an item selects it and deselects any
          other selected item.  Dragging BSelect or pressing or
          dragging BExtend following a BSelect action selects all
          items between the item under the pointer and the item on
          which BSelect 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 BToggle on an item
          toggles its selection state but does not deselect any other
          selected items.  Dragging BToggle or pressing or dragging
          BExtend following a BToggle action sets the selection state
          of all items between the item under the pointer and the item
          on which BToggle was pressed to the state of the item on
          which BToggle 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 KSelect select the item at the
          location cursor and deselect any other selected items.  In
          Add Mode, navigation operations have no effect on selection,
          and KSelect 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 KAddMode.  In Extended Select Normal Mode,
          pressing KSelect has the same effect as pressing BSelect;
          KExtend and shifted navigation have the same effect as
          pressing BExtend following a BSelect action.  In Extended
          Select Add Mode, pressing KSelect has the same effect as
          pressing BToggle; KExtend and shifted navigation have the
          same effect as pressing BExtend following a BToggle action.

          Normal Mode is indicated by a solid location cursor, and Add
          Mode is indicated by a dashed location cursor.



     2                                                (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



        Classes
          List inherits behavior and resources from Core and
          XmPrimitive classes.

          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).

                                               XmList Resource Set
     Name                           Class                       Type                Default           Access
     _______________________________________________________________________________________________________
     XmNautomaticSelection          XmCAutomaticSelection       Boolean             False             CSG
     XmNbrowseSelectionCallback     XmCCallback                 XtCallbackList      NULL              C
     XmNdefaultActionCallback       XmCCallback                 XtCallbackList      NULL              C
     XmNdoubleClickInterval         XmCDoubleClickInterval      int                 dynamic           CSG
     XmNextendedSelectionCallback   XmCCallback                 XtCallbackList      NULL              C
     XmNfontList                    XmCFontList                 XmFontList          dynamic           CSG
     XmNitemCount                   XmCItemCount                int                 0                 CSG
     XmNitems                       XmCItems                    XmStringTable       NULL              CSG
     XmNlistMarginHeight            XmCListMarginHeight         Dimension           0                 CSG
     XmNlistMarginWidth             XmCListMarginWidth          Dimension           0                 CSG
     XmNlistSizePolicy              XmCListSizePolicy           unsigned char       XmVARIABLE        CG
     XmNlistSpacing                 XmCListSpacing              Dimension           0                 CSG
     XmNmultipleSelectionCallback   XmCCallback                 XtCallbackList      NULL              C
     XmNscrollBarDisplayPolicy      XmCScrollBarDisplayPolicy   unsigned char       XmAS_NEEDED       CSG
     XmNselectedItemCount           XmCSelectedItemCount        int                 0                 CSG
     XmNselectedItems               XmCSelectedItems            XmStringTable       NULL              CSG
     XmNselectionPolicy             XmCSelectionPolicy          unsigned char       XmBROWSE_SELECT   CSG
     XmNsingleSelectionCallback     XmCCallback                 XtCallbackList      NULL              C
     XmNstringDirection             XmCStringDirection          XmStringDirection   dynamic           CSG
     XmNtopItemPosition             XmCTopItemPosition          int                 1                 CSG
     XmNvisibleItemCount            XmCVisibleItemCount         int                 dynamic           CSG

          XmNautomaticSelection
                    Invokes XmNbrowseSelectionCallback or
                    XmNextendedSelectionCallback when BSelect is
                    pressed and the items that are shown as selected



     3                                                (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



                    change if the value is True and the selection mode
                    is either XmBROWSESELECT or XmEXTENDEDSELECT
                    respectively.  If False, no selection callbacks
                    are invoked until the user releases the mouse
                    button.  See the Behavior section for further
                    details on the interaction of this resource with
                    the selection modes.

          XmNbrowseSelectionCallback
                    Specifies a list of callbacks that is called when
                    an item is selected in the browse selection mode.
                    The reason is XmCRBROWSESELECT.

          XmNdefaultActionCallback
                    Specifies a list of callbacks that is called when
                    an item is double clicked or KActivate is pressed.
                    The reason is XmCRDEFAULTACTION.

          XmNdoubleClickInterval
                    If a button click is followed by another button
                    click within the time span specified by this
                    resource (in milliseconds), the button clicks are
                    considered a double-click action, rather than two
                    single-click actions.  The value must not be
                    negative.  The default value is the display's
                    multi-click time.

          XmNextendedSelectionCallback
                    Specifies a list of callbacks that is called when
                    items are selected using the extended selection
                    mode.  The reason is XmCREXTENDEDSELECT.

          XmNfontList
                    Specifies the font list associated with the list
                    items.  This is used in conjunction with the
                    XmNvisibleItemCount resource to determine the
                    height of the List widget.  If this value is NULL
                    at initialization, the font list is initialized by
                    looking up the parent hierarchy of the widget for
                    an ancestor that is a subclass of the
                    XmBulletinBoard or VendorShell widget class.  If
                    such an ancestor is found, the font list is
                    initialized to the XmNtextFontList of the ancestor
                    widget.  If no such ancestor is found, the default
                    is implementation dependent.  Refer to
                    XmFontList(3X) for more information on a font list
                    structure.

          XmNitemCount
                    Specifies the total number of items.  The value
                    must be the number of items in XmNitems and must
                    not be negative.  It is automatically updated by



     4                                                (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



                    the list whenever an item is added to or deleted
                    from the list.

          XmNitems  Points to an array of compound strings that are to
                    be displayed as the list items.  Refer to
                    XmString(3X) for more information on the creation
                    and structure of compound strings.  XtGetValues
                    for this resource returns the list items
                    themselves, not a copy of the list items.  The
                    application must not free the returned items.

          XmNlistMarginHeight
                    Specifies the height of the margin between the
                    list border and the items.

          XmNlistMarginWidth
                    Specifies the width of the margin between the list
                    border and the items.

          XmNlistSizePolicy
                    Controls the reaction of the List when an item
                    grows horizontally beyond the current size of the
                    list work area.  If the value is XmCONSTANT, the
                    list viewing area does not grow, and a horizontal
                    ScrollBar is added for a ScrolledList.  If this
                    resource is set to XmVARIABLE, the List grows to
                    match the size of the longest item, and no
                    horizontal ScrollBar appears.

                    When the value of this resource is
                    XmRESIZEIFPOSSIBLE, the List attempts to grow or
                    shrink to match the width of the widest item.  If
                    it cannot grow to match the widest size, a
                    horizontal ScrollBar is added for a ScrolledList
                    if the longest item is wider than the list viewing
                    area.

                    The size policy must be set at the time the List
                    widget is created.  It cannot be changed at a
                    later time through XtSetValues.

          XmNlistSpacing
                    Specifies the spacing between list items.  This
                    spacing increases by the value of the
                    XmNhighlightThickness resource in Primitive.

          XmNmultipleSelectionCallback
                    Specifies a list of callbacks that is called when
                    an item is selected in multiple selection mode.
                    The reason is XmCRMULTIPLESELECT.





     5                                                (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



          XmNscrollBarDisplayPolicy
                    Controls the display of vertical ScrollBars in a
                    ScrolledList.  When the value of this resource is
                    XmASNEEDED, a vertical ScrollBar is displayed
                    only when the number of items in the List exceeds
                    the number of Visible items.  When the value is
                    XmSTATIC, a vertical ScrollBar is always
                    displayed.

          XmNselectedItemCount
                    Specifies the number of strings in the selected
                    items list.  The value must be the number of items
                    in XmNselectedItems and must not be negative.

          XmNselectedItems
                    Points to an array of compound strings that
                    represents the list items that are currently
                    selected, either by the user or by the
                    application.  XtGetValues for this resource
                    returns the list items themselves, not a copy of
                    the list items.  The application must not free the
                    returned items.

                    Setting XmNselectedItems selects those list items
                    that exactly match items in the given
                    XmNselectedItems list.  There may be additional
                    items in XmNselectedItems that do not match items
                    in the list.  These items remain until
                    XmNselectedItems is updated.  If XmNitems is
                    changed such that the list now contains items
                    matching previously unmatched items in
                    XmNselectedItems, those new items will also appear
                    selected.

                    Any user interaction with the list that causes at
                    least one item to be selected or deselected and
                    any call to XmListDeselectAllItems,
                    XmListDeselectAllItems, XmListDeselectPos,
                    XmListSelectItem, XmListSelectPos, or
                    XmListUpdateSelectedList cause XmNselectedItems to
                    be updated immediately to exactly reflect the
                    visual state of the list.  Calls to any other
                    XmList functions do not affect XmNselectedItems.

          XmNselectionPolicy
                    Defines the interpretation of the selection
                    action.  This can be one of the following:


                      ⊕  XmSINGLESELECT-allows only single selections

                      ⊕  XmMULTIPLESELECT-allows multiple selections



     6                                                (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



                      ⊕  XmEXTENDEDSELECT-allows extended selections

                      ⊕  XmBROWSESELECT"-allows "drag and browse"
                         functionality


          XmNsingleSelectionCallback
                    Specifies a list of callbacks that is called when
                    an item is selected in single selection mode. The
                    reason is XmCRSINGLESELECT.

          XmNstringDirection
                    Specifies the initial direction to draw the
                    string.  The values are XmSTRINGDIRECTIONLTOR
                    and XmSTRINGDIRECTIONRTOL.  The value of this
                    resource is determined at creation time.  If the
                    widget's parent is a manager, this value is
                    inherited from the widget's parent, otherwise it
                    is set to XmSTRINGDIRECTIONLTOR.

          XmNtopItemPosition
                    Specifies the position of the item that is the
                    first visible item in the list.  Setting this
                    resource is equivalent to calling the XmListSetPos
                    function.  The position of the first item in the
                    list is 1; the position of the second item is 2;
                    and so on.  A position of 0 specifies the last
                    item in the list.  The value must not be negative.

          XmNvisibleItemCount
                    Specifies the number of items that can fit in the
                    visible space of the list work area.  The List
                    uses this value to determine its height.  The
                    value must be greater than 0.


        Inherited Resources
          List inherits behavior and resources from the following
          superclasses.  For a complete description of each resource,
          refer to the man page for that superclass.

                                         XmPrimitive Resource Set
     Name                    Class                   Type               Default                Access
     ________________________________________________________________________________________________
     XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
     XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
     XmNforeground           XmCForeground           Pixel              dynamic                CSG
     XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C







     7                                                (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



     XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
     XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
     XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
     XmNhighlightThickness   XmCHighlightThickness   Dimension          2                      CSG
     XmNnavigationType       XmCNavigationType       XmNavigationType   XmTAB_GROUP            CSG
     XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
     XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
     XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
     XmNtraversalOn          XmCTraversalOn          Boolean            True                   CSG
     XmNunitType             XmCUnitType             unsigned char      dynamic                CSG
     XmNuserData             XmCUserData             XtPointer          NULL                   CSG

                                                   Core Resource Set
     Name                            Class                           Type             Default                Access
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG

        Callback Information
          List defines a new callback structure.  The application must
          first look at the reason field and use only the structure
          members that are valid for that particular reason, because
          not all fields are relevant for every possible reason.  The
          callback structure is defined as follows:

          typedef struct
          {
            int          reason;
            XEvent       *event;
            XmString     item;
            int          item_length;
            int          item_position;
            XmString     *selected_items;
            int          selected_item_count;
            int          *selected_item_positions;



     8                                                (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



            char         selection_type;
          } XmListCallbackStruct;


          reason       Indicates why the callback was invoked.

          event        Points to the XEvent that triggered the
                       callback.  It can be NULL.

          item         Is the last item selected at the time of the
                       event that caused the callback.  item points to
                       a temporary storage space that is reused after
                       the callback is finished.  Therefore, if an
                       application needs to save the item, it should
                       copy the item into its own data space.

          item_length  Is the length in bytes of item.

          item_positionIs the position of item in the List's XmNitems
                       array.

          selected_items
                       Is a list of items selected at the time of the
                       event that caused the callback.  selected_items
                       points to a temporary storage space that is
                       reused after the callback is finished.
                       Therefore, if an application needs to save the
                       selected list, it should copy the list into its
                       own data space.

          selected_item_count
                       Is the number of items in the selected_items
                       list.  This number must be non-negative.

          selected_item_positions
                       Is an array of integers, one for each selected
                       item, representing the position of each
                       selected item in the List's XmNitems array.
                       selected_item_positions points to a temporary
                       storage space that is reused after the callback
                       is finished.  Therefore, if an application
                       needs to save this array, it should copy the
                       array into its own data space.

          selection_type
                       Indicates that the most recent extended
                       selection was the initial selection
                       (XmINITIAL), a modification of an existing
                       selection (XmMODIFICATION), or an additional
                       noncontiguous selection (XmADDITION).





     9                                                (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



          The following table describes the reasons for which the
          individual callback structure fields are valid:

            Reason                           Valid Fields
     
     XmCRSINGLESELECT     reason, event, item, item_length, item_position
     ______________________________________________________________________
     XmCRDEFAULTACTION    reason, event, item, item_length,
                            item_position, selected_items,
                            selected_item_count, selected_item_positions
     ______________________________________________________________________
     ______________________________________________________________________
     XmCRBROWSESELECT     reason, event, item, item_length, item_position
     ______________________________________________________________________
     XmCRMULTIPLESELECT   reason, event, item, item_length,
                            item_position, selected_items,
                            selected_item_count, selected_item_positions
     ______________________________________________________________________
     XmCREXTENDEDSELECT   reason, event, item, item_length,
                            item_position, selected_items,
                            selected_item_count, selected_item_positions,
                            selection_type

        Translations
          XmList includes translations from Primitive.  The XmList
          translations are listed below.  These translations may not
          directly correspond to a translation table.

          BSelect Press: ListBeginSelect()
          BSelect Motion:ListButtonMotion()
          BSelect Release:ListEndSelect()

          BExtend Press: ListBeginExtend()
          BExtend Motion:ListButtonMotion()
          BExtend Release:ListEndExtend()

          BToggle Press: ListBeginToggle()
          BToggle Motion:ListButtonMotion()
          BToggle Release:ListEndToggle()
          BDrag Press:   ListProcessDrag()

          KUp:           ListPrevItem()
          MShift KUp:    ListExtendPrevItem()

          KDown:         ListNextItem()
          MShift KDown:  ListExtendNextItem()

          KLeft:         ListLeftChar()
          MCtrl KLeft:   ListLeftPage()

          KRight:        ListRightChar()
          MCtrl KRight:  ListRightPage()



     10                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



          KPageUp:       ListPrevPage()
          KPageDown:     ListNextPage()
          KPageLeft:     ListLeftPage()
          KPageRight:    ListRightPage()

          KBeginLine:    ListBeginLine()
          KEndLine:      ListEndLine()

          KBeginData:    ListBeginData()
          MShift KBeginData:ListBeginDataExtend()

          KEndData:      ListEndData()
          MShift KEndData:ListEndDataExtend()

          KAddMode:      ListAddMode()

          KActivate:     ListKbdActivate()

          KCopy Press:   ListCopyToClipboard()
          KSelect Press: ListKbdBeginSelect()
          KSelect Release:ListKbdEndSelect()

          KExtend Press: ListKbdBeginExtend()
          KExtend Release:ListKbdEndExtend()

          MAny KCancel:  ListKbdCancel()
          KSelectAll:    ListKbdSelectAll()
          KDeselectAll:  ListKbdDeSelectAll()

          KHelp:         PrimitiveHelp()
          KNextField     PrimitiveNextTabGroup()
          KPrevField     PrimitivePrevTabGroup()


        Action Routines
          The XmList action routines are described below.  The current
          selection is always shown with inverted colors.


          ListAddMode():
                    Toggles the state of Add Mode for keyboard
                    selection.

          ListBeginData():
                    Moves the location cursor to the first item in the
                    list.  In Normal Mode, this also deselects any
                    current selection, selects the first item in the
                    list, and calls the appropriate selection
                    callbacks (XmNbrowseSelectionCallback when
                    XmNselectionPolicy is set to XmBROWSESELECT,
                    XmNextendedSelectionCallback when
                    XmNselectionPolicy is set to XmEXTENDEDSELECT).



     11                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



          ListBeginDataExtend():
                    If the XmNselectionPolicy is set to
                    XmMULTIPLESELECT or XmEXTENDEDSELECT, moves the
                    location cursor to the first item in the list.

                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, does the following:  If an
                    extended selection has been made from the current
                    anchor point, restores the selection state of the
                    items in that range to their state before the
                    extended selection was done.  Changes the
                    selection state of the first item and all items
                    between it and the current anchor point to the
                    state of the item at the current anchor point.
                    Calls the XmNextendedSelectionCallback callbacks.

          ListBeginExtend():
                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, does the following:  If an
                    extended selection has been made from the current
                    anchor point, restores the selection state of the
                    items in that range to their state before the
                    extended selection was done.  Changes the
                    selection state of the item under the pointer and
                    all items between it and the current anchor point
                    to the state of the item at the current anchor
                    point.  If XmNautomaticSelection is set to True,
                    calls the XmNextendedSelectionCallback callbacks.

          ListBeginLine():
                    Moves the horizontal scroll region to the
                    beginning of the line.

          ListBeginSelect():
                    If the XmNselectionPolicy is set to
                    XmSINGLESELECT, deselects any current selection
                    and toggles the selection state of the item under
                    the pointer.

                    If the XmNselectionPolicy is set to
                    XmBROWSESELECT, deselects any current selection
                    and selects the item under the pointer.  If
                    XmNautomaticSelection is set to True, calls the
                    XmNbrowseSelectionCallback callbacks.

                    If the XmNselectionPolicy is set to
                    XmMULTIPLESELECT, toggles the selection state of
                    the item under the pointer.  Any previous
                    selections remain.

                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, deselects any current



     12                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



                    selection, selects the item under the pointer, and
                    sets the current anchor at that item.  If
                    XmNautomaticSelection is set to True, calls the
                    XmNextendedSelectionCallback callbacks.

          ListBeginToggle():
                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, does the following:  Moves the
                    current anchor to the item under the pointer
                    without changing the current selection.  If the
                    item is unselected, it is selected; if the item is
                    selected, it is unselected.  If
                    XmNautomaticSelection is set to True, calls the
                    XmNextendedSelectionCallback callbacks.

          ListButtonMotion():
                    If the XmNselectionPolicy is set to
                    XmBROWSESELECT, deselects any current selection
                    and selects the item under the
                    pointer.  If XmNautomaticSelection is set to True
                    and the pointer has entered a new list item, calls
                    the XmNbrowseSelectionCallback callbacks.

                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, does the following:  If an
                    extended selection is being made and an extended
                    selection has previously been made from the
                    current anchor point, restores the selection state
                    of the items in that range to their state before
                    the previous extended selection was done.  Changes
                    the selection state of the item under the pointer
                    and all items between it and the current anchor
                    point to the state of the item at the current
                    anchor point.  If XmNautomaticSelection is set to
                    True and the pointer has entered a new list item,
                    calls the XmNextendedSelectionCallback callbacks.

                    If the pointer leaves a scrolled list, this action
                    scrolls the list in the direction of the pointer
                    motion.

          ListCopyToClipboard()
                    Copies the content of the selected items to the
                    clipboard as a single compound string with each
                    item separated by a newline.

          ListEndData():
                    Moves the location cursor to the last item in the
                    list.  In Normal Mode, this also deselects any
                    current selection, selects the last item in the
                    list, and calls the appropriate selection
                    callbacks (XmNbrowseSelectionCallback when



     13                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



                    XmNselectionPolicy is set to XmBROWSESELECT,
                    XmNextendedSelectionCallback when
                    XmNselectionPolicy is set to XmEXTENDEDSELECT).

          ListEndDataExtend():
                    If the XmNselectionPolicy is set to
                    XmMULTIPLESELECT or XmEXTENDEDSELECT, moves the
                    location cursor to the last item in the list.

                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, does the following:  If an
                    extended selection has been made from the current
                    anchor point, restores the selection state of the
                    items in that range to their state before the
                    extended selection was done.  Changes the
                    selection state of the last item and all items
                    between it and the current anchor point to the
                    state of the item at the current anchor point.
                    Calls the XmNextendedSelectionCallback callbacks.

          ListEndExtend():
                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, moves the location cursor to
                    the last item selected or deselected and, if
                    XmNautomaticSelection is set to False, calls the
                    XmNextendedSelectionCallback callbacks.

          ListEndLine():
                    Moves the horizontal scroll region to the end of
                    the line.

          ListEndSelect():
                    If the XmNselectionPolicy is set to
                    XmSINGLESELECT or XmMULTIPLESELECT, moves the
                    location cursor to the last item selected or
                    deselected and calls the appropriate selection
                    callbacks (XmNsingleSelectionCallback when
                    XmNselectionPolicy is set to XmSINGLESELECT,
                    XmNmultipleSelectionCallback when
                    XmNselectionPolicy is set to XmMULTIPLESELECT).

                    If the XmNselectionPolicy is set to
                    XmBROWSESELECT or XmEXTENDEDSELECT, moves the
                    location cursor to the last item selected or
                    deselected and, if XmNautomaticSelection is set to
                    False, calls the appropriate selection callbacks
                    (XmNbrowseSelectionCallback when
                    XmNselectionPolicy is set to XmBROWSESELECT,
                    XmNextendedSelectionCallback when
                    XmNselectionPolicy is set to XmEXTENDEDSELECT).

          ListEndToggle():



     14                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, moves the location cursor to
                    the last item selected or deselected and, if
                    XmNautomaticSelection is set to False, calls the
                    XmNextendedSelectionCallback callbacks.

          ListExtendNextItem():
                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, does the following:  If an
                    extended selection has been made from the current
                    anchor point, restores the selection state of the
                    items in that range to their state before the
                    extended selection was done.  Moves the location
                    cursor to the next item and changes the selection
                    state of the item and all items between it and the
                    current anchor point to the state of the item at
                    the current anchor point.  Calls the
                    XmNextendedSelectionCallback callbacks.

          ListExtendPrevItem():
                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, does the following:  If an
                    extended selection has been made from the current
                    anchor point, restores the selection state of the
                    items in that range to their state before the
                    extended selection was done.  Moves the location
                    cursor to the previous item and changes the
                    selection state of the item and all items between
                    it and the current anchor point to the state of
                    the item at the current anchor point.  Calls the
                    XmNextendedSelectionCallback callbacks.

          ListScrollCursorVertically(percentage):
                    Scrolls the line containing the insertion cursor
                    vertically to an intermediate position in the
                    visible window based on an input percentage.  A
                    value of 0 indicates the top of the window; a
                    value of 100, the bottom of the window.   If this
                    action is called with no argument, the line
                    containing the insertion cursor is scrolled
                    vertically to a new position designated by the y
                    event passed to the routine.

          ListKbdActivate():
                    Calls the callbacks for XmNdefaultActionCallback.
                    If the List's parent is a manager, this action
                    passes the event to the parent.

          ListKbdBeginExtend():
                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, does the following:  If an
                    extended selection has been made from the current



     15                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



                    anchor point, restores the selection state of the
                    items in that range to their state before the
                    extended selection was done.  Changes the
                    selection state of the item at the location cursor
                    and all items between it and the current anchor
                    point to the state of the item at the current
                    anchor point.  If XmNautomaticSelection is set to
                    True, calls the XmNextendedSelectionCallback
                    callbacks.

          ListKbdBeginSelect():
                    If the XmNselectionPolicy is set to
                    XmSINGLESELECT, deselects any current selection
                    and toggles the state of the item at the location
                    cursor.

                    If the XmNselectionPolicy is set to
                    XmBROWSESELECT, deselects any current selection
                    and selects the item at the location cursor.  If
                    XmNautomaticSelection is set to True, calls the
                    XmNbrowseSelectionCallback callbacks.

                    If the XmNselectionPolicy is set to
                    XmMULTIPLESELECT, toggles the selection state of
                    the item at the location cursor.  Any previous
                    selections remain.

                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, moves the current anchor to the
                    item at the location cursor.  In Normal Mode,
                    deselects any current selection and selects the
                    item at the location cursor.  In Add Mode, toggles
                    the selection state of the item at the location
                    cursor and leaves the current selection unchanged.
                    If XmNautomaticSelection is set to True, calls the
                    XmNextendedSelectionCallback callbacks.

          ListKbdCancel():
                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT and an extended selection is
                    being made from the current anchor point, cancels
                    the new selection and restores the selection state
                    of the items in that range to their state before
                    the extended selection was done.  If
                    XmNautomaticSelection is set to True, calls the
                    XmNextendedSelectionCallback callbacks, otherwise,
                    and if the parent is a manager, passes the event
                    to the parent.

          ListKbdDeSelectAll():
                    If the XmNselectionPolicy is set to
                    XmSINGLESELECT, XmMULTIPLESELECT, or



     16                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



                    XmEXTENDEDSELECT in Add Mode, deselects all items
                    in the list.  If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT in Normal Mode, deselects all
                    items in the list (except the item at the location
                    cursor if the shell's XmNkeyboardFocusPolicy is
                    XmEXPLICIT).  Calls the appropriate selection
                    callbacks (XmNsingleSelectionCallback when
                    XmNselectionPolicy is set to XmSINGLESELECT,
                    XmNmultipleSelectionCallback when
                    XmNselectionPolicy is set to XmMULTIPLESELECT,
                    XmNextendedSelectionCallback when
                    XmNselectionPolicy is set to XmEXTENDEDSELECT).

          ListKbdEndExtend():
                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT and if XmNautomaticSelection is
                    set to False, calls the
                    XmNextendedSelectionCallback callbacks.

          ListKbdEndSelect():
                    If the XmNselectionPolicy is set to
                    XmSINGLESELECT or XmMULTIPLESELECT or if
                    XmNautomaticSelection is set to False, calls the
                    appropriate selection callbacks
                    (XmNsingleSelectionCallback when
                    XmNselectionPolicy is set to XmSINGLESELECT,
                    XmNbrowseSelectionCallback when XmNselectionPolicy
                    is set to XmBROWSESELECT,
                    XmNmultipleSelectionCallback when
                    XmNselectionPolicy is set to XmMULTIPLESELECT,
                    XmNextendedSelectionCallback when
                    XmNselectionPolicy is set to XmEXTENDEDSELECT).

          ListKbdSelectAll():
                    If the XmNselectionPolicy is set to
                    XmSINGLESELECT or XmBROWSESELECT, selects the
                    item at the location cursor.  If the
                    XmNselectionPolicy is set to XmEXTENDEDSELECT or
                    XmMULTIPLESELECT, selects all items in the list.
                    Calls the appropriate selection callbacks
                    (XmNsingleSelectionCallback when
                    XmNselectionPolicy is set to XmSINGLESELECT,
                    XmNbrowseSelectionCallback when XmNselectionPolicy
                    is set to XmBROWSESELECT,
                    XmNmultipleSelectionCallback when
                    XmNselectionPolicy is set to XmMULTIPLESELECT,
                    XmNextendedSelectionCallback when
                    XmNselectionPolicy is set to XmEXTENDEDSELECT).

          ListLeftChar():
                    Scrolls the list one character to the left.




     17                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



          ListLeftPage():
                    Scrolls the list one page to the left.

          ListNextItem():
                    Moves the location cursor to the next item in the
                    list.

                    If the XmNselectionPolicy is set to
                    XmBROWSESELECT, this action also selects the next
                    item, deselects any current selection, and calls
                    the XmNbrowseSelectionCallback callbacks.

                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, this action in Normal Mode also
                    selects the next item, deselects any current
                    selection, moves the current anchor to the next
                    item, and calls the XmNextendedSelectionCallback
                    callbacks.  In Add Mode this action does not
                    affect the selection or the anchor.

          ListNextPage():
                    Scrolls the list to the next page, moving the
                    location cursor to a new item.

                    If the XmNselectionPolicy is set to
                    XmBROWSESELECT, this action also selects the new
                    item, deselects any current selection, and calls
                    the XmNbrowseSelectionCallback callbacks.

                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, this action in Normal Mode also
                    selects the new item, deselects any current
                    selection, moves the current anchor to the new
                    item, and calls the XmNextendedSelectionCallback
                    callbacks.  In Add Mode this action does not
                    affect the selection or the anchor.

          ListPrevItem():
                    Moves the location cursor to the previous item in
                    the list.

                    If the XmNselectionPolicy is set to
                    XmBROWSESELECT, this action also selects the
                    previous item, deselects any current selection,
                    and calls the XmNbrowseSelectionCallback
                    callbacks.

                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, this action in Normal Mode also
                    selects the previous item, deselects any current
                    selection, moves the current anchor to the
                    previous item, and calls the



     18                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



                    XmNextendedSelectionCallback callbacks.  In Add
                    Mode this action does not affect the selection or
                    the anchor.

          ListPrevPage():
                    Scrolls the list to the previous page, moving the
                    location cursor to a new item.

                    If the XmNselectionPolicy is set to
                    XmBROWSESELECT, this action also selects the new
                    item, deselects any current selection, and calls
                    the XmNbrowseSelectionCallback callbacks.

                    If the XmNselectionPolicy is set to
                    XmEXTENDEDSELECT, this action in Normal Mode also
                    selects the new item, deselects any current
                    selection, moves the current anchor to the new
                    item, and calls the XmNextendedSelectionCallback
                    callbacks.  In Add Mode this action does not
                    affect the selection or the anchor.

          ListProcessDrag():
                    Drags the content of a one or more selected list
                    items.  Each item is separated by a newline.  This
                    action creates a DragContext object whose
                    XmNexportTargets resource is set to
                    "COMPOUND_TEXT" and the XmNclientData resource is
                    set to the index of the item in the list.  If
                    BDrag is pressed on an unselected item, drags only
                    that item, excluding any other selected items.

          ListRightChar():
                    Scrolls the list one character to the right.

          ListRightPage():
                    Scrolls the list one page to the right.

          PrimitiveHelp():
                    Calls the callbacks for XmNhelpCallback if any
                    exist.  If there are no help callbacks for this
                    widget, this action calls the help callbacks for
                    the nearest ancestor that has them.

          PrimitiveNextTabGroup():
                    Moves the focus to the first item contained within
                    the next tab group.  If the current tab group is
                    the last entry in the tab group list, it wraps to
                    the beginning of the tab group list.

          PrimitivePrevTabGroup():
                    Moves the focus to the first item contained within
                    the previous tab group.  If the beginning of the



     19                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



                    tab group list is reached, it wraps to the end of
                    the tab group list.


        Additional Behavior
          The List widget has the additional behavior described below:


          <Double Click>
                    If a button click is followed by another button
                    click within the time span specified by the
                    display's multi-click time, the List interprets
                    that as a double click and calls the callbacks for
                    XmNdefaultActionCallback.  The item's colors
                    invert to indicate that it is selected.  The
                    XmNdoubleClickInterval resource can be used to
                    specify a time span that overrides the display's
                    multi-click time.

          <FocusIn>:
                    If the focus policy is Explicit, sets the focus
                    and draw the location cursor.

          <FocusOut>:
                    If the focus policy is Explicit, removes the focus
                    and erase the location cursor.


        Virtual Bindings
          The bindings for virtual keys are vendor specific.  For
          information about bindings for virtual buttons and keys, see
          VirtualBindings(3X).

     RELATED INFORMATION
          Core(3X), XmCreateList(3X), XmCreateScrolledList(3X),
          XmFontListAppendEntry(3X), XmListAddItem(3X),
          XmListAddItems(3X), XmListAddItemUnselected(3X),
          XmListAddItemsUnselected(3X), XmListDeleteAllItems(3X),
          XmListDeleteItem(3X), XmListDeleteItems(3X),
          XmListDeleteItemsPos(3X), XmListDeletePos(3X),
          XmListDeletePositions(3X), XmListDeselectAllItems(3X),
          XmListDeselectItem(3X), XmListDeselectPos(3X),
          XmListGetKbdItemPos XmListGetMatchPos(3X),
          XmListGetSelectedPos(3X), XmListItemExists(3X),
          XmListItemPos(3X), XmListPosToBounds(3X),
          XmListReplaceItems(3X), XmListReplaceItemsPos(3X),
          XmListReplaceItemsPositions(3X),
          XmListReplaceItemsPosUnselected(3X),
          XmListReplaceItemsUnselected(3X), XmListSelectItem(3X),
          XmListSelectPos(3X), XmListSetAddMode(3X),
          XmListSetBottomItem(3X), XmListSetBottomPos(3X),
          XmListSetHorizPos(3X), XmListSetItem(3X),



     20                                               (printed 6/8/92)





     XmList(3X)                UNIX System V                XmList(3X)



          XmListSetKbdItemPos(3X), XmListSetPos(3X),
          XmListUpdateSelectedList(3X), XmListYToPos(3X),
          XmPrimitive(3X) and XmStringCreate(3X).




















































     21                                               (printed 6/8/92)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026