Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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

名称

XmLabel —  Label widget クラス

形式

#include <Xm/Label.h>

解説

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

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

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

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

クラス

Label は、Core と XmPrimitive クラスからの動作とリソースを継承します。

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

クラス名は、XmLabel です。

新しいリソース

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

XmLabel リソース一覧
名称 クラス 型 デフォルト セス アクセス
XmNaccelerator XmCAccelerator String NULL CSG
XmNacceleratorText XmCAcceleratorText XmString NULL CCG
XmNalignment XmCAlignment unsigned char _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 unsigned char 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 Direction XmCStringDirection Direction XmStringDirection _L_TO_R XmSTRING_DIRECTION_L_TO_R CSG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MenuBar ボタンに対してニーモニックが設定された場合、ユーザは、meta キーと設定されたニーモニックのキーを同時に入力することによりニーモニックを実行します。 他のすべてのニーモニックは、設定されたニーモニックを入力することによって実行することができます。 ニーモニックは、大文字でも小文字でも同じ意味になります。 アンダーラインが引かれた文字は、修飾されたキーであることができますが、入力されるキーは、常に修飾されていないキーでなければなりません。

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

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

•XmSTRING_DIRECTION_L_TO_R — 左から右へ。

•XmSTRING_DIRECTION_R_TO_L — 右から左へ。

継承されるリソース

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

XmPrimitive リソース一覧
名称 クラス 型 デフォルト セス アクセス
XmNbottomShadowColor XmCForeground Pixel dynamic CSG
XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap _PIXMAP XmUNSPECIFIED_PIXMAP CSG
XmNforeground XmCForeground Pixel dynamic CSG
XmNhelpCallback XmCCallback backList 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 0 CSG
XmNtopShadowColor XmCBackground Pixel dynamic CSG
XmNtopShadowPixmap XmCTopShadowPixmap Pixmap _PIXMAP XmUNSPECIFIED_PIXMAP CSG
XmNtraversalOn XmCTraversalOn Boolean False CSG
XmNunitType XmCUnitType char unsignedchar XmPIXELS CSG
XmNuserData XmCUserData caddr_t NULL CSG

Core リソース一覧
名称 クラス 型 デフォルト アクセス
XmNaccelerators XmCAccelerators lations XtTranslations NULL CSG
XmNancestorSensitive XmCSensitive Boolean True G
XmNbackground XmCBackground Pixel dynamic CSG
XmNbackgroundPixmap XmCPixmap Pixmap _PIXMAP XmUNSPECIFIED_PIXMAP CSG
XmNborderColor XmCBorderColor Pixel Black CSG
XmNborderPixmap XmCPixmap Pixmap _PIXMAP XmUNSPECIFIED_PIXMAP CSG
XmNborderWidth XmCBorderWidth Dimension 0 CSG
XmNcolormap XmCColormap Colormap FromParent XtCopyFromParent CG
XmNdepth XmCDepth int FromParent XtCopyFromParent CG
XmNdestroyCallback XmCCallback backList XtCallbackList NULL C
XmNheight XmCHeight Dimension 0 CSG
XmNmappedWhenManaged WhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Pointer Screen XtCopyScreen CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtranslations XmCTranslations lations 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コールバックが呼び出されたリーズンを示します。 Label で使用されるコールバックに対しては、reason は XmCR_HELP に設定されます。

eventコールバックを呼び出した XEvent を示します。

動作

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

<EnterWindow>: Enter()
<LeaveWindow>: Leave()

キーボードトラバース

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

関連項目

Core(3XM), XmCreateLabel(3XM), XmFontListCreate(3XM), XmPrimitive(3XM), XmStringCreate(3XM), XmStringCreateLtoR(3XM)

NEWS-OSRelease 4.2.1R

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