Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmLabelGadget(3XM) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Object(3XM)

RectObj(3XM)

XmCreateLabelGadget(3XM)

XmFontListCreate(3XM)

XmGadget(3XM)

XmStringCreate(3XM)

XmStringCreateLtoR(3XM)

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

名称

XmLabelGadget — LabelGadget widget クラス

形式

#include <Xm/LabelG.h>

解説

LabelGadget は、インスタンスを生成できる widget で、PushButtonGadget や ToggleButtonGadget のような他のボタン gadget に対するスーパークラスとしても使用されます。 LabelGadget widget は、ボタンやキー入力を受け付けず、ヘルプコールバックが定義されている唯一のコールバックです。 ラベル gadget は、エンタ (enter) およびリーブ (leave) イベントも受け付けます。

LabelGadget は、テキストあるいはピックスマップを含むことができます。 LabelGadget のテキストは、コンパウンドストリングです。 コンパウンドストリングについてのより詳しい情報は、XmString を参照してください。 テキストは、複数の方向にも、複数の行にも書くことができ、マルチフォントが使用できます。 LabelGadget がインセンシティブの場合、そのテキストは点画で描かれるか、あるいはユーザが用意したインセンシティブ用のピックスマップが表示されます。

LabelGadget は、メニューに含まれている LabelGadget サブクラス widget 中で使用するために、あらかじめアクセラレータとニーモニックの両方をサポートしています。 ニーモニックは、ボタンが表示されている場合、メニューシステム中で使用することができます。 メニューシステム中のアクセラレータは、ボタンが表示されていない場合でもアクセス可能です。 LabelGadget は、テキストの文字列中で最初に一致した文字にアンダーラインを引くことによってニーモニックを表示します。 アクセラレータは、ラベルテキストあるいはピックスマップの右側にテキスト文字列として表示されます。

LabelGadget は、テキストあるいはピックスマップの周辺の多くのマージン領域から構成されています。 これらのマージン領域は、ユーザによって設定されるリソースです。 しかし、LabelGadget サブクラスもこれらの領域のいくつかを変更します。 サブクラスは、XmNmarginLeft、XmNmarginRight、XmNmarginTop、XmNmarginBottom リソースを変更し、XmNmarginWidth、XmNmarginHeight リソースをアプリケーションが設定するものとしてそのままにしておく傾向があります。

クラス

LabelGadget は、Object と RectObj、XmGadget クラスからの動作とリソースを継承します。

クラスポインタは、xmLabelGadgetClass です。

クラス名は、XmLabelGadget です。

新しいリソース

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

XmLabelGadget リソース一覧
名称 クラス 型 デフォルト アクセス
XmNaccelerator XmCAccelerator String NULL CSG
XmNacceleratorText XmCAcceleratorText XmString NULL CSG
XmNalignment XmCAlignment char unsignedchar _CENTER XmALIGNMENT_CENTER CSG
XmNfontList XmCFontList XmFontList "Fixed" CSG
InsensitivePixmap XmNlabelInsensitivePixmap InsensitivePixmap XmCLabelInsensitivePixmap Pixmap _PIXMAP XmUNSPECIFIED_PIXMAP CSG
XmNlabelPixmap XmCPixmap Pixmap _PIXMAP XmUNSPECIFIED_PIXMAP CSG
XmNlabelString XmCXmString XmString NULL CSG
XmNlabelType XmCLabelType char unsignedchar XmSTRING CSG
XmNmarginBottom XmCMarginBottom short 0 CSG
XmNmarginHeight XmCMarginHeight short 2 CSG
XmNmarginLeft XmCMarginLeft short 0 CSG
XmNmarginRight XmCMarginRight short 0 CSG
XmNmarginTop XmCMarginTop short 0 CSG
XmNmarginWidth XmCMarginWidth short 2 CSG
XmNmnemonic XmCMnemonic char ‘\0’ CSG
XmNrecomputeSize XmCRecomputeSize Boolean True CSG
XmNstringDirection XmCStringDirection Direction XmStringDirection _L_TO_R XmSTRING_DIRECTION_L_TO_R CSG

