Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmList(3X) — DG/UX 5.4R3.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



XmList(3X)                    X11 SDE 5.4R3.00                    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 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.



Licensed material--property of copyright holder(s)                         1




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


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.

   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



Licensed material--property of copyright holder(s)                         2




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


       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 change if the value is
                 True and the selection mode is either XmBROWSE_SELECT or
                 XmEXTENDED_SELECT 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
                 XmCR_BROWSE_SELECT.

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










Licensed material--property of copyright holder(s)                         3




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


                 XmCR_DEFAULT_ACTION.

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

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













Licensed material--property of copyright holder(s)                         4




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


                 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 XmRESIZE_IF_POSSIBLE,
                 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
                 XmCR_MULTIPLE_SELECT.

       XmNscrollBarDisplayPolicy
                 Controls the display of vertical ScrollBars in a
                 ScrolledList.  When the value of this resource is
                 XmAS_NEEDED, 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










Licensed material--property of copyright holder(s)                         5




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


                 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:


                   ⊕  XmSINGLE_SELECT--allows only single selections

                   ⊕  XmMULTIPLE_SELECT--allows multiple selections

                   ⊕  XmEXTENDED_SELECT--allows extended selections

                   ⊕  XmBROWSE_SELECT"--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
                 XmCR_SINGLE_SELECT.

       XmNstringDirection
                 Specifies the initial direction to draw the string.  The
                 values are XmSTRING_DIRECTION_L_TO_R and
                 XmSTRING_DIRECTION_R_TO_L.  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 XmSTRING_DIRECTION_L_TO_R.



Licensed material--property of copyright holder(s)                         6




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


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




Licensed material--property of copyright holder(s)                         7




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


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;
         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_position
                     Is 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



Licensed material--property of copyright holder(s)                         8




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


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


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

              Reason                            Valid Fields
       -----------------------------------------------------------------------
       XmCRSINGLESELECT     reason, event, item, itemlength, itemposition
       -----------------------------------------------------------------------
       XmCRDEFAULTACTION    reason, event, item, itemlength,
                              itemposition, selecteditems,
                              selecteditemcount, selecteditempositions
       -----------------------------------------------------------------------
       -----------------------------------------------------------------------
       XmCRBROWSESELECT     reason, event, item, itemlength, itemposition
       -----------------------------------------------------------------------
       XmCRMULTIPLESELECT   reason, event, item, itemlength,
                              itemposition, selecteditems,
                              selecteditemcount, selecteditempositions
       -----------------------------------------------------------------------
       XmCREXTENDEDSELECT   reason, event, item, itemlength,
                              itemposition, selecteditems,
                              selecteditemcount, selecteditempositions,
                              selectiontype

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










Licensed material--property of copyright holder(s)                         9




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


       KUp:           ListPrevItem() MShift KUp:    ListExtendPrevItem()

       KDown:         ListNextItem() MShift KDown:  ListExtendNextItem()

       KLeft:         ListLeftChar() MCtrl KLeft:   ListLeftPage()

       KRight:        ListRightChar() MCtrl KRight:  ListRightPage()

       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 XmBROWSE_SELECT,
                 XmNextendedSelectionCallback when XmNselectionPolicy is set
                 to XmEXTENDED_SELECT).

       ListBeginDataExtend():
                 If the XmNselectionPolicy is set to XmMULTIPLE_SELECT or
                 XmEXTENDED_SELECT, moves the location cursor to the first



Licensed material--property of copyright holder(s)                        10




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


                 item in the list.

       If the XmNselectionPolicy is set to XmEXTENDED_SELECT, 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 XmEXTENDED_SELECT, 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 XmSINGLE_SELECT,
                 deselects any current selection and toggles the selection
                 state of the item under the pointer.

       If the XmNselectionPolicy is set to XmBROWSE_SELECT, 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 XmMULTIPLE_SELECT, toggles the
       selection state of the item under the pointer.  Any previous
       selections remain.

       If the XmNselectionPolicy is set to XmEXTENDED_SELECT, deselects any
       current 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 XmEXTENDED_SELECT, 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.





Licensed material--property of copyright holder(s)                        11




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


       ListButtonMotion():
                 If the XmNselectionPolicy is set to XmBROWSE_SELECT,
                 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 XmEXTENDED_SELECT, 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 XmNselectionPolicy is set to XmBROWSE_SELECT,
                 XmNextendedSelectionCallback when XmNselectionPolicy is set
                 to XmEXTENDED_SELECT).

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

       If the XmNselectionPolicy is set to XmEXTENDED_SELECT, 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 XmEXTENDED_SELECT,
                 moves the location cursor to the last item selected or
                 deselected and, if XmNautomaticSelection is set to False,
                 calls the XmNextendedSelectionCallback callbacks.



