Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought



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


NAME
       XmFileSelectionBox--The FileSelectionBox widget class

SYNOPSIS
       #include <Xm/FileSB.h>

DESCRIPTION
       FileSelectionBox traverses through directories, views the files and
       subdirectories in them, and then selects files.

       A FileSelectionBox has five main areas:


         ⊕  A text input field for displaying and editing a directory mask
            used to select the files to be displayed

         ⊕  A scrollable list of filenames

         ⊕  A scrollable list of subdirectories

         ⊕  A text input field for displaying and editing a filename

         ⊕  A group of PushButtons, labeled OK, Filter, Cancel, and Help


Additional children may be added to the FileSelectionBox after creation.
FileSelectionBox inherits the layout functionality provided by SelectionBox
for any additional children.  The list of filenames, the list of
subdirectories, or both can be removed from the FileSelectionBox after
creation by unmanaging the appropriate widgets and their labels.  The list
and label widgets are obtained by calling the function
XmFileSelectionBoxGetChild.  To remove either the directory list or the file
list, unmanage the parent of the appropriate list widget and unmanage the
corresponding label.

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

        Filter Label--"FilterLabel"

        Filter Text--"Text"

        Directory List--"DirList"

        Directory List Label--"Dir"

The directory mask is a string specifying the base directory to be examined
and a search pattern.  Ordinarily, the directory list displays the
subdirectories of the base directory, as well as the base directory itself
and its parent directory.  The file list ordinarily displays all files
and/or subdirectories in the base directory that match the search pattern.




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




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


A procedure specified by the XmNqualifySearchDataProc resource extracts the
base directory and search pattern from the directory mask.  If the directory
specification is empty, the current working directory is used.  If the
search pattern is empty, a pattern that matches all files is used.

An application can supply its own XmNqualifySearchDataProc as well as its
own procedures to search for subdirectories and files.  The default
XmNqualifySearchDataProc works as follows: The directory mask is a pathname
that can contain zero or more wildcard characters in its directory portion,
its file portion, or both.  The directory components of the directory mask
up to, but not including, the first component with a wildcard character
specify the directory to be searched, relative to the current working
directory.  The remaining components specify the search pattern.  If the
directory mask is empty or if its first component contains a wildcard
character, the current working directory is searched.  If no component of
the directory mask contains a wildcard character, the entire directory mask
is the directory specification, and all files in that directory are matched.

The user can select a new directory to examine by scrolling through the list
of directories and selecting the desired directory or by editing the
directory mask.  Selecting a new directory from the directory list does not
change the search pattern.  A user can select a new search pattern by
editing the directory mask.  Double clicking or pressing KActivate on a
directory in the directory list initiates a search for files and
subdirectories in the new directory, using the current search pattern.

The user can select a file by scrolling through the list of filenames and
selecting the desired file or by entering the filename directly into the
text edit area.  Selecting a file from the list causes that filename to
appear in the file selection text edit area.

The user may select a new file as many times as desired.  The application is
not notified until the user takes one of these actions:


  ⊕  Selects the OK PushButton

  ⊕  Presses KActivate while the selection text edit area has the keyboard
     focus.

  ⊕  Double clicks or presses KActivate on an item in the file list


FileSelectionBox initiates a directory and file search when any of the
following occurs:


  ⊕  The FileSelectionBox is initialized

  ⊕  The function XtSetValues is used to change XmNdirMask, XmNdirectory,
     XmNpattern, or XmNfileTypeMask

  ⊕  The user activates the Filter PushButton




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




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


  ⊕  The user double clicks or presses KActivate on an item in the directory
     list

  ⊕  The application calls XmFileSelectionDoSearch

  ⊕  The user presses KActivate while the directory mask text edit area has
     the keyboard focus


