XmFileSelectionBox --
the FileSelectionBox widget class
Syntax
#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.
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
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
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 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.
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-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 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.
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:
Pointer to an XmFileSelectionBoxCallbackStruct containing
input data to be qualified
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
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
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.
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.
<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.
<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(Xm).