Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmManager(3XM) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Composite(3XM)

Constrain(3XM)

Core(3XM)

XmGadget(3XM)

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

名称

XmManager — Manager widget クラス

形式

#include <Xm/Xm.h>

解説

Manager は他の widget クラスをサポートするスーパークラスとして使用される widget クラスです。 マネージャはグラフィックやトラバース機構に必要となるビジュアルリソース、グラフィックコンテクスト、トラバースリソースをサポートします。

クラス

Manager は Core Composite と Constraint のクラスより動作やリソースを継承します。

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

クラスの名称は XmManager です。

新しいリソース

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

XmManager リソース一覧
名称 クラス 型 デフォルト アクセス
XmNbottomShadowColor XmCForeground Pixel dynamic CSG
XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
Xmforeground XmCForeground Pixel dynamic CSG
XmNhelpCallback XmCCallback XtCallbackList NULL C
XmNhighlightColor XmCForeground Pixel Black CSG
XmNhighlightPixmap XmCHighlighrPixmap Pixmap dynamic CSG
XmNshadowThickness XmCShadowThickness short 0 CSG
XmNtopShadowColor XmCBackground Pixel dynamic CSG
XmNtopShadowPixmap XmCTopShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNunitType XmCUnitType unsigned char XmPIXELS CSG
XmNuserData XmCUserData caddr_t NULL CSG

XmNbottomShadowColor
ボーダの影の下側と右側を描くのに使用される色を指定します。 XmNbottomShadowPixmap リソースが NULL ならばこの色が使用されます。

XmNbottomShadowPixmap
ボーダの影の下側と右側を描くのに使用されるピックスマップを指定します。

XmNforeground
マネージャ widget で使用されるフォアグラウンドの描画色を指定します。

XmNhelpCallback
ヘルプキーシーケンスが押された時に呼び出されるコールバックのリストを指定します。 このコールバックによって送られるリーズンは XmCR_HELP です。 このリソースに関連したトランスレーションはありません。 アプリケーションがヘルプに対するトランスレーションを組み込む必要があります。

XmNhighlightColor
ハイライトの矩形の色を指定します。 ハイライトピックスマップリソースが XmUNSPECIFIED_PIXMAP ならばこの色が使用されます。

XmNhighlightPixmap
ハイライトの矩形を描くのに使用されるピックスマップを指定します。

XmNshadowThickness
描かれるボーダの影の太さを指定します。

XmNtopShadowColor
ボーダの影の上側と左側を描くのに使用される色を指定します。 XmNtopShadowPixmap リソースが NULL ならばこの色が使用されます。

XmNtopShadowPixmap
ボーダの影の上側と左側を描くのに使用されるピックスマップを指定します。

XmNunitType
解像度によらない処理に対して基礎的なサポートを行います。 widget が大きさのリソースや位置のリソースと共に使うユニットの型を定義します。 XmNunitType リソースが明示的に設定されていなければ、それが親 widget のユニットの型のデフォルトとなります。 親が Xm100TH_POINTS のユニットの型をしており、その子の XmNunitType リソースが設定されていないならば、子も Xm100TH_POINTS のユニットの型をしています。 これは親が XmManager のサブクラスであるような widget だけに適用されます。 親が XmManager のサブクラスでないような widget は XmPIXELS のユニットの型をしています。

XmNunitType は次のような値になります。

•XmPIXELS — widget に提供されたすべての値は普通のピクセル値としてあつかわれます。 これはリソースに対するデフォルトです。

•Xm100TH_MILLIMETERS — widget に提供されたすべての値は 1/100 ミリメーターを単位としてあつかわれます。

•Xm1000TH_INCHES — widget に提供されたすべての値は 1/1000 インチを単位としてあつかわれます。

•Xm100TH_POINTS — widget に提供されたすべての値は 1/100 ポイントを単位としてあつかわれます。 1 ポイントは一般的にテキストの処理に使われる単位で、1/72 インチです。

•Xm100TH_FONT_UNITS — widget に提供されたすべての値は 1/100 フォントユニットとしてあつかわれます。 フォントユニットとして使用される値は 2 つある方法の内の 1 つによって決められます。 リソース XmNfont はデフォルトファイル中やコマンドラインで使用されます。 -fn や -font といった標準コマンドラインオプションも使われます。 フォントユニットの値はフォントのプロパティである QUAD_WIDTH として受け取られます。 関数 XmSetFontUnits はアプリケーションがフォントユニット値を指定できるようにします。

XmNuserData
アプリケーションが widget に必要なデータを付加できるようにします。 内部的には使用されないリソースです。

ダイナミックカラーデフォルト

フォアグラウンド、バックグラウンド、上側の影、下側の影のリソースはダイナミックに既定されます。 色のデータが指定されない時は自動的に色を発生させます。 モノクロームシステムでは黒と白を配合して色を発生させます。 カラーシステムでは 3 次元の像を正しく隈取りするのに使われる 4 つの色を発生させます。

バックグラウンドの色だけが widget に指定されたならば、上側の影、下側の影、フォアグラウンドの色は 3 次元画像用に発生されます。 淡い色を使用すると最もうまく発色できます。 純粋な赤色や緑色や青色を使うとよい結果が得られません。

色は生成時にしか発生されません。 XtSetValue を使用しバックグラウンドをリセットしても他の色は作られません。

継承されるリソース

Manager はスーパークラスから次のリソースを継承します。 これらのリソースの詳細な解説は、そのスーパークラスのマニュアルページを参照してください。

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

動作

以下の解説は、子 Gadget を持つ Manager widget 用です。 Gadget には関連する変換がないので、Manager widget が必要な事柄を取り込んで適切な子 Gadget に渡さなければなりません。

Shift<Key>Tab:
フォーカスを前のタブグループに含まれる最初の項目に移動します。 タブグループリストの初めに到達すればタブグループリストの終わりに戻ります。

<Key>Tab:
フォーカスを次のタブグループに含まれる最初の項目に移動します。 現在のタブグループがタブグループリストの最後であれば、タブグループリストの最初に戻ります。

<Key>Up or <Key>Left:
キーボードフォーカスを現在のタブグループ中の前の Manager widget や gadget に移動します。 前の widget や gadget はタブグループの子に関するリストに以前に登録されたものです。 必要な場合、リストの初めに到達すればリストの終わりに戻ります。

<Key>Down or <Key>Right:
キーボードフォーカスを現在のタブグループの次の Manager widget や gadget に移動します。 次の widget や gadget はタブグループの子に関するリストに次に登録されるものです。 必要な場合、リストの終りに到達すればリストの最初に戻ります。

<Key>Home:
キーボードフォーカスを現在のタブグループの最初の Manager widget や gadget に移動します。

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

以下はすべてのマネージャ widget によって使われるトランスレーションです。

<EnterWindow>: ManagerEnter()
<FocusOut>:ManagerFocusOut()
<FocusIn>:ManagerFocusIn()
以下は以前の gadget イベント処理を準備するのに必要となるトランスレーションです。

<Key>space:ManagerGadgetSelect()
<Key>Return:ManagerGadgetSelect()
Shift<Key>Tab:ManagerGadgetPrevTabGroup()
<Key>Tab:ManagerGadgetNexTabGroup()
<Key>Up:ManagerGadgetTraversePrev()
<Key>Down:ManagerGadgetTraverseNext()
<Key>Left:ManagerGadgetTraversePrev()
<Key>Right:ManagerGadgetTraverseNext()
<Key>Home:ManagerGadgetTraverseHome()

関連事項

Composite(3XM), Constrain(3XM), Core(3XM), XmGadget(3XM)

NEWS-OSRelease 4.1C

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