Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmSelectionBox(3XM) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Composite(3XM)

Constraint(3XM)

Core(3XM)

XmBulletinBoard(3XM)

XmCreateSelectionBox(3XM)

XmCreateSelectionDialog(3XM)

XmCreatePromptDialog(3XM)

XmManager(3XM)

XmSelectionBoxGetChild(3XM)

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

名称

XmSelectionBox — SelectionBox widget クラス

形式

#include <Xm/Selection.h>

解説

SelectionBox は一般的なダイアログ widget で、これによって、ユーザは項目の並びから 1 つの項目を選択することができます。 SelectionBox は次のものを含んでいます。

•選択に用いる、スクロールするリスト。

•選択するものをエディットできるテキストフィールド。

•リストとテキストフィールドのラベル。

•3 つのボタン。

デフォルトのボタンラベルは、OK、Cancel、Help です。 Apply ボタンは管理されないものとして作成されますが、必要ならば、明示的に管理できます。 SelectionBox を作成した後に、WorkArea の子を 1 つ付加することができます。

ユーザは 2 つの方法で項目を選択できます。 1 つは、項目のリストをスクロールして、望む項目を選ぶ方法です。 もう 1 つは、項目名をテキストエディットエリアに直接入力する方法です。 リストから項目名を選択すると、テキストエディットエリアにその項目名が表示されます。

ユーザは何回でも新しい項目の選択ができます。 項目はユーザが OK PushButton を押すと実際に選択されます。

クラス

SelectionBox は、Core、Composite、Constraint、XmManager、XmBulletinBoard の動作とリソースを継承します。

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

クラス名は XmSelectionBox です。

新しいリソース

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

XmSelectionBox リソース一覧
名称 クラス 型 デフォルト アクセス
XmNapplyCallback XmCCallback XtCallbackList NULL C
XmNapplyLabelString XmCApplyLabelString XmString "Apply" CSG
XmNcancelCallback XmCCallback XtCallbackList NULL CSG
XmNcancelLabelString XmCXmString XmString "Cancel" CSG
XmNdialogType XmCDialogType unsigned char dynamic CG
XmNhelpLabelString XmCXmString XmString "Help" CSG
XmNlistItemCount XmCItemCount int 0 CSG
XmNlistItems XmCItems XmStringList NULL CSG
XmNlistLabelString XmCXmString XmString NULL CSG
XmNlistVisibleItemCount XmCVisibleItemCount int 8 CSG
XmNminimizeButtons XmCMinimizeButtons Boolean False CSG
XmNmustMatch XmCMustMatch Boolean False CSG
XmNnoMatchCallback XmCCallback XtCallbackList NULL C
XmNokCallback XmCCallback XtCallbackList NULL C
XmNokLabelString XmCXmString XmString "OK" CSG
XmNselectionLabelString XmCXmString XmString "Selection" CSG
XmNtextAccelerators XmCTextAccelerators XtTranslations 下記参照 C
XmNtextColumns XmCTextColumns int 20 CSG
XmNtextString XmCTextString XmString NULL CSG

XmNapplyCallback
ユーザが Apply ボタンをクリックすると呼び出される、コールバックリストを指定します。 コールバックのリーズンは XmCR_APPPLY です。

XmNapplyLabelString
Apply ボタンのラベルの文字列を指定します。

XmNcancelCallback
ユーザが Cancel ボタンをクリックすると呼び出される、コールバックリストを指定します。 コールバックのリーズンは XmCR_CANCEL です。

XmNcancelLabelString
Cancel ボタンのラベルの文字列を指定します。

XmNdialogType
初期化の際に作成され、管理される SelectionBox の子の集合を決定します。 次の値を持つことができます。

•XmDIALOG_PROMPT — リストおよびラベルが作成されず、Apply ボタンが管理されていない。

•XmDIALOG_SELECTION — Apply ボタンを除く標準の子がすべて作成、管理されている。

•XmDIALOG_WORK_AREA — 標準の子がすべて作成、管理されている。

SelectionBox の親が DialogShell である場合、デフォルトは XmDIALOG_SELECTION になります。 それ以外の場合、デフォルトは XmDIALOG_WORK_AREA です。 XmCreatePromptDialog および XmCreateSelectoinDialog はこのリソースを設定し、アプリケーションが提供する arglist に付け加えます。 このリソースは、生成時以外の時に変更することはできません。

XmNhelpLabelString
Help ボタンのラベルの文字列を指定します。

XmNlistItems
SelectionBox のリストの項目を指定します。

XmNlistItemCount
SelectionBox のリストの項目数を指定します。

XmNlistLabelString
選択する項目を含んだ SelectionBox のリストの上に表示するラベルの文字列を指定します。

XmNlistVisibleItemCount
SelectionBox リストのうち表示されている項目の数を指定します。

XmNminimizeButtons
False の場合は、ボタンの幅と高さを、ボタンの最大の幅と最大の高さに設定します。 True の場合はボタンの幅および高さは修正されません。

