XmScale(3X) UNIX System V XmScale(3X)
NAME
XmScale-The Scale widget class
SYNOPSIS
#include <Xm/Scale.h>
DESCRIPTION
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 output-only
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
Scale inherits behavior and resources from Core, Composite,
Constraint, and XmManager classes.
The class pointer is xmScaleWidgetClass.
The class name is XmScale.
New Resources
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
1 (printed 6/8/92)
XmScale(3X) UNIX System V XmScale(3X)
XtSetValues (S), retrieved by using XtGetValues (G), or is
not applicable (N/A).
XmScale Resource Set
Name Class Type Default Access
_______________________________________________________________________________________
XmNdecimalPoints XmCDecimalPoints short 0 CSG
XmNdragCallback XmCCallback XtCallbackList NULL C
XmNfontList XmCFontList XmFontList dynamic CSG
XmNhighlightOnEnter XmCHighlightOnEnter Boolean False CSG
XmNhighlightThickness XmCHighlightThickness Dimension 2 CSG
XmNmaximum XmCMaximum int 100 CSG
XmNminimum XmCMinimum int 0 CSG
XmNorientation XmCOrientation unsigned char XmVERTICAL CSG
XmNprocessingDirection XmCProcessingDirection unsigned char dynamic CSG
XmNscaleHeight XmCScaleHeight Dimension 0 CSG
XmNscaleMultiple XmCScaleMultiple int dynamic CSG
XmNscaleWidth XmCScaleWidth Dimension 0 CSG
XmNshowValue XmCShowValue Boolean False CSG
XmNtitleString XmCTitleString XmString NULL CSG
XmNvalue XmCValue int dynamic CSG
XmNvalueChangedCallback XmCCallback XtCallbackList NULL C
XmNdecimalPoints
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.
XmNdragCallback
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
XmCRDRAG.
XmNfontList
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.
2 (printed 6/8/92)
XmScale(3X) UNIX System V XmScale(3X)
XmNhighlightOnEnter
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 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 the cursor moves into the widget. The
default is False.
XmNhighlightThickness
Specifies the size of the slider's border drawing
rectangle used for enter window and traversal
highlight drawing.
XmNmaximum
Specifies the slider's maximum value. XmNmaximum
must be greater than XmNminimum.
XmNminimum
Specifies the slider's minimum value. XmNmaximum
must be greater than XmNminimum.
XmNorientation
Displays Scale vertically or horizontally. This
resource can have values of XmVERTICAL and
XmHORIZONTAL.
XmNprocessingDirection
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
XmMAXONTOP, XmMAXONBOTTOM,XmMAXONLEFT, and
XmMAXONRIGHT. If the XmScale is oriented
vertically, the default value is XmMAXONTOP. If
the XmScale is oriented horizontally, the default
value may depend on the value of the
XmNstringDirection resource.
XmNscaleHeight
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.
XmNscaleMultiple
Specifies the amount to move the slider when the
3 (printed 6/8/92)
XmScale(3X) UNIX System V XmScale(3X)
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.
XmNscaleWidth
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.
XmNshowValue
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.
XmNtitleString
Specifies the title text string to appear in the
Scale widget window.
XmNvalue 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.
XmNvalueChangedCallback
Specifies the list of callbacks that is called
when the value of the slider has changed. The
reason sent by the callback is XmCRVALUECHANGED.
Inherited Resources
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
Name Class Type Default Access
_________________________________________________________________________________________________
XmNbottomShadowColor XmCBottomShadowColor Pixel dynamic CSG
XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNforeground XmCForeground Pixel dynamic CSG
XmNhelpCallback XmCCallback XtCallbackList NULL C
XmNhighlightColor XmCHighlightColor Pixel dynamic CSG
XmNhighlightPixmap XmCHighlightPixmap Pixmap dynamic CSG
XmNinitialFocus XmCInitialFocus Widget NULL CSG
XmNnavigationType XmCNavigationType XmNavigationType XmTAB_GROUP CSG
4 (printed 6/8/92)
XmScale(3X) UNIX System V XmScale(3X)
XmNshadowThickness XmCShadowThickness Dimension 2 CSG
XmNstringDirection XmCStringDirection XmStringDirection dynamic CG
XmNtopShadowColor XmCTopShadowColor Pixel dynamic CSG
XmNtopShadowPixmap XmCTopShadowPixmap Pixmap dynamic CSG
XmNtraversalOn XmCTraversalOn Boolean True CSG
XmNunitType XmCUnitType unsigned char dynamic CSG
XmNuserData XmCUserData XtPointer NULL CSG
Composite Resource Set
Name Class Type Default Access
______________________________________________________________________
XmNchildren XmCReadOnly WidgetList NULL G
XmNinsertPosition XmCInsertPosition XtOrderProc NULL CSG
XmNnumChildren XmCReadOnly Cardinal 0 G
Core Resource Set
Name Class Type Default Access
______________________________________________________________________________________________________________
XmNaccelerators XmCAccelerators XtAccelerators dynamic CSG
XmNancestorSensitive XmCSensitive Boolean dynamic G
XmNbackground XmCBackground Pixel dynamic CSG
XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderColor XmCBorderColor Pixel XtDefaultForeground CSG
XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderWidth XmCBorderWidth Dimension 0 CSG
XmNcolormap XmCColormap Colormap dynamic CG
XmNdepth XmCDepth int dynamic CG
XmNdestroyCallback XmCCallback XtCallbackList NULL C
XmNheight XmCHeight Dimension dynamic CSG
XmNinitialResourcesPersistent XmCInitialResourcesPersistent Boolean True C
XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Screen * dynamic CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtranslations XmCTranslations XtTranslations dynamic CSG
XmNwidth XmCWidth Dimension dynamic CSG
XmNx XmCPosition Position 0 CSG
XmNy XmCPosition Position 0 CSG
Callback Information
A pointer to the following structure is passed to each
callback:
typedef struct
{
int reason;
XEvent * event;
int value;
} XmScaleCallbackStruct;
reason Indicates why the callback was invoked
5 (printed 6/8/92)
XmScale(3X) UNIX System V XmScale(3X)
event Points to the XEvent that triggered the callback
value Is the new slider value
Behavior
XmScale behavior is described below:
BSelect Press or BDrag Press:
(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 XmMAXONRIGHT or
XmMAXONBOTTOM, movement toward the right or
bottom increments the Scale value, and movement
toward the left or top decrements the Scale value.
If XmNprocessingDirection is XmMAXONLEFT or
XmMAXONTOP, 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 slider): Activates the interactive dragging
of the slider.
BSelect Motion or BDrag Motion:
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.
BSelect Release or BDrag Release:
If the button press occurs within the slider and
the slider position is changed, the callbacks for
XmNvalueChangedCallback are called.
MCtrl BSelect Press:
(in 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 XmMAXONRIGHT or
XmMAXONBOTTOM, movement toward the right or
bottom increments the Scale value, and movement
toward the left or top decrements the Scale value.
If XmNprocessingDirection is XmMAXONLEFT or
XmMAXONTOP, movement toward the right or bottom
decrements the Scale value, and movement toward
the left or top increments the Scale value.
6 (printed 6/8/92)
XmScale(3X) UNIX System V XmScale(3X)
KUp: For vertical Scales, moves the slider up one
increment and calls the XmNvalueChangedCallback
callbacks. If XmNprocessingDirection is
XmMAXONTOP, movement toward the top increments
the Scale value. If XmNprocessingDirection is
XmMAXONBOTTOM, movement toward the top
decrements the Scale value.
KDown: For vertical Scales, moves the slider down one
increment and calls the XmNvalueChangedCallback
callbacks. If XmNprocessingDirection is
XmMAXONBOTTOM, movement toward the bottom
increments the Scale value. If
XmNprocessingDirection is XmMAXONTOP, movement
toward the bottom decrements the Scale value.
KLeft: For horizontal Scales, moves the slider one
increment to the left and calls the
XmNvalueChangedCallback callbacks. If
XmNprocessingDirection is XmMAXONLEFT, movement
toward the left increments the Scale value. If
XmNprocessingDirection is XmMAXONRIGHT, movement
toward the left decrements the Scale value.
KRight: For horizontal Scales, moves the slider one
increment to the right and calls the
XmNvalueChangedCallback callbacks. If
XmNprocessingDirection is XmMAXONRIGHT, movement
toward the right increments the Scale value. If
XmNprocessingDirection is XmMAXONLEFT, movement
toward the right decrements the Scale value.
MCtrl KUp or KPageUp:
For vertical Scales, moves the slider up one
multiple increment and calls the
XmNvalueChangedCallback callbacks. If
XmNprocessingDirection is XmMAXONTOP, movement
toward the top increments the Scale value. If
XmNprocessingDirection is XmMAXONBOTTOM,
movement toward the top decrements the Scale
value.
MCtrl KDown or KPageDown:
For vertical Scales, moves the slider down one
multiple increment and calls the
XmNvalueChangedCallback callbacks. If
XmNprocessingDirection is XmMAXONBOTTOM,
movement toward the bottom increments the Scale
value. If XmNprocessingDirection is XmMAXONTOP,
movement toward the bottom decrements the Scale
value.
7 (printed 6/8/92)
XmScale(3X) UNIX System V XmScale(3X)
MCtrl KLeft or KPageLeft:
For horizontal Scales, moves the slider one
multiple increment to the left and calls the
XmNvalueChangedCallback callbacks. If
XmNprocessingDirection is XmMAXONLEFT, movement
toward the left increments the Scale value. If
XmNprocessingDirection is XmMAXONRIGHT, movement
toward the left decrements the Scale value.
MCtrl KRight or KPageRight:
For horizontal Scales, moves the slider one
multiple increment to the right and calls the
XmNvalueChangedCallback callbacks. If
XmNprocessingDirection is XmMAXONRIGHT, movement
toward the right increments the Scale value. If
XmNprocessingDirection is XmMAXONLEFT, movement
toward the right decrements the Scale value.
KBeginLine or KBeginData:
Moves the slider to the minimum value and calls
the XmNvalueChangedCallback callbacks.
KEndLine or KEndData:
Moves the slider to the maximum value and calls
the XmNvalueChangedCallback callbacks.
KNextField:
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.
KPrevField:
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.
KHelp: 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
The bindings for virtual keys are vendor specific. For
information about bindings for virtual buttons and keys, see
VirtualBindings(3X).
RELATED INFORMATION
Composite(3X), Constraint(3X), Core(3X), XmCreateScale(3X),
XmManager(3X), XmScaleGetValue(3X), and XmScaleSetValue(3X).
8 (printed 6/8/92)