XmNaccelerator
メニュー中のボタン widget におけるアクセラレータを設定します。 アクセラレータは、キーボードから、表示されている、あるいは表示されていないボタンを動作させます。 このリソースは、ボタンを選択するために使用する 1 組の修飾子とキーを記述する文字列です。 この文字列のフォーマットには、1 つのイベントのみを指定することができることと、 KeyPress イベントのみが許されるということを除いては、トランスレーションを行うマネージャによって使用されるフォーマットと同一です。

ボタンに対するアクセラレータは、特定のメニュー gadget における特定のボタン、すなわち、Pulldown と Popup MenuPane における PushButtonGadget と ToggleButtonGadget に対してのみサポートされています。

XmNacceleratorText
アクセラレータに対して表示されるテキストを指定します。 テキストは、ラベル文字列あるいはピックスマップの右側に表示されます。 ボタンに対するアクセラレータテキストは、Pulldown と Popup Menu における PushButtonGadget と ToggleButtonGadget に対してのみ表示されます。

XmNalignment
テキストあるいはピックスマップのラベルの揃え方を指定します。

•XmALIGNMENT_CENTER (中央揃え) — テキスト行の中央を親ウィンドウの中央に垂直に揃えます。 ピックスマップに対しては、その中央を widget ウィンドウの中央に垂直に揃えます。

•XmALIGNMENT_END (右揃え) — テキスト行の右端を親ウィンドウの右端に垂直に揃えます。 ピックスマップに対しては、その右端を widget ウィンドウの右端に垂直に揃えます。

•XmALIGNMENT_BEGINNING (左揃え) — テキスト行の左端を親ウィンドウの左端に垂直に揃えます。 ピックスマップに対しては、その左端を widget ウィンドウの左端に垂直に揃えます。

テキストに関する上述の解説は、XmNstringDirection が XmSTRING_DIRECTION_L_TO_R である場合には、正しい解説です。 このリソースが XmSTRING_DIRECTION_R_TO_L の場合は、XmALIGNMENT_BEGINNING と XmALIGNMENT_END に関する解説が入れ替わります。

XmNfontList
gadget で使用されるテキストのフォントを指定します。 フォントリストの生成と構造についてのより詳しい情報は、XmFontListCreate(3XM) を参照してください。

XmNlabelInsensitivePixmap
XmNlabelType が XmPIXMAP で、ボタンがインセンシティブの場合、ボタンフェースとして使用されるピックスマップを指定します。

XmNlabelPixmap
XmNlabelType が XmPIXMAP の場合、ピックスマップを指定します。

XmNlabelString
XmNlabelType が XmSTRING の場合、コンパウンドストリングを指定します。 コンパウンドストリングの生成と構造についてのより詳しい情報は、XmStringCreate(3XM) あるいは XmStringCreateLtoR(3XM) を参照してください。

XmNlabelType
ラベルの型を指定します。

•XmSTRING — テキストは、XmNlabelString を表示します。

•XmPIXMAP — ピックスマップにおけるアイコンのデータは、XmNlabelPixmap あるいは XmNlabelInsensitivePixmap を表示します。

XmNmarginBottom
gadget の下端のマージン (XmNmarginHeight) から描かれたラベルまでに残っているスペースの大きさを指定します。 これは、LabelGadget サブクラスによって変更されます。 たとえば、CascadeButtonGadget はこの領域を増加させて、カスケードピックスマップのための隙間を作ります。

XmNmarginHeight
上側の影の下端とラベル間、下側の影の上端とラベルの間のスペースの大きさを指定します。

XmNmarginLeft
gadget の左端のマージン (XmNmarginWidth) から描かれたラベルまでに残っているスペースの大きさを指定します。 これは、LabelGadget サブクラスによって変更されます。 たとえば、ToggleButtonGadget はこの領域を増加させて、トグルインジケータのため、およびインジケータとラベルの間にスペースを入れるための隙間を作ります。

