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