XmMenuShell(3XM) — NEWS-OS Programmer’s Manual
名称
XmMenuShell — MenuShell widget クラス
形式
#include <Xm/MenuShell.h>
解説
MenuShell widget はカスタムの OverrideShell widget です。 OverrideShell widget は表示されている時、ウィンドウマネージャを無視します。 これは Popup ManuPane や Pulldown MenuPane を得るために特別に設定されたものです。
アプリケーション作成者は Popup ManuPane や Pulldown MenuPane を作るために XmCreatePopupMenu や XmCreatePulldown Menu といったメニューシステムの簡易関数を使用するならば、この widget を使う必要はありません。 簡易関数は、MenuPane の親として自動的に MenuShell widget を作りだします。 しかし簡易関数を使用しないなら、アプリケーションプログラマが必要な MenuShell を作らなければなりません。 この場合、MenuShell の親は組み込まれるメニューシステムの型に依存することに注意する必要があります。
•MenuShell が最上位の Popup MenuPane に対するものなら、MenuShell は Popup MenuPane がポップアップされる widget の子として作られなければなりません。
•MenuShell が Popup MenuPane または他の Pulldowm MenuPane からプルダウンされる MenuPane に対するものなら、MenuShell は Popup MenuPane または Pulldown MenuPane の親 MenuShell の子として作られなければなりません。
•MenuShell が MenuBar からプルダウンされる MenuPane に対するものなら、MenuShell は MenuBar の子として作られなければなりません。
•MenuShell が OptionMenu の Pulldowm MenuPane に対するものなら、MenuShell は Option Menu と同じ親を持たなければなりません。
クラス
MenuShell は Core、Composite、Shell、OverrideShell のクラスより動作やリソースを継承します。
クラスポインタは xmMenuShellWidgetClass です。
クラスの名称は XmMenuShell です。
新しいリソース
MenuShell は新しいリソースを定義しませんが、Shell 中の XmNallowShellResize リソースをオーバーライドします。
継承されるリソース
MenuShell は以下のスーパークラスより動作とリソースを継承します。 これらのリソースの機能はそれぞれのスーパークラスのマニュアルページを参照してください。 次の表は、データを指定するのに用いる widget リソースの一覧です。 継承されたクラスのリソースの値もまた widget の属性として設定することができます。 .Xdefaults ファイルの中で名前やクラスでリソースを参照する場合は、語頭の XmN または XmC を取り除いた名称を用いてください。 .Xdefaults ファイルの中でリソースに定義された値を設定するには、語頭の Xm を取り除いた名称を用いてください。 (大文字と小文字は区別されませんが、語間のアンダースコアは必要です。 ) 「アクセス」欄の文字は、与えられたリソースを、widget 生成時に設定できるか (C)、XtSetValues で設定できるか (S)、XtGetValues で取り出すことができるか (G)、あるいは利用できないか (N/A) を示します。
| Shell リソース一覧 | ||||
| 名称 | クラス | 型 | デフォルト | アクセス |
| XmNallowShellReize | XmCAllowShellReize | Boolean | True | G |
| XmNancestorSensitive | XmCSensitive | Boolean | ShellAncestorSensitive | G |
| XmNCreatePopupChildProc | XmCCreatePopupChildProc | XmCreatePopupChildProc | NULL | CSG |
| XmNdept | XmCDept | int | ShellDepth | CSG |
| XmNgeometry | XmCGeometry | caddr_t | NULL | CSG |
| XmNoverrideRedirect | XmCOverrideRedirect | Boolean | True | CSG |
| XmNpopdownCallback | XmCCallback | caddr_t | NULL | C |
| XmNpopupCallback | XmCCallback | caddr_t | NULL | C |
| XmNsaveUnder | XmCSaveUnder | Boolean | True | CG |
| Composite リソース一覧 | ||||
| 名称 | クラス | 型 | デフォルト | アクセス |
| XmNinsertPosition | XmCInsertPosition | XmRFunction | NULL | CSG |
| Core リソース一覧 | ||||
| 名称 | クラス | 型 | デフォルト | アクセス |
| XmNaccelerators | XmCAccelerators | XtTranslations | NULL | CSG |
| XmNancestorSensitive | XmCSensitive | Boolean | ShellAncestorSensitive | CSG |
| XmNbackground | XmCBackground | Pixel | White | CSG |
| XmNbackgroundPixmap | XmCPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG |
| XmNborderColor | XmCBorderColor | Pixel | Black | CSG |
| XmNborderPixmap | XmCPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG |
| XmNborderWidth | XmCBorderWidth | Dimension | 1 | CSG |
| XmNcolormap | XmCColormap | Colormap | ShellColormap | CG |
| XmNdepth | XmCDepth | int | ShellDept | 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 |
動作
使用される特別なマウスボタンはメニューの上位の RowColumn widget 中の XmNrowColumnType や XmNwhichButton といったリソースに依存します。
デフォルト PopupMenu システム
<Btn3Down>:
このイベントが別のメニューコンポーネントによって処理されていなければ、この操作はメニューに対するキーボードトラバースをディセーブルにし、ユーザをドラッグモードに戻します。
<Btn3Up>:
このイベントが別のメニューコンポーネントによって処理されていなければ、すべての表示用 MenuPane は表示されません。
<Key>Escape:
このイベントが別のメニューコンポーネントによって処理されていなければ、すべての表示用 MenuPane は表示されません。
デフォルト PolldownMenu システムおよび OptionMenu システム
<Btn1Down>:
このイベントが別のメニューコンポーネントによって処理されていなければ、この操作はメニューに対するキーボードトラバースを使用不可能にし、ユーザをドラッグモードに戻します。
<Btn1Up>:
このイベントが別のメニューコンポーネントによって処理されていなければ、すべての表示用 MenuPane は表示されません。
<Key>Escape:
このイベントが別のメニューコンポーネントによって処理されていなければ、すべての表示用 MenuPane は表示されません。
デフォルトのトランスレーション
MenuShell のデフォルトのトランスレーションは次のようなものがあります。
<BtnDown>:ClearTraversal()
<Key>Escape:MenuShellPopdownDone()
<BtnUp>:MenuShellPopdownDone()
関連事項
Composite(3XM), Core(3XM), OverrideShell(3XM), Shell(3XM), XmCreateMenuShell(3XM), XmCreatePopupMenu(3XM), XmCreatePulldown(3XM), XmRowColumn(3XM)
NEWS-OSRelease 4.1C