XmCommand(library call) XmCommand(library call)
NAME
XmCommand -- The Command widget class
SYNOPSIS
#include <Xm/Command.h>
DESCRIPTION
Command is a special-purpose composite widget for command entry that
provides a built-in command-history mechanism. Command includes a
command-line text-input field, a command-line prompt, and a command-
history list region.
One additional
WorkArea child may be added to the Command after
creation.
Whenever a command is entered, it is automatically added to the end
of the command-history list and made visible. This does not change
the selected item in the list, if there is one.
Many of the new resources specified for Command are actually
SelectionBox resources that have been renamed for clarity and ease of
use.
Descendants
Command 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 |
+-----------------+------------------+-------------------------------+
+=================+==================+===============================+
+-----------------+------------------+-------------------------------+
|
ItemsList |
XmList | command-history list region |
+-----------------+------------------+-------------------------------+
|
ItemsListSW |
XmScrolledWindow | the ScrolledWindow parent of |
| | |
ItemsList |
+-----------------+------------------+-------------------------------+
|
Selection |
XmLabelGadget | command-line prompt |
+-----------------+------------------+-------------------------------+
|
Text |
XmTextField | command-line text-input field |
+-----------------+------------------+-------------------------------+
+-----------------+------------------+-------------------------------+
Classes
Command inherits behavior, resources, and traits from
Core,
Composite,
Constraint,
XmManager,
XmBulletinBoard, and
XmSelectionBox.
The class pointer is
xmCommandWidgetClass.
The class name is
XmCommand.
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).
+-------------------------------------------------------------------------------------+
|
XmCommand Resource Set |
|
Name |
Class |
Type |
Default |
Access |
+---------------------------+---------------------+----------------+---------+--------+
|XmNcommand | XmCTextString | XmString | "" | CSG |
+---------------------------+---------------------+----------------+---------+--------+
|XmNcommandChangedCallback | XmCCallback | XtCallbackList | NULL | C |
+---------------------------+---------------------+----------------+---------+--------+
|XmNcommandEnteredCallback | XmCCallback | XtCallbackList | NULL | C |
+---------------------------+---------------------+----------------+---------+--------+
|XmNhistoryItems | XmCItems | XmStringTable | NULL | CSG |
+---------------------------+---------------------+----------------+---------+--------+
|XmNhistoryItemCount | XmCItemCount | int | 0 | CSG |
+---------------------------+---------------------+----------------+---------+--------+
|XmNhistoryMaxItems | XmCMaxItems | int | 100 | CSG |
+---------------------------+---------------------+----------------+---------+--------+
|XmNhistoryVisibleItemCount | XmCVisibleItemCount | int | dynamic | CSG |
+---------------------------+---------------------+----------------+---------+--------+
|XmNpromptString | XmCPromptString | XmString | dynamic | CSG |
+---------------------------+---------------------+----------------+---------+--------+
+---------------------------+---------------------+----------------+---------+--------+
XmNcommand Contains the current command-line text. This is the
XmNtextString resource in SelectionBox, renamed for
Command. This resource can also be modified with
XmCommandSetValue and
XmCommandAppendValue functions. The
command area is a Text widget.
XmNcommandChangedCallback Specifies the list of callbacks that is called after each
time the value of the command changes. The callback reason
is
XmCR_COMMAND_CHANGED. This is equivalent to the
XmNvalueChangedCallback of the Text widget, except that a
pointer to an
XmCommandCallbackStructure is passed, and the
structure's
value member contains the
XmString.
XmNcommandEnteredCallback Specifies the list of callbacks that is called when a
command is entered in the Command. The callback reason is
XmCR_COMMAND_ENTERED. A pointer to an
XmCommandCallback structure is passed.
XmNhistoryItems Lists
XmString items that make up the contents of the
history list. This is the
XmNlistItems resource in
SelectionBox, renamed for Command.
XtGetValues for this
resource returns the list items themselves, not a copy of
the list items. The application must not free the returned
items.
XmNhistoryItemCount Specifies the number of
XmStrings in
XmNhistoryItems. This
is the
XmNlistItemCount resource in SelectionBox, renamed
for Command. The value must not be negative.
XmNhistoryMaxItems Specifies the maximum number of items allowed in the
history list. Once this number is reached, an existing list
item must be removed before a new item can be added to the
list. For each command entered, the first list item is
removed from the list, so the new command can be added to
the list. The value must be greater than 0 (zero).
XmNhistoryVisibleItemCount Specifies the number of items in the history list that
should be visible at one time. In effect, it sets the
height (in lines) of the history list window. This is the
XmNlistVisibleItemCount resource in SelectionBox, renamed
for Command. The value must be greater than 0 (zero). The
default is dynamic based on the height of the list.
XmNpromptString Specifies a prompt for the command line. This is the
XmNselectionLabelString resource in SelectionBox, renamed
for Command. The default may vary depending on the value
of the
XmNlayoutDirection resource and the locale. In the
C locale the default is > (right angle bracket).
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.
Inherited Resources
Command inherits behavior and resources from the superclasses
described in the following tables. For a complete description of
each resource, refer to the reference page for that superclass.
+------------------------------------------------------------------------------------------------------+
|
XmSelectionBox Resource Set |
|
Name |
Class |
Type |
Default |
Access |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNapplyCallback | XmCCallback | XtCallbackList | NULL | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNapplyLabelString | XmCApplyLabelString | XmString | dynamic | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNcancelCallback | XmCCallback | XtCallbackList | NULL | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNcancelLabelString | XmCCancelLabelString | XmString | dynamic | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNchildPlacement | XmCChildPlacement | unsigned char | XmPLACE_ABOVE_SELECTION | CSG |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNdialogType | XmCDialogType | unsigned char | XmDIALOG_COMMAND | G |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNhelpLabelString | XmCHelpLabelString | XmString | dynamic | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNlistItemCount | XmCItemCount | int | 0 | CSG |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNlistItems | XmCItems | XmStringTable | NULL | CSG |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNlistLabelString | XmCListLabelString | XmString | NULL | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNlistVisibleItemCount | XmCVisibleItemCount | int | dynamic | CSG |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNminimizeButtons | XmCMinimizeButtons | Boolean | False | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNmustMatch | XmCMustMatch | Boolean | False | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNnoMatchCallback | XmCCallback | XtCallbackList | NULL | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNokCallback | XmCCallback | XtCallbackList | NULL | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNokLabelString | XmCOkLabelString | XmString | dynamic | N/A |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNselectionLabelString | XmCSelectionLabelString | XmString | dynamic | CSG |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNtextAccelerators | XmCTextAccelerators | XtAccelerators | default | C |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNtextColumns | XmCColumns | short | dynamic | CSG |
+------------------------+-------------------------+----------------+-------------------------+--------+
|XmNtextString | XmCTextString | XmString | "" | CSG |
+------------------------+-------------------------+----------------+-------------------------+--------+
+------------------------+-------------------------+----------------+-------------------------+--------+
+--------------------------------------------------------------------------------------+
|
XmBulletinBoard Resource Set |
|
Name |
Class |
Type |
Default |
Access |
+---------------------+----------------------+----------------+---------------+--------+
|XmNallowOverlap | XmCAllowOverlap | Boolean | True | CSG |
+---------------------+----------------------+----------------+---------------+--------+
|XmNautoUnmanage | XmCAutoUnmanage | Boolean | False | N/A |
+---------------------+----------------------+----------------+---------------+--------+
|XmNbuttonFontList | XmCButtonFontList | XmFontList | dynamic | N/A |
+---------------------+----------------------+----------------+---------------+--------+
|XmNbuttonRenderTable | XmCButtonRenderTable | XmRenderTable | dynamic | CSG |
+---------------------+----------------------+----------------+---------------+--------+
|XmNcancelButton | XmCWidget | Widget | NULL | N/A |
+---------------------+----------------------+----------------+---------------+--------+
|XmNdefaultButton | XmCWidget | Widget | NULL | N/A |
+---------------------+----------------------+----------------+---------------+--------+
|XmNdefaultPosition | XmCDefaultPosition | Boolean | False | 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_NONE | 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;
} XmCommandCallbackStruct;
reason Indicates why the callback was invoked
event Points to the
XEvent that triggered the callback
value Specifies the
XmString in the CommandArea
length Specifies the size in bytes of the
XmString value. This
member is obsolete and exists for compatibility with
earlier releases.
Translations
XmCommand inherits translations from
XmSelectionBox.
Accelerators
The
XmNtextAccelerators from
XmSelectionBox are added to the Text
descendant of
XmCommand.
Action Routines
The
XmCommand 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 history
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 history 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 history 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 history list
and replaces the text with that item.
Calls the callbacks for
XmNcommandChangedCallback.
Additional Behavior
The Command widget has the following additional behavior:
<Key><osfCancel>:
If the parent of the Command is a manager, the event is
passed to the parent.
<Key><osfActivate> in Text:
Calls the Text widget's
XmNactivateCallback callbacks. If
the text is empty, this action then returns. Otherwise, if
the history list has
XmNhistoryMaxItems items, it removes
the first item in the list. It adds the text to the
history list as the last item, clears the text, and calls
the
XmNcommandEnteredCallback callbacks.
<Key> in Text:
When any change is made to the text edit widget, this
action calls the callbacks for
XmNcommandChangedCallback.
<BtnDown>(2+) or
<Key><osfActivate> in List:
Calls the List widget's
XmNdefaultActionCallback callbacks.
If the history list has
XmNhistoryMaxItems items, this
action removes the first item in the list. It adds the
selected List item to the history list as the last item,
clears the text, and calls the
XmNcommandEnteredCallback callbacks.
<FocusIn>:
Calls the callbacks for
XmNfocusCallback.
<MapWindow>:
When a Command that is the child of a DialogShell is
mapped, this action calls the callbacks for
XmNmapCallback.
<UnmapWindow>:
When a Command that is the child of a DialogShell is
unmapped, this action calls the callbacks for
XmNunmapCallback.
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),
XmCommandAppendValue(3),
XmCommandError(3),
XmCommandGetChild(3),
XmCommandSetValue(3),
XmCreateCommand(3),
XmManager(3),
XmSelectionBox(3),
XmVaCreateCommand(3), and
XmVaCreateManagedCommand(3).
XmCommand(library call)