When a file search is initiated, the FileSelectionBox takes the following
actions:


  ⊕  Constructs an XmFileSelectionBoxCallbackStruct structure with values
     appropriate for the action that initiated the search

  ⊕  Calls the XmNqualifySearchDataProc with the callback structure as the
     data input argument

  ⊕  Sets XmNdirectoryValid and XmNlistUpdated to False

  ⊕  Calls the XmNdirSearchProc with the qualified data returned by the
     XmNqualifySearchDataProc


If XmNdirectoryValid is True, the FileSelectionBox takes these additional
actions:


  ⊕  Sets XmNlistUpdated to False

  ⊕  Calls the XmNfileSearchProc with the qualified data returned by the
     XmNqualifySearchDataProc (and possibly modified by the
     XmNdirSearchProc)

  ⊕  If XmNlistUpdated is True and the file list is empty, displays the
     XmNnoMatchString in the file list and clears the selection text and
     XmNdirSpec

  ⊕  If XmNlistUpdated is True and the file list is not empty, sets the
     selection text and XmNdirSpec to the qualified dir returned by the
     XmNqualifySearchDataProc (and possibly modified by the
     XmNdirSearchProc)

  ⊕  Sets the directory mask text and XmNdirMask to the qualified mask
     returned by the XmNqualifySearchDataProc (and possibly modified by the
     XmNdirSearchProc)

  ⊕  Sets XmNdirectory to the qualified dir returned by the
     XmNqualifySearchDataProc (and possibly modified by the
     XmNdirSearchProc)

  ⊕  Sets XmNpattern to the qualified pattern returned by the
     XmNqualifySearchDataProc (and possibly modified by the



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




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


     XmNdirSearchProc)


   Classes
       FileSelectionBox inherits behavior and resources from Core,
       Composite, Constraint, XmManager, XmBulletinBoard, and
       XmSelectionBox.

       The class pointer is xmFileSelectionBoxWidgetClass.

       The class name is XmFileSelectionBox.

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

                                 XmFileSelectionBox Resource Set
