XmSelectionBox(3X)

XmSelectionBox - The SelectionBox widget class

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.5.

     NAME
          XmSelectionBox - The SelectionBox widget class

     SYNOPSIS
          #include <Xm/SelectioB.h>

     VERSION
          This page documents Motif 2.1.

     DESCRIPTION
          SelectionBox is a general dialog widget that allows the user
          to select one item from a list.  By default, a SelectionBox
          includes the following:

             o  A scrolling list of alternatives

             o  An editable text field for the selected alternative

             o  Labels for the list and text field

             o  Three or four buttons

          The default button labels are OK, Cancel, and Help.  By
          default an Apply button is also created; if the parent of
          the SelectionBox is a DialogShell, it is managed; otherwise
          it is unmanaged.  Additional children may be added to the
          SelectionBox after creation.  The first child is used as a
          work area. The value of XmNchildPlacement determines if the
          work area is placed above or below the Text area, or above
          or below the List area. Additional children are laid out in
          the following manner:

          Menubar   The first menu bar child is placed at the top of
                    the window.  The XmQTmenuSystem trait is used to
                    check that it is the first MenuBar child.

          Buttons   All XmPushButtonwidgets or gadgets, and their
                    subclasses are placed after the OK button in the
                    order of their creation (this order is checked
                    using the XmQTactivatable trait).  The layout
                    direction of the buttons depends on the
                    XmNlayoutDirection resource.

          The layout of additional children that are not in the above
          categories is undefined.

          The user can select an item in two ways:  by scrolling
          through the list and selecting the desired item or by
          entering the item name directly into the text edit area.
          Selecting an item from the list causes that item name to
          appear in the selection text edit area.

          The user may select a new item as many times as desired. The
          item is not actually selected until the user presses the OK
          PushButton.

          The default value for the XmBulletinBoard resource
          XmNcancelButton is the Cancel button, unless XmNdialogType
          is XmDIALOG_COMMAND, when the default is NULL.  The default
          value for the XmBulletinBoardXmNdefaultButton resource is
          the OK button, unless XmNdialogType is XmDIALOG_COMMAND,
          when the default is NULL.

          For SelectionBox and its subclasses, the default value for
          XmNinitialFocus is the text edit area.

          The user can specify resources in a resource file for the
          automatically created widgets and gadgets of SelectionBox.
          The following list identifies the names of these widgets (or
          gadgets) and the associated SelectionBox areas:

          List Items Label
                    Items

          List Items
                    ItemsList

          Selection Label
                    Selection

          Selection Text
                    Text or TextField

          Selection Separator
                    Separator

          SelectionBox uses the XmQTaccessTextual, XmQTactivatable,
          and XmQTmenuSystem traits.

        Descendants
          SelectionBox automatically creates the descendants shown in
          the following table.  An application can use XtNameToWidget
          to gain access to the named descendant. In addition, a user
          or an application can use the named descendant when
          specifying resource values.
          Named Descendant   Class                Identity
          __________________________________________________________________________
          Apply              XmPushButtonGadget   Apply button
          Cancel             XmPushButtonGadget   Cancel button
          Help               XmPushButtonGadget   Help button
          Items              XmLabelGadget        title above the list of items
          ItemsList          XmList               list of items from which the user

                                                  will select
     ItemsListSW        XmScrolledWindow     ScrolledWindow parent of ItemsList
     OK                 XmPushButtonGadget   OK button
     Selection          XmLabelGadget        title above the selection box
     Separator          XmSeparatorGadget    dividing line between selection
                                             box and buttons
     Text               XmTextField          selection box containing text of
                                             selected item

        Classes
          SelectionBox inherits behavior, resources, and traits from
          Core, Composite, Constraint, XmManager, and XmBulletinBoard.

          The class pointer is xmSelectionBoxWidgetClass.

          The class name is XmSelectionBox.

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

                                               XmSelectionBox Resource Set
          Name                      Class                     Type             Default                   Access
          XmNapplyCallback          XmCCallback               XtCallbackList   NULL                      C
          XmNapplyLabelString       XmCApplyLabelString       XmString         dynamic                   CSG
          XmNcancelCallback         XmCCallback               XtCallbackList   NULL                      C
          XmNcancelLabelString      XmCCancelLabelString      XmString         dynamic                   CSG
          XmNchildPlacement         XmCChildPlacement         unsigned char    XmPLACE_ABOVE_SELECTION   CSG
          XmNdialogType             XmCDialogType             unsigned char    dynamic                   CG
          XmNhelpLabelString        XmCHelpLabelString        XmString         dynamic                   CSG
          XmNlistItemCount          XmCItemCount              int              0                         CSG
          XmNlistItems              XmCItems                  XmStringTable    NULL                      CSG
          XmNlistLabelString        XmCListLabelString        XmString         dynamic                   CSG
          XmNlistVisibleItemCount   XmCVisibleItemCount       int              dynamic                   CSG
          XmNminimizeButtons        XmCMinimizeButtons        Boolean          False                     CSG
          XmNmustMatch              XmCMustMatch              Boolean          False                     CSG
          XmNnoMatchCallback        XmCCallback               XtCallbackList   NULL                      C
          XmNokCallback             XmCCallback               XtCallbackList   NULL                      C
          XmNokLabelString          XmCOkLabelString          XmString         dynamic                   CSG

          XmNselectionLabelString   XmCSelectionLabelString   XmString         dynamic                   CSG
          XmNtextAccelerators       XmCTextAccelerators       XtAccelerators   default                   C
          XmNtextColumns            XmCColumns                short            dynamic                   CSG
          XmNtextString             XmCTextString             XmString         ""                        CSG

          XmNapplyCallback
                    Specifies the list of callbacks called when the
                    user activates the Applybutton. The callback
                    reason is XmCR_APPLY.

          XmNapplyLabelString
                    Specifies the string label for the Apply button.
                    The default for this resource depends on the
                    locale.  In the C locale the default is Apply.

                    Now that some default localized label strings are
                    provided through message catalogs for the children
                    of composite widgets, the labelString resources
                    cannot be set on the child through default
                    resource files.  Instead, the resource provided at
                    the parent level must be used.

          XmNcancelCallback
                    Specifies the list of callbacks called when the
                    user activates the Cancel button. The callback
                    reason is XmCR_CANCEL.

          XmNcancelLabelString
                    Specifies the string label for the Cancel button.
                    The default for this resource depends on the
                    locale.  In the C locale the default is Cancel.

                    Now that some default localized label strings are
                    provided through message catalogs for the children
                    of composite widgets, the labelString resources
                    cannot be set on the child through default
                    resource files.  Instead, the resource provided at
                    the parent level must be used.

          XmNchildPlacement
                    Specifies the placement of the work area child.
                    The possible values are

                    XmPLACE_ABOVE_SELECTION
                              Places the work area child above the
                              Text area

                    XmPLACE_BELOW_SELECTION
                              Places the work area child below the
                              Text area

                    XmPLACE_TOP
                              Places the work area child above the
                              List area, and below a MenuBar, if one
                              is present

          XmNdialogType
                    Determines the set of SelectionBox children
                    widgets that are created and managed at
                    initialization. The possible values are

                    XmDIALOG_PROMPT
                              All standard children except the list
                              and list label are created, and all
                              except the Apply button are managed

                    XmDIALOG_COMMAND
                              Only the list, the selection label, and
                              the text field are created and managed

                    XmDIALOG_SELECTION
                              All standard children are created and
                              managed

                    XmDIALOG_FILE_SELECTION
                              All standard children are created and
                              managed

                    XmDIALOG_WORK_AREA
                              All standard children are created, and
                              all except the Apply button are managed

                    If the parent of the SelectionBox is a
                    DialogShell, the default is XmDIALOG_SELECTION;
                    otherwise, the default is XmDIALOG_WORK_AREA.
                    XmCreatePromptDialog and XmCreateSelectionDialog
                    set and append this resource to the creation
                    arglist supplied by the application.  This
                    resource cannot be modified after creation.

          XmNhelpLabelString
                    Specifies the string label for the Help button.
                    The default for this resource depends on the
                    locale.  In the C locale the default is Help.

                    Now that some default localized label strings are
                    provided through message catalogs for the children
                    of composite widgets, the labelString resources
                    cannot be set on the child through default
                    resource files.  Instead, the resource provided at
                    the parent level must be used.

          XmNlistItems
                    Specifies the items in the SelectionBox list.
                    XtGetValues for this resource returns the list
                    items themselves, not a copy of the list items.
                    The application must not free the returned items.

          XmNlistItemCount
                    Specifies the number of items in the SelectionBox
                    list.  The value must not be negative.

          XmNlistLabelString
                    Specifies the string label to appear above the
                    SelectionBox list containing the selection items.
                    The default for this resource depends on the
                    locale.  In the C locale the default is
                    Itemsunless XmNdialogType is XmDIALOG_PROMPT; in
                    this case the default is NULL.

                    Now that some default localized label strings are
                    provided through message catalogs for the children
                    of composite widgets, the labelString resources
                    cannot be set on the child through default
                    resource files.  Instead, the resource provided at
                    the parent level must be used.

          XmNlistVisibleItemCount
                    Specifies the number of items displayed in the
                    SelectionBox list.  The value must be greater than
                    0 (zero) unless XmNdialogType is XmDIALOG_PROMPT;
                    in this case, the value is always 0.  The default
                    is dynamic based on the height of the list.

          XmNminimizeButtons
                    Sets the buttons to the width of the widest button
                    and height of the tallest button if False. If
                    True, button width and height are not modified.

          XmNmustMatch
                    Specifies whether the selection widget should
                    check if the user's selection in the text edit
                    field has an exact match in the SelectionBox list
                    when the OK button is activated.  If the selection
                    does not have an exact match, and XmNmustMatch is
                    True, the XmNnoMatchCallback callbacks are called.
                    If the selection does have an exact match or if
                    XmNmustMatch is False, XmNokCallback callbacks are
                    called.

          XmNnoMatchCallback
                    Specifies the list of callbacks called when the
                    user makes a selection from the text edit field
                    that does not have an exact match with any of the
                    items in the list box.  The callback reason is
                    XmCR_NO_MATCH.  Callbacks in this list are called
                    only if XmNmustMatchis true.

          XmNokCallback
                    Specifies the list of callbacks called when the
                    user activates the OK button.  The callback reason
                    is XmCR_OK.  If the selection text does not match
                    a list item, and XmNmustMatch is True, the
                    XmNnoMatchCallback callbacks are called instead.

          XmNokLabelString
                    Specifies the string label for the OK button.  The
                    default for this resource depends on the locale.
                    In the C locale the default is OK.

                    Now that some default localized label strings are
                    provided through message catalogs for the children
                    of composite widgets, the labelString resources
                    cannot be set on the child through default
                    resource files.  Instead, the resource provided at
                    the parent level must be used.

          XmNselectionLabelString
                    Specifies the string label for the selection text
                    edit field.  The default for this resource depends
                    on the locale.  In the C locale the default is
                    Selection.

                    Now that some default localized label strings are
                    provided through message catalogs for the children
                    of composite widgets, the labelString resources
                    cannot be set on the child through default
                    resource files.  Instead, the resource provided at
                    the parent level must be used.

          XmNtextAccelerators
                    Specifies translations added to the Text widget
                    child of the SelectionBox.  The default includes
                    bindings for the up and down keys for auto
                    selection of list items.  This resource is ignored
                    if XmNaccelerators is initialized to a nondefault
                    value.

          XmNtextColumns
                    Specifies the number of columns in the Text
                    widget.  The value must be greater than 0 (zero).

          XmNtextString
                    Specifies the text in the text edit selection
                    field.

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

                                      XmBulletinBoard Resource Set
          Name                   Class                  Type             Default        Access
          XmNallowOverlap        XmCAllowOverlap        Boolean          True           CSG
          XmNautoUnmanage        XmCAutoUnmanage        Boolean          True           CG
          XmNbuttonFontList      XmCButtonFontList      XmFontList       dynamic        CSG
          XmNbuttonRenderTable   XmCButtonRenderTable   XmRenderTable    dynamic        CSG
          XmNcancelButton        XmCWidget              Widget           dynamic        SG
          XmNdefaultButton       XmCWidget              Widget           dynamic        SG
          XmNdefaultPosition     XmCDefaultPosition     Boolean          True           CSG
          XmNdialogStyle         XmCDialogStyle         unsigned char    dynamic        CSG
          XmNdialogTitle         XmCDialogTitle         XmString         NULL           CSG
          XmNfocusCallback       XmCCallback            XtCallbackList   NULL           C
          XmNlabelFontList       XmCLabelFontList       XmFontList       dynamic        CSG
          XmNlabelRenderTable    XmCLabelRenderTable    XmRenderTable    dynamic        CSG
          XmNmapCallback         XmCCallback            XtCallbackList   NULL           C
          XmNmarginHeight        XmCMarginHeight        Dimension        10             CSG
          XmNmarginWidth         XmCMarginWidth         Dimension        10             CSG
          XmNnoResize            XmCNoResize            Boolean          False          CSG
          XmNresizePolicy        XmCResizePolicy        unsigned char    XmRESIZE_ANY   CSG
          XmNshadowType          XmCShadowType          unsigned char    XmSHADOW_OUT   CSG
          XmNtextFontList        XmCTextFontList        XmFontList       dynamic        CSG
          XmNtextRenderTable     XmCTextRenderTable     XmRenderTable    dynamic        CSG
          XmNtextTranslations    XmCTranslations        XtTranslations   NULL           C
          XmNunmapCallback       XmCCallback            XtCallbackList   NULL           C

                                                XmManager 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
          XmNhighlightPixmap        XmCHighlightPixmap      Pixmap              dynamic                CSG
          XmNinitialFocus           XmCInitialFocus         Widget              dynamic                CSG
          XmNlayoutDirection        XmCLayoutDirection      XmDirection         dynamic                CG
          XmNnavigationType         XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
          XmNpopupHandlerCallback   XmCCallback             XtCallbackList      NULL                   C
          XmNshadowThickness        XmCShadowThickness      Dimension           dynamic                CSG
          XmNstringDirection        XmCStringDirection      XmStringDirection   dynamic                CG
          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

                                  Composite Resource Set

          Name                Class               Type          Default   Access
          XmNchildren         XmCReadOnly         WidgetList    NULL      G
          XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
          XmNnumChildren      XmCReadOnly         Cardinal      0         G

                                                        Core Resource Set
          Name                            Class                           Type             Default                Access
          XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                N/A
          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
          A pointer to the following structure is passed to each
          callback:

          typedef struct
          {
                  int reason;
                  XEvent * event;
                  XmString value;
                  int length;
          } XmSelectionBoxCallbackStruct;

          reason    Indicates why the callback was invoked

          event     Points to the XEvent that triggered the callback

          value     Indicates the XmString value selected by the user
                    from the SelectionBox list or entered into the
                    SelectionBox text field

          length    Indicates the size in bytes of the XmString value
                    This member is obsolete and exists for
                    compatibility with earlier releases.

        Translations
          XmSelectionBox inherits translations from XmBulletinBoard.

        Accelerators
          The XmNtextAccelerators are added to the Text descendant of
          XmSelectionBox.  The default accelerators are described in
          the following list.

          The following key names are listed in the X standard key
          event translation table syntax.  This format is the one used
          by Motif to specify the widget actions corresponding to a
          given key.  A brief overview of the format is provided under
          VirtualBindings(3).  For a complete description of the
          format, please refer to the X Toolkit Instrinsics
          Documentation.

          :<Key><osfUp>:
                    SelectionBoxUpOrDown(Previous)

          :<Key><osfDown>:
                    SelectionBoxUpOrDown(Next)

          :<Key><osfBeginLine>:
                    SelectionBoxUpOrDown(First)

          :<Key><osfEndLine>:
                    SelectionBoxUpOrDown(Last)

          :<Key><osfRestore>:
                    SelectionBoxRestore()

          s c ~m ~a <Key>space:
                    SelectionBoxRestore()

        Action Routines
          The XmSelectionBox action routines are

          SelectionBoxUpOrDown(Previous|Next|First|Last):
                    When called with an argument of Previous, or 0
                    (zero) for compatibility, selects the previous
                    item in the list and replaces the text with that
                    item.

                    When called with an argument of Next, or 1 for
                    compatibility, selects the next item in the list
                    and replaces the text with that item.

                    When called with an argument of First, or 2 for
                    compatibility, selects the first item in the list
                    and replaces the text with that item.

                    When called with an argument of Last, or 3 for
                    compatibility, selects the last item in the list
                    and replaces the text with that item.

          SelectionBoxRestore():
                    Replaces the text value with the list selection.
                    If no item in the list is selected, clears the
                    text.

        Additional Behavior
          The SelectionBox widget has the following additional
          behavior:

          <Key><osfCancel>:
                    Calls the activate callbacks for the cancel button
                    if it is sensitive.  If no cancel button exists
                    and the parent of the SelectionBox is a manager,
                    passes the event to the parent.

          <Key><osfActivate>:
                    Calls the activate callbacks for the button with
                    the keyboard focus.  If no button has the keyboard
                    focus, calls the activate callbacks for the
                    default button if it is sensitive.  In a List
                    widget or single-line Text widget, the List or
                    Text action associated with <Key><osfActivate>is
                    called before the SelectionBox actions associated
                    with <Key><osfActivate>.  In a multiline Text
                    widget, any <Key><osfActivate>event except
                    <Key><osfEnter> calls the Text action associated
                    with <Key><osfActivate>, then the SelectionBox
                    actions associated with <Key><osfActivate>.  If no
                    button has the focus, no default button exists,
                    and the parent of the SelectionBox is a manager,
                    passes the event to the parent.

          <OK Button Activated>:
                    If XmNmustMatch is True and the text does not
                    match an item in the file list, calls the
                    XmNnoMatchCallback callbacks with reason
                    XmCR_NO_MATCH.  Otherwise, calls the XmNokCallback
                    callbacks with reason XmCR_OK.

          <Apply Button Activated>:
                    Calls the XmNapplyCallback callbacks with reason
                    XmCR_APPLY.

          <Cancel Button Activated>:
                    Calls the XmNcancelCallback callbacks with reason
                    XmCR_CANCEL.

          <Help Button Activated>:
                    Calls the XmNhelpCallback callbacks with reason
                    XmCR_HELP.
          <MapWindow>:
                    Calls the callbacks for XmNmapCallback if the
                    SelectionBox is a child of a Dialog shell.

          <UnmapWindow>:
                    Calls the callbacks for XmNunmapCallback if the
                    SelectionBox is the child of a DialogShell.

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

     RELATED
          Composite(3), Constraint(3), Core(3), XmBulletinBoard(3),
          XmCreateSelectionBox(3), XmCreateSelectionDialog(3),
          XmCreatePromptDialog(3), XmManager(3), and
          XmSelectionBoxGetChild(3).