Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmCommand(3XM) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Composite(3XM)

Constraint(3XM)

Core(3XM)

XmBulletinBoard(3XM)

XmCommandAppendValue(3XM)

XmCommandError(3XM)

XmCommandGetChild(3XM)

XmCommandSetValue(3XM)

XmCreateCommand(3XM)

XmManager(3XM)

XmSelectionBox(3XM)

XmCommand(3XM)  —  NEWS-OS Programmer’s Manual

名称

XmCommand - Command widget クラス

形式

#include <Xm/Command.h>

解説

Command は、組み込みのコマンドヒストリ機構を供給するコマンドエントリ用の、特殊用途のコンポジット widget です。 Command にはコマンドラインテキスト入力フィールド、コマンドラインプロンプト、コマンドヒストリリスト領域が含まれます。

生成の後、追加的な子として WorkArea を一つ Command に与えることもできます。

コマンドが入力されると、自動的にコマンドヒストリリストの最後に追加され、見ることができます。 選択した項目がリストにあっても、これによって変更されるということはありません。

Command で使用される新しいリソースの多くは、実際には SelectionBox リソースを改名して、わかりやすくかつ使いやすくしたものです。

クラス

XmCommand は、Core、Composite、Constraint、XmManager、XmBulletinBoard、XmSelectionBox のクラスから動作とリソースを継承します。

クラスポインタは xmCommandWidgetClass です。

クラス名は XmCommand です。

新しいリソース

次の表は、データを指定するのに用いる widget リソースの一覧です。 継承されたクラスのリソースの値もまたこの widget の属性として設定することができます。 .Xdefaults ファイルの中で名前やクラスでリソースを参照する場合は、語頭の XmN または XmC を取り除いた名称を用いてください。 .Xdefaults ファイルの中でリソースに定義された値を設定するには、語頭の Xm を取り除いた名称を用いてください。 (大文字と小文字は区別されませんが、語間のアンダースコアは必要です。 ) 「アクセス」欄の文字は、与えられたリソースを、widget 生成時に設定できるか (C)、XtSetValues で設定できるか (S)、XtGetValues で取り出すことができるか (G)、あるいは利用できないか (N/A) を示します。

XmCommand リソース一覧
名前 クラス 型 デフォルト アクセス
XmNcommand XmCTextString XmString NULL 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 8 CSG
XmNpromptString XmCXmString XmString ">" CSG

XmNcommand
現在のコマンドラインのテキストが入っています。 これは、SelectionBox のリソースである XmNtextString を Command 用に改名したものです。 このリソースは、XmCommandSetValue と XmCommandAppendValue 関数によっても変えることができます。 コマンド領域は Text widget です。

XmNcommandChangedCallback
コマンドの値が変化したときに呼び出されるコールバックのリストを指定します。 コールバックのリーズンは Xm_CR_COMMAND_CHANGED です。 これは、XmCommandCallbackStructure に XmString がロードされて返されること以外は、 Text widget の XmNvalueChangedCallback と同じものです。

XmNcommandEnteredCallback
Command にコマンドが入力されたときに呼び出されるコールバックのリストを指定します。 コールバックのリーズンは Xm_CR_COMMAND_ENTERED です。 XmCommandCallback 構造体が返されます。

XmNhistoryItems
ヒストリリストの内容を構成する XmString 項目のリストです。 これは、SelectionBox のリソース XmNlistItems を Command 用に改名したものです。

XmNhistoryItemCount
XmNhistoryItems の中の XmStrings の数を指定します。 これは、SelectionBox のリソース XmNlistItemCount を Command 用に改名したものです。

XmNhistoryMaxItems
ヒストリリスト中に許される項目の最大の数を指定します。 この数に達すると、一つ新しい項目をリストに追加するにはその前に、今あるリスト項目を一つ取り除かなければなりません。 コマンドの入力に関していえば、その新しいコマンドがリストに追加できるように、最初のリスト項目がリストから取り除かれます。