XmNmarginRight
gadget の右端のマージン (XmNmarginWidth) から描かれたラベルまでに残っているスペースの大きさを指定します。 これは、LabelGadget サブクラスによって変更されます。 たとえば、CascadeButtonGadget はこの領域を増加させて、カスケードピックスマップのための隙間を作ります。

XmNmarginTop
gadget の上端のマージン (XmNmarginHeight) から描かれたラベルまでに残っているスペースの大きさを指定します。 これは、LabelGadget サブクラスによって変更されます。 たとえば、CascadeButtonGadget はこの領域を増加させて、カスケードピックスマップのための隙間を作ります。

XmNmarginWidth
左側の影の右端とラベル間、右側の影の左端とラベルの間のスペースの大きさを指定します。

XmNmnemonic
ユーザに、ボタンを選択するためのいくつかの方法を与えます。 ニーモニックを使用するためには、ボタンが表示されていなければなりません。 Popup MenuPane、Pulldown MenuPane あるいはオプションメニューのいずれかにおけるボタンは、ニーモニックを持つことが許されています。

このリソースは、1 つの文字を含んでいます。 ボタンが表示されている場合、ニーモニックと正しく一致するラベル文字列の最初の文字は、アンダーラインが引かれます。

ニーモニックは、指定されたニーモニックの文字を入力することによって実行することができます。 ニーモニックは、大文字でも小文字でも同じ意味になります。 アンダーラインが引かれた文字は、修飾されたキーであることができますが、入力されるキーは、常に修飾されていないキーでなければなりません。

XmNrecomputeSize
gadget の大きさが、ラベルを含むために常に十分な大きさになるようにするかどうかを示すブール代数値を指定します。 True の場合は、新しいラベルの文字列あるいはピックスマップ、アクセラレータのテキスト、マージン、フォントあるいはラベルタイプを持つ XtSetValues が、新しいラベルの文字列あるいはピックスマップに正しく合うように gadget を縮小あるいは拡大します。 False の場合は、gadget は、それ自身では決して大きさを変えることはありません。

XmNstringDirection
文字列が描かれる方向を指定します。

•XmSTRING_DIRECTION_L_TO_R — 左から右へ。

•XmSTRING_DIRECTION_R_TO_L — 右から左へ。

継承されるリソース

LabelGadget は、次のスーパークラスからの動作とリソースを継承します。 これらのリソースについての完全な解説は、そのスーパークラスのマニュアルページを参照してください。

XmGadget リソース一覧
名称 クラス 型 デフォルト アクセス
XmNhelpCallback XmCCallback XtCallbackList NULL C
OnEnter XmNhighlightOnEnter OnEnter XmCHighlightOnEnter Boolean False CSG
Thickness XmNhighlightThickness Thickness XmCHighlightThickness short 0 CSG
Thickness XmNshadowThickness Thickness XmCShadowThickness short 0 CSG
XmNtraversalOn XmCTraversalOn Boolean False CSG
XmNunitType XmCUnitType unsigned char XmPIXELS CSG
XmNuserData XmCUserData caddr_t NULL CSG
RectObj リソース一覧
名称 クラス 型 デフォルト アクセス
XmNancestorSensitive XmCSensitive Boolean Parent XtCopyFromParent CSG
XmNborderWidth XmCBorderWidth Dimension 0 CSG
XmNheight XmCHeight Dimension 0 CSG
XmNsensitive XmCSensitive Boolean True CSG
XmNwidth XmCWidth Dimension 0 CSG
XmNx XmCPosition Position 0 CSG
XmNy XmCPosition Position 0 CSG

Object リソース一覧
名称 クラス 型 デフォルト アクセス
XmNdestroyCallback XmCCallback XtCallbackList NULL C

キーボードトラバース

キーボードトラバースに関する情報は、XmGadget(3XM) のマニュアルページとその動作とデフォルトのトランスレーションに関する章を参照してください。

関連事項

Object(3XM), RectObj(3XM), XmCreateLabelGadget(3XM), XmFontListCreate(3XM), XmGadget(3XM), XmStringCreate(3XM), XmStringCreateLtoR(3XM)

NEWS-OSRelease 4.2.1R

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