XmNmustMatch
選択 widget に、ユーザがテキストエディットフィールドに入力したものが SelectionBox のリスト中の項目と正確に一致するかをチェックさせるかどうかを指定します。 XmNmustMatch が True の場合、完全に一致しないと、XmNnoMatchCallback がアクティブになります。 完全に一致した場合は XmNapplyCallback あるいは XmNokCallback のいずれかがアクティブになります。

XmNnoMatchCallback
ユーザがテキストエディットフィールドに入力した選択項目がリスト中の項目のどれとも一致しない時に呼び出されるコールバックリストを指定します。 コールバックのリーズンは XmCR_NO_MATCH です。 このリスト中のコールバックは XmNmustMatch が True の場合にのみ呼び出されます。

XmNokCallback
ユーザが OK ボタンをクリックした時に呼び出されるコールバックリストです。 コールバックのリーズンは XmCR_OK です。

XmNokLabelString
OK ボタンのラベルの文字列を指定します。

XmNselectionLabelString
テキストエディットフィールドのラベルの文字列を指定します。

XmNtextAccelerators
SelectionBox の子に当たる Text widget に付け加えるトランスレーションを指定します。 デフォルトには、リストの項目の自動的な選択に対応する up キーと down キーのキーバインディングを含みます。 ダイアログのコンポーネントに対応して、BulletinBoard で定義された通常のトランスレーションも含んでいます。

XmNtextColumns
Text widget 中のカラム数を指定します。

XmNtextString
テキストエディット選択フィールド中のテキストを指定します。

継承されるリソース

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

XmBulletinBoard リソース一覧
名称 クラス 型 デフォルト アクセス
XmNallowOverlap XmCAllowOverlap Boolean True CSG
XmNautoUnmanage XmCAutoUnmanage Boolean True CSG
XmNbuttonFontList XmCButtonFontList XmFontList NULL 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 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_ANY 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 ;
} XmSelectionBoxCallbackStruct ;

reasonなぜコールバックが呼び出されたかを示します。

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

valueユーザが SelectionBox リストあるいは SelectionBox テキストフィールドに入力して選択された値を示します。

lengthXmString の値のバイト数を示します。

動作

次は SelectionBox の動作の概要です。

<OK Button Activated>:
OK ボタンがアクティブになると、XmNokCallback が呼び出されます。 リーズンは XmCR_OK です。 無効な選択が行われ、リストの項目のどれにも一致しない場合は、XmNmustMatch が、True であれば XmNnoMatchCallback が呼び出されます。 コールバックのリーズンは XmCR_NO_MATCH です。

<Apply Button Activated>:
Apply ボタンがアクティブになると、XmNapplyCallback が呼び出されます。 コールバックのリーズンは XmCR_APPLY です。 無効な選択が行われ、リストの項目のどれにも一致しない場合は、XmNmustMatche が、True であれば XmNnoMatchCallback が呼び出されます。 コールバックのリーズンは XmCR_NO_MATCH です。

<Cancel Button Activated>:
Cancel ボタンがアクティブになると、XmNcancelCallback が呼び出されます。 コールバックのリーズンは XmCR_CANCEL です。

<Help Button Activated> または <Key>F1:
Help ボタンあるいは Function Key 1 が押されると、XmNhelpCallback が呼び出されます。

<Default Button Activated> または <Key>Return:
デフォルトのボタンあるいはリターンキーが押されると、対応するコールバックが呼び出されます (XmNokCallback、XmNapplyCallback、XmNcancelCallback、XmNhelpCallback)。

<Key>Up または <Key>Down:
SelectionBox の Text subwidget 内で up キーあるいは down キーを押すと、テキストの値は List subwidget 中の直前の項目あるいは次の項目に置き換えられます。

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

<MapWindow>:
DialogShell の子に当たる SelectionBox がマップされると、コールバック XmNmapCallback が呼び出されます。 DialogShell の子ではない SelectionBox がマップされた場合はコールバックは呼び出されません。

<UnmapWindow>:
DialogShell の子に当たる SelectionBox がアンマップされると、コールバック XmNunmapCallback が呼び出されます。 DialogShell の子ではない SelecitonBox がアンマップされた場合はコールバックは呼び出されません。

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

以下は SelectionBox widget に対して定義されているデフォルトのトランスレーションです。

<EnterWindow>: Enter()
<FocusIn>:FocusIn()
<Btn1Down>:Arm()
<Btn1Up>:Activate()
<Key>F1:Help()
<Key>Return:Return()
<Key>KP_Enter: Return()

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

以下は SelectionBox の子孫に対して付加されるデフォルトのアクセラレータトランスレーションです。

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

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

以下は SelectionBox の子に当たる Text widget に対して付加されるデフォルトのアクセラレータです。

#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), XmCreateSelectionBox(3XM), XmCreateSelectionDialog(3XM), XmCreatePromptDialog(3XM), XmManager(3XM), XmSelectionBoxGetChild(3XM)

NEWS-OSRelease 4.2.1R

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