Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

XmCommand(3X)  —  OSF/Motif

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. 

Classes

Command inherits behavior and resources from Core, Composite, Constraint, XmManager, XmBulletinBoard, and XmSelectionBox classes. 

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 Default Access
      Class       Type
XmNcommand "" CSG
      XmCTextString        XmString
XmNcommandChangedCallback NULL C
      XmCCallback        XtCallbackList
XmNcommandEnteredCallback NULL C
      XmCCallback        XtCallbackList
XmNhistoryItems NULL CSG
      XmCItems        XmStringTable
XmNhistoryItemCount 0 CSG
      XmCItemCount        int
XmNhistoryMaxItems 100 CSG
      XmCMaxItems        int
XmNhistoryVisibleItemCount dynamic CSG
      XmCVisibleItemCount        int
XmNpromptString dynamic CSG
      XmCPromptString        XmString

XmNcommand
Contains the current command-line text.  This is the XmNtextString resource in SelectionBox, renamed for Command.  This resource can also be modified via XmCommandSetValue and XmCommandAppendValue functions.  The command area is a Text widget. 

XmNcommandChangedCallback
Specifies the list of callbacks that is called when 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.

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.  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 XmNstringDirection resource and the locale.  In the C locale the default is ">". 

Inherited Resources

Command 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 Default Access
      Class       Type
XmNapplyCallback NULL N/A
      XmCCallback        XtCallbackList
XmNapplyLabelString dynamic N/A
      XmCApplyLabelString        XmString
XmNcancelCallback NULL N/A
      XmCCallback        XtCallbackList
XmNcancelLabelString dynamic N/A
      XmCCancelLabelString        XmString
XmNchildPlacement XmPLACE_ABOVE_SELECTION CSG
      XmCChildPlacement        unsigned char
XmNdialogType XmDIALOG_COMMAND G
      XmCDialogType        unsigned char
XmNhelpLabelString dynamic N/A
      XmCHelpLabelString        XmString
XmNlistItemCount 0 CSG
      XmCItemCount        int
XmNlistItems NULL CSG
      XmCItems        XmStringTable
XmNlistLabelString NULL N/A
      XmCListLabelString        XmString
XmNlistVisibleItemCount dynamic CSG
      XmCVisibleItemCount        int
XmNminimizeButtons False N/A
      XmCMinimizeButtons        Boolean
XmNmustMatch False N/A
      XmCMustMatch        Boolean
XmNnoMatchCallback NULL N/A
      XmCCallback        XtCallbackList
XmNokCallback NULL N/A
      XmCCallback        XtCallbackList
XmNokLabelString dynamic N/A
      XmCOkLabelString        XmString
XmNselectionLabelString dynamic CSG
      XmCSelectionLabelString        XmString
XmNtextAccelerators default C
      XmCTextAccelerators        XtAccelerators
XmNtextColumns dynamic CSG
      XmCColumns        short
XmNtextString "" CSG
      XmCTextString        XmString
XmBulletinBoard Resource Set
Name Default Access
      Class       Type
XmNallowOverlap True CSG
      XmCAllowOverlap        Boolean
XmNautoUnmanage False N/A
      XmCAutoUnmanage        Boolean
XmNbuttonFontList dynamic N/A
      XmCButtonFontList        XmFontList
XmNcancelButton NULL N/A
      XmCWidget        Widget
XmNdefaultButton NULL N/A
      XmCWidget        Widget
XmNdefaultPosition False CSG
      XmCDefaultPosition        Boolean
XmNdialogStyle dynamic CSG
      XmCDialogStyle        unsigned char
XmNdialogTitle NULL CSG
      XmCDialogTitle        XmString
XmNfocusCallback NULL C
      XmCCallback        XtCallbackList
XmNlabelFontList dynamic CSG
      XmCLabelFontList        XmFontList
XmNmapCallback NULL C
      XmCCallback        XtCallbackList
XmNmarginHeight 10 CSG
      XmCMarginHeight        Dimension
XmNmarginWidth 10 CSG
      XmCMarginWidth        Dimension
XmNnoResize False CSG
      XmCNoResize        Boolean
XmNresizePolicy XmRESIZE_NONE CSG
      XmCResizePolicy        unsigned char
XmNshadowType XmSHADOW_OUT CSG
      XmCShadowType        unsigned char
XmNtextFontList dynamic CSG
      XmCTextFontList        XmFontList
XmNtextTranslations NULL C
      XmCTranslations        XtTranslations
