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.1C