Name                       Class                      Type            Default             Access
-------------------------------------------------------------------------------------------------
XmNdirectory               XmCDirectory               XmString        dynamic             CSG
XmNdirectoryValid          XmCDirectoryValid          Boolean         dynamic             SG
XmNdirListItems            XmCDirListItems            XmStringTable   dynamic             SG
XmNdirListItemCount        XmCDirListItemCount        int             dynamic             SG
XmNdirListLabelString      XmCDirListLabelString      XmString        dynamic             CSG
XmNdirMask                 XmCDirMask                 XmString        dynamic             CSG
XmNdirSearchProc           XmCDirSearchProc           XmSearchProc    default procedure   CSG
XmNdirSpec                 XmCDirSpec                 XmString        dynamic             CSG
XmNfileListItems           XmCItems                   XmStringTable   dynamic             SG
XmNfileListItemCount       XmCItemCount               int             dynamic             SG
XmNfileListLabelString     XmCFileListLabelString     XmString        dynamic             CSG
XmNfileSearchProc          XmCFileSearchProc          XmSearchProc    default procedure   CSG
XmNfileTypeMask            XmCFileTypeMask            unsigned char   XmFILE_REGULAR      CSG
XmNfilterLabelString       XmCFilterLabelString       XmString        dynamic             CSG
XmNlistUpdated             XmCListUpdated             Boolean         dynamic             SG
XmNnoMatchString           XmCNoMatchString           XmString        " [    ] "          CSG
XmNpattern                 XmCPattern                 XmString        dynamic             CSG
XmNqualifySearchDataProc   XmCQualifySearchDataProc   XmQualifyProc   default procedure   CSG


       XmNdirectory
                 Specifies the base directory used in combination with
                 XmNpattern in determining the files and directories to be
                 displayed.  The default value is determined by the
                 XmNqualifySearchDataProc and depends on the initial values
                 of XmNdirMask, XmNdirectory, and XmNpattern.  If the



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




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


                 default is NULL or empty, the current working directory is
                 used.

       XmNdirectoryValid
                 Specifies an attribute that is set only by the directory
                 search procedure.  The value is set to True if the
                 directory passed to the directory search procedure can
                 actually be searched.  If this value is False the file
                 search procedure is not called, and XmNdirMask,
                 XmNdirectory, and XmNpattern are not changed.

       XmNdirListItems
                 Specifies the items in the directory 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.

       XmNdirListItemCount
                 Specifies the number of items in the directory list.  The
                 value must not be negative.

       XmNdirListLabelString
                 Specifies the label string of the directory list.  The
                 default for this resource depends on the locale.  In the C
                 locale the default is "Directories".

       XmNdirMask
                 Specifies the directory mask used in determining the files
                 and directories to be displayed.  The default value is
                 determined by the XmNqualifySearchDataProc and depends on
                 the initial values of XmNdirMask, XmNdirectory, and
                 XmNpattern.

       XmNdirSearchProc
                 Specifies a directory search procedure to replace the
                 default directory-search procedure.  FileSelectionBox's
                 default directory-search procedure fulfills the needs of
                 most applications.  Because it is impossible to cover the
                 requirements of all applications, you can replace the
                 default search procedure.

                 The directory search procedure is called with two
                 arguments: the FileSelectionBox widget and a pointer to an
                 XmFileSelectionBoxCallbackStruct structure.  The callback
                 structure is generated by the XmNqualifySearchDataProc and
                 contains all information required to conduct a directory
                 search, including the directory mask and a qualified base
                 directory and search pattern.  Once called, it is up to the
                 search routine to generate a new list of directories and
                 update the FileSelectionBox widget by using XtSetValues.

                 The search procedure must set XmNdirectoryValid and
                 XmNlistUpdated.  If it generates a new list of directories,
                 it must also set XmNdirListItems and XmNdirListItemCount.



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




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


                 If the search procedure cannot search the specified
                 directory, it must warn the user and set XmNdirectoryValid
                 and XmNlistUpdated to False, unless it prompts and
                 subsequently obtains a valid directory.  If the directory
                 is valid but is the same as the current XmNdirectory, the
                 search procedure must set XmNdirectoryValid to True, but it
                 may elect not to generate a new list of directories.  In
                 this case is must set XmNlistUpdated to False.

                 If the search procedure generates a new list of
                 directories, it must set XmNdirListItems to the new list of
                 directories and XmNdirListItemCount to the number of items
                 in the list.  If there are no directories, it sets
                 XmNdirListItems to NULL and XmNdirListItemCount to 0.  In
                 either case it must set XmNdirectoryValid and
                 XmNlistUpdated to True.

                 The search procedure ordinarily should not change the
                 callback struct.  But if the original directory is not
                 valid, the search procedure may obtain a new directory from
                 the user.  In this case it should set the dir member of the
                 callback struct to the new directory, call the
                 XmNqualifySearchDataProc with the callback struct as the
                 input argument, and copy the qualified data returned by the
                 XmNqualifySearchDataProc into the callback struct.

       XmNdirSpec
                 Specifies the full file path specification.  This is the
                 XmNtextString resource in SelectionBox, renamed for
                 FileSelectionBox.  The default value is determined by the
                 FileSelectionBox after conducting the initial directory and
                 file search.

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

       XmNfileListItemCount
                 Specifies the number of items in the file list.  This is
                 the XmNlistItemCount resource in SelectionBox, renamed for
                 FileSelectionBox.  The value must not be negative.

       XmNfileListLabelString
                 Specifies the label string of the file list.  This is the
                 XmNlistLabelString resource in SelectionBox, renamed for
                 FileSelectionBox.  The default for this resource depends on
                 the locale.  In the C locale the default is "Files".

       XmNfileSearchProc
                 Specifies a file search procedure to replace the default
                 file-search procedure.  FileSelectionBox's default file-



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




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


                 search procedure fulfills the needs of most applications.
                 Because it is impossible to cover the requirements of all
                 applications, you can replace the default search procedure.

                 The file search procedure is called with two arguments: the
                 FileSelectionBox widget and a pointer to an
                 XmFileSelectionBoxCallbackStruct structure.  The callback
                 structure is generated by the XmNqualifySearchDataProc (and
                 possibly modified by the XmNdirSearchProc).  It contains
                 all information required to conduct a file search,
                 including the directory mask and a qualified base directory
                 and search pattern.  Once called, it is up to the search
                 routine to generate a new list of files and update the
                 FileSelectionBox widget by using XtSetValues.

                 The search procedure must set XmNlistUpdated.  If it
                 generates a new list of files, it must also set
                 XmNfileListItems and XmNfileListItemCount.

                 The search procedure is recommended always to generate a
                 new list of files.  If the mask member of the callback
                 struct is the same as the mask member of the callback
                 struct in the preceding call to the search procedure, the
                 procedure may elect not to generate a new list of files.
                 In this case it must set XmNlistUpdated to False.

                 If the search procedure generates a new list of files, it
                 must set XmNfileListItems to the new list of files and
                 XmNfileListItemCount to the number of items in the list.
                 If there are no files, it sets XmNfileListItems to NULL and
                 XmNfileListItemCount to 0.  In either case it must set
                 XmNlistUpdated to True.

                 In constructing the list of files, the search procedure
                 should include only files of the types specified by the
                 widget's XmNfileTypeMask.

                 Setting XmNdirSpec is optional, but recommended.  Set this
                 attribute to the full file specification of the directory
                 searched.  The directory specification is displayed below
                 the directory and file lists.

       XmNfileTypeMask
                 Specifies the type of files listed in the file list.
                 Following are the possible values:


                   ⊕  XmFILE_REGULAR restricts the file list to contain only
                      regular files.

                   ⊕  XmFILE_DIRECTORY restricts the file list to contain
                      only directories.

                   ⊕  XmFILE_ANY_TYPE allows the list to contain all file



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




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


                      types including directories.


       XmNfilterLabelString
                 Specifies the label string for the text entry field for the
                 directory mask.  The default for this resource depends on
                 the locale.  In the C locale the default is "Filter".

       XmNlistUpdated
                 Specifies an attribute that is set only by the directory
                 and file search procedures.  Set to True if the search
                 procedure updated the directory or file list.

       XmNnoMatchString
                 Specifies a string to be displayed in the file list if the
                 list of files is empty.

       XmNpattern
                 Specifies the search pattern used in combination with
                 XmNdirectory in determining the files and directories to be
                 displayed.  The default value is determined by the
                 XmNqualifySearchDataProc and depends on the initial values
                 of XmNdirMask, XmNdirectory, and XmNpattern.  If the
                 default is NULL or empty, a pattern that matches all files
                 is used.

       XmNqualifySearchDataProc
                 Specifies a search data qualification procedure to replace
                 the default data qualification procedure.
                 FileSelectionBox's default data qualification procedure
                 fulfills the needs of most applications.  Because it is
                 impossible to cover the requirements of all applications,
                 you can replace the default procedure.

                 The data qualification procedure is called to generate a
                 qualified directory mask, base directory, and search
                 pattern for use by the directory and file search
                 procedures.  It is called with three arguments: the
                 FileSelectionBox widget and pointers to two
                 XmFileSelectionBoxCallbackStruct structures.  The first
                 callback struct contains the input data.  The second
                 callback struct contains the output data, to be filled in
                 by the data qualification procedure.

                 If the input dir and pattern members are not NULL, the
                 procedure must copy them to the corresponding members of
                 the output callback struct.

                 If the input dir is NULL, the procedure constructs the
                 output dir as follows: If the input mask member is NULL,
                 the procedure uses the widget's XmNdirectory as the output
                 dir; otherwise, it extracts the output dir from the input
                 mask.  If the resulting output dir is empty, the procedure
                 uses the current working directory instead.



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




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


                 If the input pattern is NULL, the procedure constructs the
                 output pattern as follows: If the input mask member is
                 NULL, the procedure uses the widget's XmNpattern as the
                 output pattern; otherwise, it extracts the output pattern
                 from the input mask.  If the resulting output pattern is
                 empty, the procedure uses a pattern that matches all files
                 instead.

                 The data qualification procedure constructs the output mask
                 from the output dir and pattern.  The procedure must ensure
                 that the output dir, pattern, and mask are fully qualified.

                 If the input value member is not NULL, the procedure must
                 copy it to the output value member; otherwise, the
                 procedure must copy the widget's XmNdirSpec to the output
                 value.

                 The data qualification procedure must calculate the lengths
                 of the output value, mask, dir, and pattern members and
                 must fill in the corresponding length members of the output
                 callback struct.

                 The data qualification procedure must copy the input reason
                 and event members to the corresponding output members.


       The values of the XmNdirSearchProc and XmNfileSearchProc are
       procedure pointers of type XmSearchProc, defined as follows:

       void (* XmSearchProc) (w, search_data)      Widget w;
            XtPointersearch_data;


       w         The FileSelectionBox widget

       search_data
                 Pointer to an XmFileSelectionBoxCallbackStruct containing
                 information for conducting a search




       The value of the XmNqualifySearchDataProc resource is a procedure
       pointer of type XmQualifyProc, defined as follows:

       void (* XmQualifyProc) (w, input_data, output_data)      Widget w;
            XtPointerinput_data;      XtPointeroutput_data;


       w         The FileSelectionBox widget

       input_data
                 Pointer to an XmFileSelectionBoxCallbackStruct containing
                 input data to be qualified



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




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


       output_data
                 Pointer to an XmFileSelectionBoxCallbackStruct containing
                 output data to be filled in by the qualification procedure


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

                                      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    XmDIALOG_FILE_SELECTION    G
