Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Composite(3XM)

Core(3XM)

OverrideShell(3XM)

Shell(3XM)

XmCreateMenuShell(3XM)

XmCreatePopupMenu(3XM)

XmCreatePulldown(3XM)

XmRowColumn(3XM)

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

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