Licensed material--property of copyright holder(s)                        12




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


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

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

       If the XmNselectionPolicy is set to XmBROWSE_SELECT or
       XmEXTENDED_SELECT, 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 XmBROWSE_SELECT,
       XmNextendedSelectionCallback when XmNselectionPolicy is set to
       XmEXTENDED_SELECT).

       ListEndToggle():
                 If the XmNselectionPolicy is set to XmEXTENDED_SELECT,
                 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 XmEXTENDED_SELECT, 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 XmEXTENDED_SELECT, 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



Licensed material--property of copyright holder(s)                        13




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


                 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 XmEXTENDED_SELECT, 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 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 XmSINGLE_SELECT,
                 deselects any current selection and toggles the state of
                 the item at the location cursor.

       If the XmNselectionPolicy is set to XmBROWSE_SELECT, 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 XmMULTIPLE_SELECT, toggles the
       selection state of the item at the location cursor.  Any previous
       selections remain.

       If the XmNselectionPolicy is set to XmEXTENDED_SELECT, 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 XmEXTENDED_SELECT 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 XmSINGLE_SELECT,
                 XmMULTIPLE_SELECT, or XmEXTENDED_SELECT in Add Mode,



Licensed material--property of copyright holder(s)                        14




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


                 deselects all items in the list.  If the XmNselectionPolicy
                 is set to XmEXTENDED_SELECT 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 XmSINGLE_SELECT, XmNmultipleSelectionCallback when
                 XmNselectionPolicy is set to XmMULTIPLE_SELECT,
                 XmNextendedSelectionCallback when XmNselectionPolicy is set
                 to XmEXTENDED_SELECT).

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

       ListKbdEndSelect():
                 If the XmNselectionPolicy is set to XmSINGLE_SELECT or
                 XmMULTIPLE_SELECT or if XmNautomaticSelection is set to
                 False, calls the appropriate selection callbacks
                 (XmNsingleSelectionCallback when XmNselectionPolicy is set
                 to XmSINGLE_SELECT, XmNbrowseSelectionCallback when
                 XmNselectionPolicy is set to XmBROWSE_SELECT,
                 XmNmultipleSelectionCallback when XmNselectionPolicy is set
                 to XmMULTIPLE_SELECT, XmNextendedSelectionCallback when
                 XmNselectionPolicy is set to XmEXTENDED_SELECT).

       ListKbdSelectAll():
                 If the XmNselectionPolicy is set to XmSINGLE_SELECT or
                 XmBROWSE_SELECT, selects the item at the location cursor.
                 If the XmNselectionPolicy is set to XmEXTENDED_SELECT or
                 XmMULTIPLE_SELECT, selects all items in the list.  Calls
                 the appropriate selection callbacks
                 (XmNsingleSelectionCallback when XmNselectionPolicy is set
                 to XmSINGLE_SELECT, XmNbrowseSelectionCallback when
                 XmNselectionPolicy is set to XmBROWSE_SELECT,
                 XmNmultipleSelectionCallback when XmNselectionPolicy is set
                 to XmMULTIPLE_SELECT, XmNextendedSelectionCallback when
                 XmNselectionPolicy is set to XmEXTENDED_SELECT).

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

       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 XmBROWSE_SELECT, this action also
       selects the next item, deselects any current selection, and calls the
       XmNbrowseSelectionCallback callbacks.





Licensed material--property of copyright holder(s)                        15




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


       If the XmNselectionPolicy is set to XmEXTENDED_SELECT, 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 XmBROWSE_SELECT, this action also
       selects the new item, deselects any current selection, and calls the
       XmNbrowseSelectionCallback callbacks.

       If the XmNselectionPolicy is set to XmEXTENDED_SELECT, 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 XmBROWSE_SELECT, this action also
       selects the previous item, deselects any current selection, and calls
       the XmNbrowseSelectionCallback callbacks.

       If the XmNselectionPolicy is set to XmEXTENDED_SELECT, 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 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 XmBROWSE_SELECT, this action also
       selects the new item, deselects any current selection, and calls the
       XmNbrowseSelectionCallback callbacks.

       If the XmNselectionPolicy is set to XmEXTENDED_SELECT, 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



Licensed material--property of copyright holder(s)                        16




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(3X)


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



Licensed material--property of copyright holder(s)                        17




XmList(3X)                    X11 SDE 5.4R3.00                    XmList(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),
       XmListSetKbdItemPos(3X), XmListSetPos(3X),
       XmListUpdateSelectedList(3X), XmListYToPos(3X), XmPrimitive(3X) and
       XmStringCreate(3X).









































Licensed material--property of copyright holder(s)                        18


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