XmNhelpLabelString        XmCHelpLabelString        XmString         dynamic                    CSG
XmNlistItemCount          XmCItemCount              int              dynamic                    CSG
XmNlistItems              XmCItems                  XmStringTable    dynamic                    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         dynamic                    CSG

                            XmBulletinBoard Resource Set
 Name                  Class                Type             Default         Access
 -----------------------------------------------------------------------------------
 XmNallowOverlap       XmCAllowOverlap      Boolean          True            CSG
 XmNautoUnmanage       XmCAutoUnmanage      Boolean          False           CG
 XmNbuttonFontList     XmCButtonFontList    XmFontList       dynamic         CSG
 XmNcancelButton       XmCWidget            Widget           Cancel button   SG
 XmNdefaultButton      XmCWidget            Widget           OK button       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
 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




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




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


 XmNtextFontList       XmCTextFontList      XmFontList       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
XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
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





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




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


   Callback Information
       A pointer to the following structure is passed to each callback:
       typedef struct {   int      reason;   XEvent   * event;
         XmString value;   int      length;   XmString mask;
         int      mask_length;   XmString dir;   int      dir_length;
         XmString pattern;   int      pattern_length; }
       XmFileSelectionBoxCallbackStruct;


       reason    Indicates why the callback was invoked

       event     Points to the XEvent that triggered the callback

       value     Specifies the current value of XmNdirSpec

       length    Specifies the number of bytes in value

       mask      Specifies the current value of XmNdirMask

       mask_length
                 Specifies the number of bytes in mask

       dir       Specifies the current base directory

       dir_length
                 Specifies the number of bytes in dir

       pattern   Specifies the current search pattern

       pattern_length
                 Specifies the number of bytes in pattern


   Translations
       XmFileSelectionBox inherits translations from XmSelectionBox.

   Accelerators
       The XmNtextAccelerators from XmSelectionBox are added to the
       selection and directory mask (filter) Text descendants of
       XmFileSelectionBox.

   Action Routines
       The XmFileSelectionBox action routines are described below:


       SelectionBoxUpOrDown(0|1|2|3):
                 If neither the selection text nor the directory mask
                 (filter) text has the focus, this action does nothing.









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




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


       If the selection text has the focus, the term list in the following
       description refers to the file list, and the term text refers to the
       selection text.  If the directory mask text has the focus, list
       refers to the directory list, and text refers to the directory mask
       text.

       When called with a 0 argument, selects the previous item in the list
       and replaces the text with that item.

       When called with a 1 argument, selects the next item in the list and
       replaces the text with that item.

       When called with a 2 argument, selects the first item in the list and
       replaces the text with that item.

       When called with a 3 argument, selects the last item in the list and
       replaces the text with that item.

       SelectionBoxRestore():
                 If neither the selection text nor the directory mask
                 (filter) text has the focus, this action does nothing.

       If the selection text has the focus, replaces the selection text with
       the selected item in the file list.  If no item in the file list is
       selected, clears the selection text.

       If the directory mask text has the focus, replaces the directory mask
       text with a new directory mask constructed from the XmNdirectory and
       XmNpattern resources.


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


       MAny KCancel:
                 Calls the activate callbacks for the cancel button if it is
                 sensitive.  If no cancel button exists and the parent of
                 the FileSelectionBox is a manager, passes the event to the
                 parent.

       <KActivate> in Selection Text:
                 Calls the selection text widget's XmNactivateCallback
                 callbacks.  If XmNmustMatch is True and the selection 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.

       <KActivate> in Directory Mask Text:
                 Calls the directory mask text widget's XmNactivateCallback
                 callbacks.  Initiates a directory and file search.  Calls
                 the XmNapplyCallback callbacks with reason XmCR_APPLY.



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




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


       <DoubleClick> or <KActivate> in Directory List:
                 Calls the directory list widget's XmNdefaultActionCallback
                 callbacks.  Initiates a directory and file search.  Calls
                 the XmNapplyCallback callbacks with reason XmCR_APPLY.

       <DoubleClick> or <KActivate> in File List:
                 Calls the file list widget's XmNdefaultActionCallback
                 callbacks.  Calls the XmNokCallback callbacks with reason
                 XmCR_OK.

       <Single Select> or <Browse Select> in Directory List:
                 Generates a new directory mask, using the selected list
                 item as the directory and the pattern extracted from the
                 current directory mask text as the search pattern.  If the
                 search pattern is empty, uses a pattern that matches all
                 files in the directory.  Replaces the directory mask text
                 with the new directory mask.

       <Single Select> or <Browse Select> in File List:
                 Replaces the selection text with the selected list item.

       <BDrag> in File List:
                 Drags the content of one or more selected list items using
                 the drag and drop facility.  If BDrag is pressed on an
                 unselected item, drags only that item, excluding any other
                 selected items.

                 The XmNexportTargets resource of the associated DragContext
                 is set to target types of COMPOUND_TEXT and FILE_NAME.  The
                 XmNclientData resource is set to the index of the item in
                 the list.

       <BDrag> in Directory List:
                 Drags the content of one or more selected list items using
                 the drag and drop facility.  If BDrag is pressed on an
                 unselected item, drags only that item, excluding any other
                 selected items.

                 The XmNexportTargets resource of the associated DragContext
                 is set to target types of COMPOUND_TEXT and FILE_NAME.  The
                 XmNclientData resource is set to the index of the item in
                 the list.


       <Apply Button Activated>:
                 Initiates a directory and file search.  Calls the
                 XmNapplyCallback callbacks with reason XmCR_APPLY.

       <OK Button Activated>:
                 If XmNmustMatch is True and the selection 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.



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




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


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

       <Help Button Activated>:
                 Calls the XmNhelpCallback callbacks with reason XmCR_HELP.

       <KActivate>:
                 If no button, list widget, or text widget has the keyboard
                 focus: If XmNmustMatch is True and the selection 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.


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

RELATED INFORMATION
       Composite(3X), Constraint(3X), Core(3X), XmBulletinBoard(3X),
       XmCreateFileSelectionBox(3X), XmCreateFileSelectionDialog(3X),
       XmFileSelectionBoxGetChild(3X), XmFileSelectionDoSearch(3X),
       XmManager(3X), and XmSelectionBox(3X).
































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


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