XmScale - The Scale widget class
#include <Xm/Scale.h>
Scale is used by an application to indicate a value from
within a range of values, and it allows the user to input
or modify a value from the same range.
A Scale has an elongated rectangular region similar to a
ScrollBar. A slider inside this region indicates the current
value along the Scale. The user can also modify the
Scale's value by moving the slider within the rectangular
region of the Scale. A Scale can also include a label set
located outside the Scale region. These can indicate the
relative value at various positions along the scale.
A Scale can be either input/output or output only. An
input/output Scale's value can be set by the application
and also modified by the user with the slider. An outputonly
Scale is used strictly as an indicator of the current
value of something and cannot be modified interactively by
the user. The Core resource XmNsensitive specifies whether
the user can interactively modify the Scale's value.
The user can specify resources in a resource file for the
automatically created gadget that contains the title of
the Scale widget. The name of the gadget is "Title".
Classes [Toc] [Back]
Scale inherits behavior and resources from Core, Composite,
Constraint, and XmManager classes.
The class pointer is xmScaleWidgetClass.
The class name is XmScale.
New Resources [Toc] [Back]
The following table defines a set of widget resources used
by the programmer to specify data. The programmer can
also set the resource values for the inherited classes to
set attributes for this widget. To reference a resource
by name or by class in a .Xdefaults file, remove the XmN
or XmC prefix and use the remaining letters. To specify
one of the defined values for a resource in a .Xdefaults
file, remove the Xm prefix and use the remaining letters
(in either lowercase or uppercase, but include any underscores
between words). The codes in the access column
indicate if the given resource can be set at creation time
(C), set by using XtSetValues (S), retrieved by using
XtGetValues (G), or is not applicable (N/A).
XmScale Resource Set [Toc] [Back]
Class: XmCDecimalPoints
Default: 0
Type: short
Access: CSG
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCFontList
Default: dynamic
Type: XmFontList
Access: CSG
Class: XmCHighlightOnEnter
Default: False
Type: Boolean
Access: CSG
Class: XmCHighlightThickness
Default: 2
Type: Dimension
Access: CSG
Class: XmCMaximum
Default: 100
Type: int
Access: CSG
Class: XmCMinimum
Default: 0
Type: int
Access: CSG
Class: XmCOrientation
Default: XmVERTICAL
Type: unsigned char
Access: CSG
Class: XmCProcessingDirection
Default: dynamic
Type: unsigned char
Access: CSG
Class: XmCScaleHeight
Default: 0
Type: Dimension
Access: CSG
Class: XmCScaleMultiple
Default: dynamic
Type: int
Access: CSG
Class: XmCScaleWidth
Default: 0
Type: Dimension
Access: CSG
Class: XmCShowValue
Default: False
Type: Boolean
Access: CSG
Class: XmCTitleString
Default: NULL
Type: XmString
Access: CSG
Class: XmCValue
Default: dynamic
Type: int
Access: CSG
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Specifies the number of decimal points to shift the slider
value when displaying it. For example, a slider value of
2,350 and an XmdecimalPoints value of 2 results in a display
value of 23.50. The value must not be negative.
Specifies the list of callbacks that is called when the
slider position changes as the slider is being dragged.
The reason sent by the callback is XmCR_DRAG. Specifies
the font list to use for the title text string specified
by XmNtitleString, and the label displayed when XmNshowValue
is True. If this value is NULL at initialization,
the font list is initialized by looking up the parent
hierarchy of the widget for an ancestor that is a subclass
of the XmBulletinBoard, VendorShell, or XmMenuShell widget
class. If such an ancestor is found, the font list is
initialized to the XmNlabelFontList of the ancestor widget.
If no such ancestor is found, the default is implementation
dependent. Refer to XmFontList(3X) for more
information on the creation and structure of a font list.
Specifies whether the highlighting rectangle is drawn when
the cursor moves into the widget. If the shell's focus
policy is XmEXPLICIT, this resource is ignored, and the
widget is highlighted when it has the focus. If the
shell's focus policy is XmPOINTER and if this resource is
True, the highlighting rectangle is drawn when the cursor
moves into the widget. If the shell's focus policy is
XmPOINTER and if this resource is False, the highlighting
rectangle is not drawn when the cursor moves into the widget.
The default is False. Specifies the size of the
slider's border drawing rectangle used for enter window
and traversal highlight drawing. Specifies the slider's
maximum value. XmNmaximum must be greater than XmNminimum.
Specifies the slider's minimum value. XmNmaximum must be
greater than XmNminimum. Displays Scale vertically or
horizontally. This resource can have values of XmVERTICAL
and XmHORIZONTAL. Specifies whether the value for XmNmaximum
is on the right or left side of XmNminimum for horizontal
Scales or above or below XmNminimum for vertical
Scales. This resource can have values of XmMAX_ON_TOP,
XmMAX_ON_BOTTOM, XmMAX_ON_LEFT, and XmMAX_ON_RIGHT. If the
XmScale is oriented vertically, the default value is
XmMAX_ON_TOP. If the XmScale is oriented horizontally, the
default value may depend on the value of the XmNstringDirection
resource. Specifies the height of the slider
area. The value should be in the specified unit type (the
default is pixels). If no value is specified a default
height is computed. Specifies the amount to move the
slider when the user takes an action that moves the slider
by a multiple increment. The default is (XmNmaximum - XmNminimum)
divided by 10, with a minimum of 1. Specifies
the width of the slider area. The value should be in the
specified unit type (the default is pixels). If no value
is specified a default width is computed. Specifies
whether a label for the current slider value should be
displayed next to the slider. If the value is True, the
current slider value is displayed. Specifies the title
text string to appear in the Scale widget window. Specifies
the slider's current position along the scale,
between XmNminimum and XmNmaximum. The value is constrained
to be within these inclusive bounds. The initial
value of this resource is the larger of 0 and XmNminimum.
Specifies the list of callbacks that is called when the
value of the slider has changed. The reason sent by the
callback is XmCR_VALUE_CHANGED.
Inherited Resources [Toc] [Back]
Scale inherits behavior and resources from the following
superclasses. For a complete description of each
resource, refer to the man page for that superclass.
XmManager Resource Set [Toc] [Back]
Class: XmCBottomShadowColor
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCBottomShadowPixmap
Default: XmUNSPECIFIED_PIXMAP
Type: Pixmap
Access: CSG
Class: XmCForeground
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCHighlightColor
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCHighlightPixmap
Default: dynamic
Type: Pixmap
Access: CSG
Class: XmCInitialFocus
Default: NULL
Type: Widget
Access: CSG
Class: XmCNavigationType
Default: XmTAB_GROUP
Type: XmNavigationType
Access: CSG
Class: XmCShadowThickness
Default: 2
Type: Dimension
Access: CSG
Class: XmCStringDirection
Default: dynamic
Type: XmStringDirection
Access: CG
Class: XmCTopShadowColor
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCTopShadowPixmap
Default: dynamic
Type: Pixmap
Access: CSG
Class: XmCTraversalOn
Default: True
Type: Boolean
Access: CSG
Class: XmCUnitType
Default: dynamic
Type: unsigned char
Access: CSG
Class: XmCUserData
Default: NULL
Type: XtPointer
Access: CSG
Composite Resource Set [Toc] [Back]
Class: XmCReadOnly
Default: NULL
Type: WidgetList
Access: G
Class: XmCInsertPosition
Default: NULL
Type: XtOrderProc
Access: CSG
Class: XmCReadOnly
Default: 0
Type: Cardinal
Access: G
Core Resource Set [Toc] [Back]
Class: XmCAccelerators
Default: dynamic
Type: XtAccelerators
Access: CSG
Class: XmCSensitive
Default: dynamic
Type: Boolean
Access: G
Class: XmCBackground
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCPixmap
Default: XmUNSPECIFIED_PIXMAP
Type: Pixmap
Access: CSG
Class: XmCBorderColor
Default: XtDefaultForeground
Type: Pixel
Access: CSG
Class: XmCPixmap
Default: XmUNSPECIFIED_PIXMAP
Type: Pixmap
Access: CSG
Class: XmCBorderWidth
Default: 0
Type: Dimension
Access: CSG
Class: XmCColormap
Default: dynamic
Type: Colormap
Access: CG
Class: XmCDepth
Default: dynamic
Type: int
Access: CG
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCHeight
Default: dynamic
Type: Dimension
Access: CSG
Class: XmCInitialResourcesPersistent
Default: True
Type: Boolean
Access: C
Class: XmCMappedWhenManaged
Default: True
Type: Boolean
Access: CSG
Class: XmCScreen
Default: dynamic
Type: Screen *
Access: CG
Class: XmCSensitive
Default: True
Type: Boolean
Access: CSG
Class: XmCTranslations
Default: dynamic
Type: XtTranslations
Access: CSG
Class: XmCWidth
Default: dynamic
Type: Dimension
Access: CSG
Class: XmCPosition
Default: 0
Type: Position
Access: CSG
Class: XmCPosition
Default: 0
Type: Position
Access: CSG
Callback Information [Toc] [Back]
A pointer to the following structure is passed to each
callback: typedef struct {
int reason;
XEvent * event;
int value; } XmScaleCallbackStruct;
Indicates why the callback was invoked Points to the
XEvent that triggered the callback Is the new slider value
Behavior [Toc] [Back]
XmScale behavior is described below: (in region between an
end of the Scale and the slider): Moves the slider by one
multiple increment in the direction of the end of the
Scale and calls the XmNvalueChangedCallback callbacks. If
XmNprocessingDirection is XmMAX_ON_RIGHT or XmMAX_ON_BOTTOM,
movement toward the right or bottom increments the
Scale value, and movement toward the left or top decrements
the Scale value. If XmNprocessingDirection is
XmMAX_ON_LEFT or XmMAX_ON_TOP, movement toward the right
or bottom decrements the Scale value, and movement toward
the left or top increments the Scale value. If the button
is held down longer than a delay period, the slider is
moved again by the same increment and the same callbacks
are called. In the slider region: Activates the interactive
dragging of the slider. If the button press occurs
within the slider, the subsequent motion events move the
slider to the position of the pointer and call the callbacks
for XmNdragCallback. If the button press occurs
within the slider and the slider position is changed, the
callbacks for XmNvalueChangedCallback are called. In the
region between an end of the Scale and the slider: Moves
the slider to that end of the Scale and calls the XmNvalueChangedCallback
callbacks. If XmNprocessingDirection is
XmMAX_ON_RIGHT or XmMAX_ON_BOTTOM, movement toward the
right or bottom increments the Scale value, and movement
toward the left or top decrements the Scale value. If XmNprocessingDirection
is XmMAX_ON_LEFT or XmMAX_ON_TOP,
movement toward the right or bottom decrements the Scale
value, and movement toward the left or top increments the
Scale value. For vertical Scales, moves the slider up one
increment and calls the XmNvalueChangedCallback callbacks.
If XmNprocessingDirection is XmMAX_ON_TOP, movement toward
the top increments the Scale value. If XmNprocessingDirection
is XmMAX_ON_BOTTOM, movement toward the top decrements
the Scale value. For vertical Scales, moves the
slider down one increment and calls the XmNvalueChangedCallback
callbacks. If XmNprocessingDirection is
XmMAX_ON_BOTTOM, movement toward the bottom increments the
Scale value. If XmNprocessingDirection is XmMAX_ON_TOP,
movement toward the bottom decrements the Scale value.
For horizontal Scales, moves the slider one increment to
the left and calls the XmNvalueChangedCallback callbacks.
If XmNprocessingDirection is XmMAX_ON_LEFT, movement
toward the left increments the Scale value. If XmNprocessingDirection
is XmMAX_ON_RIGHT, movement toward the left
decrements the Scale value. For horizontal Scales, moves
the slider one increment to the right and calls the XmNvalueChangedCallback
callbacks. If XmNprocessingDirection
is XmMAX_ON_RIGHT, movement toward the right increments
the Scale value. If XmNprocessingDirection is
XmMAX_ON_LEFT, movement toward the right decrements the
Scale value. For vertical Scales, moves the slider up one
multiple increment and calls the XmNvalueChangedCallback
callbacks. If XmNprocessingDirection is XmMAX_ON_TOP,
movement toward the top increments the Scale value. If
XmNprocessingDirection is XmMAX_ON_BOTTOM, movement toward
the top decrements the Scale value. For vertical Scales,
moves the slider down one multiple increment and calls the
XmNvalueChangedCallback callbacks. If XmNprocessingDirection
is XmMAX_ON_BOTTOM, movement toward the bottom increments
the Scale value. If XmNprocessingDirection is
XmMAX_ON_TOP, movement toward the bottom decrements the
Scale value. For horizontal Scales, moves the slider one
multiple increment to the left and calls the XmNvalueChangedCallback
callbacks. If XmNprocessingDirection is
XmMAX_ON_LEFT, movement toward the left increments the
Scale value. If XmNprocessingDirection is XmMAX_ON_RIGHT,
movement toward the left decrements the Scale value. For
horizontal Scales, moves the slider one multiple increment
to the right and calls the XmNvalueChangedCallback callbacks.
If XmNprocessingDirection is XmMAX_ON_RIGHT, movement
toward the right increments the Scale value. If XmNprocessingDirection
is XmMAX_ON_LEFT, movement toward the
right decrements the Scale value. Moves the slider to the
minimum value and calls the XmNvalueChangedCallback callbacks.
Moves the slider to the maximum value and calls
the XmNvalueChangedCallback callbacks. Traverses to the
first item in the next tab group. If the current tab
group is the last entry in the tab group list, it wraps to
the beginning of the tab group list. Traverses to the
first item in the previous tab group. If the beginning of
the tab group list is reached, it wraps to the end of the
tab group list. Calls the callbacks for XmNhelpCallback
if any exist. If there are no help callbacks for this widget,
this action calls the help callbacks for the nearest
ancestor that has them.
Virtual Bindings [Toc] [Back]
The bindings for virtual keys are vendor specific. For
information about bindings for virtual buttons and keys,
see VirtualBindings(3X).
Composite(3X), Constraint(3X), Core(3X), XmCreateScale(3X), XmManager(3X), XmScaleGetValue(3X), XmScaleSetValue(3X)
XmScale(3X)
[ Back ] |