XmArrowButton(3XM) — NEWS-OS Programmer’s Manual
名称
XmArrowButton — ArrowButton widget クラス
形式
#include <Xm/ArrowB.h>
解説
ArrowButton は、まわりを影で囲まれた、方向を持った矢印からなっています。 選択されると、影が動いて ArrowButton が押し込まれたように見えます。 ArrowButton が選択されていない状態にすると、影が動いて ArrowButton が離されて、浮き上がったように見えます。
クラス
ArrowButton は Core と XmPrimitive から動作とリソースを継承します。
クラスポインタは xmArrowButtonWidgetClass です。
クラス名は XmArrowButton です。
新しいリソース
次の表は、データを指定するのに用いる widget リソースの一覧です。 継承されたクラスのリソースの値もまた widget の属性として設定することができます。 .Xdefaults ファイルの中で名前やクラスでリソースを参照する場合は、語頭の XmN または XmC を取り除いた名称を用いてください。 .Xdefaults ファイルの中でリソースに定義された値を設定するには、語頭の Xm を取り除いた名称を用いてください。 (大文字と小文字は区別されませんが、語間のアンダースコアは必要です。 ) 「アクセス」欄の文字は、与えられたリソースを、widget 生成時に設定できるか (C)、XtSetValues で設定できるか (S)、XtGetValues で取り出すことができるか (G)、あるいは利用できないか (N/A) を示します。
| XmArrowButton リソース一覧 | ||||
| 名称 | クラス | 型 | デフォルト | アクセス |
| XmNactivateCallback | XmCCallback | XtCallbackList | NULL | C |
| XmNarmCallback | XmCCallback | XtCallbackList | NULL | C |
| XmNarrowDirection | XmCArrowDirection | unsigned char | XmARROW_UP | CSG |
| XmNdisarmCallback | XmCCallback | XtCallbackList | NULL | C |
XmNactiveCallback
ArrowButton がアクティブになった時に呼び出されるコールバックのリストを指定します。 ボタンをアクティブにするには、マウスポインタが ArrowButton widget の中にあるときに、マウスボタン 1 をクリックしてください。 ArrowButton をアクティブにすることは、それをディスアームする (使えなくする) ことにもなります。 このコールバックによって送られるリーズンは XmCR_ACTIVATE です。
XmNarmCallback
ArrowButton がアームされた時 (使う準備を整える時) に呼び出されるコールバックのリストを指定します。 ボタンをアームするには、マウスポインタが ArrowButton widget の中にあるときに、マウスボタン 1 をクリックしてください。 このコールバックのためのリーズンは XmCR_ARM です。
XmNarrowDirection
矢印の方向を設定します。 このリソースには次の値があります。
•XmARROW_UP
•XmARROW_DOWN
•XmARROW_LEFT
•XmARROW_RIGHT
XmNdisarmCallBack
ArrowButton がディスアームされた時に呼び出されるコールバックのリストを指定します。 ボタンをディスアームするには、 マウスポインタが ArrowButton widget の中にあるときに、 マウスボタン 1 をクリックしてください。 このコールバックのための リーズンは XmCR_DISARM です。
継承されるリソース
ArrowButton は、次のようなスーパークラスから動作とリソースを継承しています。 これらのリソースに関する詳細は、そのスーパークラスの項を参照してください。
| XmPrimitive リソース一覧 | ||||
| 名称 | クラス | 型 | デフォルト | アクセス |
| 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 |
| XmNhighlightOnEnter | XmCHighlightOnEnter | Boolean | False | CSG |
| XmNhighlightPixmap | XmCHighlightPixmap | Pixmap | dynamic | CSG |
| XmNhighlightThickness | XmCHighlightThickness | short | 0 | CSG |
| XmNshadowThickness | XmCShadowThickness | short | 2 | CSG |
| XmNtopShadowColor | XmCBackground | Pixel | dynamic | CSG |
| XmNtopShadowPixmap | XmCTopShadowPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG |
| XmNtraversalOn | XmCTraversalOn | Boolean | False | CSG |
| XmNunitType | XmCUnitType | unsigned char | XmPIXELS | CSG |
| XmNuserData | XmCUserData | caddr_t | 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;
} XmAnyCallbackStruct;
reasonなぜコールバックが起きたのかを示します。
eventコールバックをトリガした XEvent を指します。 Primitive のリソースである XmNtraversalOn が True の時にコールバックがトリガされたか、ArmAndActivate アクションルーチンを通じてコールバックがアクセスされた時、XmNactivateCallback に対するこのイベントは NULL です。
動作
<Btn1Down>:
このアクションによって矢印がアームされ、影が選択された状態に描かれます。 XmNarmCallback で指定されたコールバックが呼び出されます。
<Btn1Up>:
マウスポインタが ArrowButton の上にあるときにマウスボタンが離されると、矢印の影は選択されていない状態に描き直されます。 XmNdisarmCallback で指定されたコールバックに続いて、XmNactivateCallback で指定されたコールバックが呼び出されます。
マウスポインタが ArrowButton の上にないときにマウスボタンが離された時は、XmNdisarmCallback で指定されたコールバックが呼び出されます。
<Leave Window>:
マウスのボタンが押されたままカーソルが widget のウィンドウの外に出ると、矢印の影は選択されていない状態に描き直されます。
<Enter Window>:
マウスのボタンが押されたままカーソルが widget のウィンドウを出て、また入ってくると、矢印の影はボタンが最初にアームされた時と同様に描き直されます。
デフォルトのトランスレーション
<Btn1Down>:Arm()
<Btn1Up>:Activate()
Disarm()
<Key>Return:ArmAndActivate()
<Key>Space:ArmAndActivate()
<EnterWindow>: Enter()
<LeaveWindow>: Leave()
キーボードトラバース
キーボードトラバースに関する情報は、XmPrimitive (3X) のマニュアルページ、およびその動作とデフォルトのトランスレーションに関するページを参照してください。
関連事項
Core(3XM), XmCreateArrowButton(3XM), XmPrimitive(3XM)
NEWS-OSRelease 4.1C