XmNunmapCallback NULL C
      XmCCallback        XtCallbackList
XmManager Resource Set
Name Default Access
      Class       Type
XmNbottomShadowColor dynamic CSG
      XmCBottomShadowColor        Pixel
XmNbottomShadowPixmap XmUNSPECIFIED_PIXMAP CSG
      XmCBottomShadowPixmap        Pixmap
XmNforeground dynamic CSG
      XmCForeground        Pixel
XmNhelpCallback NULL C
      XmCCallback        XtCallbackList
XmNhighlightColor dynamic CSG
      XmCHighlightColor        Pixel
XmNhighlightPixmap dynamic CSG
      XmCHighlightPixmap        Pixmap
XmNinitialFocus dynamic CSG
      XmCInitialFocus        Widget
XmNnavigationType XmTAB_GROUP CSG
      XmCNavigationType        XmNavigationType
XmNshadowThickness dynamic CSG
      XmCShadowThickness        Dimension
XmNstringDirection dynamic CG
      XmCStringDirection        XmStringDirection
XmNtopShadowColor dynamic CSG
      XmCTopShadowColor        Pixel
XmNtopShadowPixmap dynamic CSG
      XmCTopShadowPixmap        Pixmap
XmNtraversalOn True CSG
      XmCTraversalOn        Boolean
XmNunitType dynamic CSG
      XmCUnitType        unsigned char
XmNuserData NULL CSG
      XmCUserData        XtPointer
Composite Resource Set
Name Default Access
      Class       Type
XmNchildren NULL G
      XmCReadOnly        WidgetList
XmNinsertPosition NULL CSG
      XmCInsertPosition        XtOrderProc
XmNnumChildren 0 G
      XmCReadOnly        Cardinal
Core Resource Set
Name Default Access
      Class       Type
XmNaccelerators dynamic N/A
      XmCAccelerators        XtAccelerators
XmNancestorSensitive dynamic G
      XmCSensitive        Boolean
XmNbackground dynamic CSG
      XmCBackground        Pixel
XmNbackgroundPixmap XmUNSPECIFIED_PIXMAP CSG
      XmCPixmap        Pixmap
XmNborderColor XtDefaultForeground CSG
      XmCBorderColor        Pixel
XmNborderPixmap XmUNSPECIFIED_PIXMAP CSG
      XmCPixmap        Pixmap
XmNborderWidth 0 CSG
      XmCBorderWidth        Dimension
XmNcolormap dynamic CG
      XmCColormap        Colormap
XmNdepth dynamic CG
      XmCDepth        int
XmNdestroyCallback NULL C
      XmCCallback        XtCallbackList
XmNheight dynamic CSG
      XmCHeight        Dimension
XmNinitialResourcesPersistent True C
      XmCInitialResourcesPersistent        Boolean
XmNmappedWhenManaged True CSG
      XmCMappedWhenManaged        Boolean
XmNscreen dynamic CG
      XmCScreen        Screen *
XmNsensitive True CSG
      XmCSensitive        Boolean
XmNtranslations dynamic CSG
      XmCTranslations        XtTranslations
XmNwidth dynamic CSG
      XmCWidth        Dimension
XmNx 0 CSG
      XmCPosition        Position
XmNy 0 CSG
      XmCPosition        Position

Callback Information

A pointer to the following structure is passed to each callback:

typedef struct
{
intreason;
XEvent* event;
XmStringvalue;
intlength;
} XmCommandCallbackStruct;

reasonIndicates why the callback was invoked

eventPoints to the XEvent that triggered the callback

valueSpecifies the XmString in the CommandArea

lengthSpecifies the size of the command in XmString

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 described below:

SelectionBoxUpOrDown(0|1|2|3):
When called with a 0 argument, selects the previous item in the history list and replaces the text with that item.
When called with a 1 argument, selects the next item in the history list and replaces the text with that item.
When called with a 2 argument, selects the first item in the history list and replaces the text with that item.
When called with a 3 argument, 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 additional behavior described below:

MAny KCancel:
If the parent of the Command is a manager, the event is passed to the parent.

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

<DoubleClick> or <KActivate> 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(3X). 

RELATED INFORMATION

Composite(3X), Constraint(3X), Core(3X), XmBulletinBoard(3X), XmCommandAppendValue(3X), XmCommandError(3X), XmCommandGetChild(3X), XmCommandSetValue(3X), XmCreateCommand(3X), XmManager(3X), and XmSelectionBox(3X). 

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