Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Composite(3XM)

Constraint(3XM)

Core(3XM)

XmCreateScale(3XM)

XmManager(3XM)

XmScaleGetValue(3XM)

XmScaleSetValue(3XM)

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

名称

XmScale — Scale widget クラス

形式

#include <Xm/Scale.h>

解説

Scale は、アプリケーションがある範囲の値のうちから 1 つの値を指すのに使われます。 これによってユーザは、同じ範囲から値を入力したり修正したりすることができます。

Scale は、ScrollBar と同様の、細長い矩形の領域を持っています。 領域内には、Scale に沿って現在の値を指しているスライダがあります。 ユーザがスライダを Scale の矩形領域の中で動かすと、Scale の値を修正することができます。 Scale にはまた、Scale の領域の外に置かれたラベルのセットを含んでいます。 これらは、スケール上におけるさまざまな位置の相対的な値を示しています。

Scale は入出力ともに可能であるか、出力のみが可能かのどちらかです。 入出力ともに可能な Scale の値はアプリケーションが設定し、ユーザはスライダで修正することができます。 出力のみが可能な Scale は、何かについての現在値を示すものとして使うだけで、ユーザがインタラクティブに修正することはできません。 Core のリソースである XmNsensitive は、ユーザが Scale の値をインタラクティブに修正できるか否かを指定します。

クラス

Scale は Core、Composite、Constraints、および XmManager クラスから動作とリソースを継承します。

クラスのポインタは xmScaleWidgetClass です。

クラス名は XmScale です。

新しいリソース

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

XmScale リソース一覧
名称 クラス 型 デフォルト アクセス
XmNdecimalPoints XmCDecimalPoints short 0 CSG
XmNdragCallback XmCCallback XtCallbackList NULL C
XmNfontList XmCFontList XmFontList "Fixed" CSG
XmNhighlightOnEnter XmCHighlightOnEnter Boolean False CSG
XmNhighlightThickness XmCHighlightThickness short 0 CSG
XmNmaximum XmCMaximum int 100 CSG
XmNminimum XmCMinimum int 0 CSG
XmNorientation XmCOrientation unsigned char XmVERTICAL CSG
XmNprocessingDirection XmCProcessingDirection unsigned char XmMAX_ON_TOP CSG
XmNscaleHeight XmCScaleHeight Dimension 0 CSG
XmNscaleWidth XmCScaleWidth Dimension 0 CSG
XmNshowValue XmCShowValue Boolean False CSG
XmNtitleString XmCTitleString XmString NULL CSG
XmNtraversalOn XmCTraversalOn Boolean False CSG
XmNvalue XmCValue int 0 CSG
XmNvalueChangedCallback XmCCallback XtCallbackList NULL C

XmNdecimalPoints
スライダが示す値が表示される際に、それをシフトする桁数を 10 進で指定します。 たとえば、スライダの値が 2,350 で XmdecimalPoints の値が 2 であれば、表示される値は 23.50 になります。

XmNdragCallback
スライダをドラッグして位置を変更した時に呼び出されるコールバックリストを指定します。 コールバックによって送られるリーズンは XmCR_DRAG です。

XmNfontList
XmNtitleString によって指定されるタイトルのテキスト文字列に使う、フォントのリストを指定します。

XmNhighlightOnEnter
スライダのボーダのハイライトを、エンターウィンドウイベントによって描画するかどうかを指定します。 このリソースは、XmNtraversalOn リソースが True に設定されていると無効になります。

XmNhighlightThickness
ウィンドウに入ったときやトラバースのハイライトに使用される矩形を描画するボーダのサイズを指定します。

XmNmaximum
スライダの最大値を指定します。

XmNminimum
スライダの最小値を指定します。

XmNorientation
Scale を垂直方向あるいは水平方向に表示します。 このリソースの値は、XmVERTICAL か XmHORIZONTAL です。

XmNprocessingDirection
XmNmaximum の値が、水平方向の Scale に対しては XmNminimum の右側か左側のどちらであるのか、垂直方向の Scale に対しては XmNminimum の上側か下側のどちらであるのかを指定します。 このリソースの値は、XmMAX_ON_TOP、XmMAX_ON_BOTTOM、XmMAX_ON_LEFT、XmMAX_ON_BRIGHT のいずれかです。

XmNscaleHeight
スライダエリアの高さを指定します。 値は指定されたユニットの型でなければなりません (デフォルトはピクセル)。

XmNscaleWidth
スライダエリアの幅を指定します。 値は指定されたユニットの型でなければなりません (デフォルトはピクセル)。

XmNshowValue
現在のスライダ値に対するラベルをスライダの次に表示させるかどうかを指定します。 True であれば、現在のスライダ値が表示されます。

XmNtitleString
テキスト文字列をスケール widget ウィンドウに表示するよう指定します。

XmNtraversalOn
Scale のスライダがトラバースをオンにするかどうかを指定します。

XmNvalue
スケール上のスライダの現在の位置を、最大値と最小値の間で指定します。

XmNvalueChangedCallback
スライダの値が変更された時に呼び出されるコールバックリストを指定します。 コールバックが送るリーズンは XmCR_VALUE_CHANGED です。

継承されるリソース

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

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

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

コールバック情報

各コールバックに対して、次の構造体が返されます。

typedef struct
{
intreason ;
XEvent∗ event ;
intvalue ;
} XmScaleCallbackStruct ;

reasonなぜそのコールバックが呼び出されたかを示します。

eventコールバックを引き起こした XEvent を指します。

valueスライダの新しい位置の値です。

動作

<Btn1Down>:
スライダを含むスケールの矩形の内側でボタンが押されると、スライダをインタラクティブにドラッグすることができる状態になります。

Button1<PtrMoved>:
スライダ内でボタンが押されると、スライダを新しい位置へ移動させ、XmNdragCallback に対応するコールバックを呼びます。

<Btn1Up>:
スケールの矩形内でボタンが押され、 しかもスライダの位置が変化したら、XmNvalueChangedCallback に対応するコールバックを呼びます。

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

Scale のデフォルトのトランスレーションを次に示します。

<Btn1Down>:Arm()
<Btn1Up>:Activate()
<EnterWindow>: Enter()
<FocusIn>:FocusIn()

キーボードトラバース

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

関連事項

Composite(3XM), Constraint(3XM), Core(3XM), XmCreateScale(3XM), XmManager(3XM), XmScaleGetValue(3XM), XmScaleSetValue(3XM)

NEWS-OSRelease 4.2.1R

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