XmNhistoryVisibleItemCount
一度に見えるヒストリリストの項目の数を指定します。 実際には、ヒストリリストのウィンドウの高さ (行数) を設定します。 これは、SelectionBox のリソース XmNvisibleItemCount を Command 用に改名したものです。

XmNpromptString
コマンドラインのプロンプトです。 これは、SelectionBox のリソース XmNselectionLabelString を Command 用に改名したものです。

継承されるリソース

Command は、次のスーパークラスから動作とリソースを継承します。 これらのリソースの完全な解説については、そのスーパークラスのマニュアルページを参照してください。

XmSelectionBox リソース一覧
名称 クラス 型 デフォルト アクセス
XmNapplyCallback XmCCallback XtCallbackList NULL N/A
XmNapplyLabelString XmCApplyLabelString XmString "Apply" N/A
XmNcancelCallback XmCCallback XtCallbackList NULL N/A
XmNcancelLabelString XmCXmString XmString "Cancel" N/A
XmNdialogType XmCDialogType unsigned char XmDIALOG_COMMAND G
XmNhelpLabelString XmCXmString XmString "Help" N/A
XmNlistItemCount XmCItemCount int 0 N/A
XmNlistItems XmCItems XmStringList NULL N/A
XmNlistLabelString XmCXmString XmString NULL N/A
XmNlistVisibleItemCount XmCVisibleItemCount int 8 N/A
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 XmCXmString XmString "OK" N/A
XmNselectionLabelString XmCXmString XmString "Selection" CSG
XmNtextAccelerators XmCTextAccelerators XtTranslations see description C
XmNtextColumns XmCTextColumns int 20 CSG
XmNtextValue XmCTextValue XmString NULL N/A

XmBulletinBoard リソース一覧
名称 クラス 型 デフォルト アクセス
XmNallowOverlap XmCAllowOverlap Boolean True N/A
XmNautoUnmanage XmCAutoUnmanage Boolean False CSG
XmNbuttonFontList XmCButtonFontList XmFontList NULL N/A
XmNcancelButton XmCWidget Widget NULL N/A
XmNdefaultButton XmCWidget Widget NULL N/A
XmNdefaultPosition XmCDefaultPosition Boolean False CSG
XmNdialogStyle XmCDialogStyle unsigned char dynamic CSG
XmNdialogTitle XmCXmString XmString NULL CSG
XmNfocusCallback XmCCallback XtCallbackList NULL C
XmNlabelFontList XmCLabelFontList XmFontList NULL CSG
XmNmapCallback XmCCallback XtCallbackList NULL C
XmNmarginHeight XmCMarginHeight short 10 CSG
XmNmarginWidth XmCMarginWidth short 10 CSG
XmNnoResize XmCNoResize Boolean False CSG
XmNresizePolicy XmCResizePolicy unsigned char XmRESIZE_NONE CSG
XmNshadowType XmCShadowType unsigned char XmSHADOW_OUT CSG
XmNstringDirection XmCStringDirection XmStringDirection XmSTRING_DIRECTION_L_TO_R CSG
XmNtextFontList XmCTextFontList XmFontList NULL CSG
XmNtextTranslations XmCTranslations XtTranslations NULL C
XmNunmapCallback XmCCallback XtCallbackList NULL C

XmManager リソース一覧
名称 クラス 型 デフォルト アクセス
XmNbottomShadowColor XmCForeground Pixel dynamic CSG
XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNforeground XmCForeground Pixel dynamic CSG
XmNhelpCallback XmCCallback XtCallbackList NULL C
XmNhighlightColor XmCForeground Pixel Black CSG
XmNhighlightPixmap XmCHighlightPixmap Pixmap dynamic CSG
XmNshadowThickness XmCShadowThickness short dynamic CSG
XmNtopShadowColor XmCBackground Pixel dynamic CSG
XmNtopShadowPixmap XmCTopShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNunitType XmCUnitType unsigned char XmPIXELS CSG
XmNuserData XmCUserData caddr_t NULL CSG

Composite リソース一覧
名称 クラス 型 デフォルト アクセス
XmNinsertPosition XmCInsertPosition XmRFunction NULL CSG

Core リソース一覧
名称 クラス 型 デフォルト アクセス
XmNaccelerators XmCAccelerators XtTranslations NULL CSG
XmNancestorSensitive XmCSensitive Boolean True G
XmNbackground XmCBackground Pixel dynamic CSG
XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderColor XmCBorderColor Pixel Black CSG
XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderWidth XmCBorderWidth Dimension 0 CSG
XmNcolormap XmCColormap Colormap XtCopyFromParent CG
XmNdepth XmCDepth int XtCopyFromParent CG
XmNdestroyCallback XmCCallback XtCallbackList NULL C
XmNheight XmCHeight Dimension 0 CSG
XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Pointer XtCopyScreen CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtranslations XmCTranslations XtTranslations NULL CSG
XmNwidth XmCWidth Dimension 0 CSG
XmNx XmCPosition Position 0 CSG
XmNy XmCPosition Position 0 CSG

コールバック情報

次の構造体がコールバックごとに返されます。

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

reasonコールバックが起動されたリーズンを示します。

eventコールバックを引き起こした XEvent を指します。

valueCommandArea の XmString を示します。

lengthXmString 中のコマンドの大きさを示します。

動作

Command の動作を次にまとめます。

<key>:
テキスト編集 widget になんらかの変更がなされた時、XmNcommandChangedCallback に対するコールバックが呼び出されます。

<key>Return:
リターンキーが押されると、XmNcommandEnteredCallback と XmNcommandChangedCallback に対するコールバックが呼び出されます。

<key>Up または <key>Down:
Command の Text subwidget 内でアップまたはダウンキーが押されると、テキストの値が List subwidget 中の前または次の項目に置き換えられます。 リスト中の選択された項目も、前または次の項目に変更されます。 XmNcommandChangedCallback に対するコールバックが呼び出されます。

<DoubleClick>:
List subwidget 中の項目がダブルクリックされると、その項目は選択されると同時にリストの最後に追加されます。 XmNcommandEnteredCallback と XmNcommandChangedCallback に対するコールバックが呼び出されます。

<key>F1:
ファンクションキー1 が押されると、XmNhelpCallback に対するコールバックが呼び出されます。

<FocusIn>:
widget ウィンドウで FocusIn event が発生すると、XmNfocusCallback に対するコールバックが呼び出されます。

<MapWindow>:
DialogShell の子である Command がマップされると、XmNmapCallback に対するコールバックが起動されます。 DialogShell の子でない Command がマップされても、コールバックは起動されません。

<UnmapWindow>:
DialogShell の子である Command がアンマップされると、XmNunmapCallback に対するコールバックが起動されます。 DialogShell の子でない Command がアンマップされても、コールバックは起動されません。

デフォルトのトランスレーション

Command は、SelectionBox からのデフォルトのトランスレーションを継承します。

デフォルトアクセラレータ

BulletinBoard の親が Dialogshell であれば、BulletinBoard の子孫に追加されるデフォルトアクセラレータトランスレーションは、次のようになります。

#override
<Key>F1:Help()
<Key>Return:Return()
<Key>KP_Enter: Return()

デフォルトテキストアクセラレータ

SelectionBox から継承されるデフォルトテキストアクセラレータは、次のようになります。

#override
<Key>Up:UpOrDown(0)
<Key>Down:UpOrDown(1)
<Key>F1:Help()
<Key>Return:Return()
<Key>KP_Enter: Return()

キーボードトラバース

キーボードトラバースについての情報は、XmManager(3XM) のマニュアルページと、その「動作」と「デフォルトのトランスレーション」のセクションを参照してください。

関連事項

Composite(3XM), Constraint(3XM), Core(3XM), XmBulletinBoard(3XM), XmCommandAppendValue(3XM), XmCommandError(3XM), XmCommandGetChild(3XM), XmCommandSetValue(3XM), XmCreateCommand(3XM), XmManager(3XM), XmSelectionBox(3XM)

NEWS-OSRelease 4.1C

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