Blame doc/man/man3/XmSpinBox.3

Packit b099d7
'\" t
Packit b099d7
...\" SpinBox.sgm /main/15 1996/09/08 21:02:25 rws $
Packit b099d7
.de P!
Packit b099d7
.fl
Packit b099d7
\!!1 setgray
Packit b099d7
.fl
Packit b099d7
\\&.\"
Packit b099d7
.fl
Packit b099d7
\!!0 setgray
Packit b099d7
.fl			\" force out current output buffer
Packit b099d7
\!!save /psv exch def currentpoint translate 0 0 moveto
Packit b099d7
\!!/showpage{}def
Packit b099d7
.fl			\" prolog
Packit b099d7
.sy sed -e 's/^/!/' \\$1\" bring in postscript file
Packit b099d7
\!!psv restore
Packit b099d7
.
Packit b099d7
.de pF
Packit b099d7
.ie     ?\\*(f1?? .ds f1 \\n(.f
Packit b099d7
.el .ie ?\\*(f2?? .ds f2 \\n(.f
Packit b099d7
.el .ie ?\\*(f3?? .ds f3 \\n(.f
Packit b099d7
.el .ie ?\\*(f4?? .ds f4 \\n(.f
Packit b099d7
.el .tm ? font overflow
Packit b099d7
.ft \\$1
Packit b099d7
..
Packit b099d7
.de fP
Packit b099d7
.ie     !?\\*(f4?? \{\
Packit b099d7
.	ft \\*(f4
Packit b099d7
.	ds f4\"
Packit b099d7
'	br \}
Packit b099d7
.el .ie !?\\*(f3?? \{\
Packit b099d7
.	ft \\*(f3
Packit b099d7
.	ds f3\"
Packit b099d7
'	br \}
Packit b099d7
.el .ie !?\\*(f2?? \{\
Packit b099d7
.	ft \\*(f2
Packit b099d7
.	ds f2\"
Packit b099d7
'	br \}
Packit b099d7
.el .ie !?\\*(f1?? \{\
Packit b099d7
.	ft \\*(f1
Packit b099d7
.	ds f1\"
Packit b099d7
'	br \}
Packit b099d7
.el .tm ? font underflow
Packit b099d7
..
Packit b099d7
.ds f1\"
Packit b099d7
.ds f2\"
Packit b099d7
.ds f3\"
Packit b099d7
.ds f4\"
Packit b099d7
.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 
Packit b099d7
.TH "XmSpinBox" "library call"
Packit b099d7
.SH "NAME"
Packit b099d7
\fBXmSpinBox\fP \(em The SpinBox widget class 
Packit b099d7
.iX "XmSpinBox"
Packit b099d7
.iX "widget class" "SpinBox"
Packit b099d7
.SH "SYNOPSIS"
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
#include <Xm/SpinB\&.h>
Packit b099d7
.fi
Packit b099d7
.SH "DESCRIPTION"
Packit b099d7
.PP
Packit b099d7
SpinBox allows the user to select a value from a ring of related but
Packit b099d7
mutually exclusive choices which are displayed in sequence\&. The SpinBox always
Packit b099d7
has an increment arrow, a decrement arrow, and one or more other children\&.
Packit b099d7
The choices are displayed, one at a time, in a traversable text child ( \fBXmText\fP or \fBXmTextField\fP\&. The user clicks \fB<Btn1>\fP on an arrow to display the next (or previous) item in the ring
Packit b099d7
of choices\&. By pressing and holding \fB<Btn1>\fP on an arrow, the
Packit b099d7
user continuously cycles through the choices\&.
Packit b099d7
.PP
Packit b099d7
The traversable children in a SpinBox can be of type \fBXmNUMERIC\fP or \fBXmSTRING\fP,
Packit b099d7
as defined by the \fBXmNspinBoxChildType\fP
Packit b099d7
constraint resource\&. The ring of choices for numeric children is defined
Packit b099d7
by minimum, maximum, incremental, and decimal point values\&. The ring of choices
Packit b099d7
for string children is defined in an array of compound strings\&.
Packit b099d7
.PP
Packit b099d7
The application programmer can include multiple traversable children
Packit b099d7
in the SpinBox\&. For example, a SpinBox might consist of a pair of arrows
Packit b099d7
and month, day, and year text fields\&. The arrows only spin the child that
Packit b099d7
currently has focus\&.
Packit b099d7
.PP
Packit b099d7
Arrow size is specified by the SpinBox resource \fBXmNarrowSize\fP\&. This value sets both width and height of each
Packit b099d7
arrow in pixels\&.
Packit b099d7
.PP
Packit b099d7
The programmer can display SpinBox arrows in one of several layouts,
Packit b099d7
as specified by the \fBXmNarrowLayout\fP
Packit b099d7
resource:
Packit b099d7
.IP "\fBXmARROWS_BEGINNING\fP" 10
Packit b099d7
Places a pair of left and right arrows before the children\&.
Packit b099d7
.IP "\fBXmARROWS_END\fP" 10
Packit b099d7
Places a pair of left and right arrows after the children\&.
Packit b099d7
.IP "\fBXmARROWS_SPLIT\fP" 10
Packit b099d7
Places one arrow on each side of the children\&.
Packit b099d7
.IP "\fBXmARROWS_FLAT_BEGINNING\fP" 10
Packit b099d7
Places a pair of arrows side by side before the \fBXmSpinBox\fP
Packit b099d7
children\&.
Packit b099d7
.IP "\fBXmARROWS_FLAT_BEGINNING\fP" 10
Packit b099d7
Places a pair of arrows side by side after the \fBXmSpinBox\fP
Packit b099d7
children\&.
Packit b099d7
.PP
Packit b099d7
Positions for \fBXmARROWS_BEGINNING\fP
Packit b099d7
and \fBXmARROWS_END\fP are dependent on
Packit b099d7
the \fBVendorShell\fP resource \fBXmNlayoutDirection\fP\&. When layout direction is left-to-right, beginning
Packit b099d7
arrows are positioned to the left of the children\&. When layout direction
Packit b099d7
is right-to-left, beginning arrows are positioned to the right\&.
Packit b099d7
.PP
Packit b099d7
The actions of the arrows are determined by the \fBVendorShell\fP resource \fBXmNlayoutDirection\fP\&.
Packit b099d7
For left-to-right layouts, the right arrow is the increment arrow and the
Packit b099d7
left arrow is the decrement arrow\&. For right-to-left layouts, the right
Packit b099d7
arrow is the decrement arrow and the left arrow is the increment arrow\&.
Packit b099d7
.PP
Packit b099d7
For a numeric type child, the increment arrow increases the displayed
Packit b099d7
value by the incremental value up to the maximum\&. The decrement arrow decreases
Packit b099d7
the displayed value by the given incremental value down to the minimum\&.
Packit b099d7
.PP
Packit b099d7
The increment arrow for a string type child moves toward the last entry
Packit b099d7
of the array of compound strings (by increasing the SpinBox constraint resource
Packit b099d7
\fBXmNposition\fP)\&. The decrement arrow
Packit b099d7
moves toward the first entry of the compound string array\&.
Packit b099d7
.PP
Packit b099d7
The programmer can also control the sensitivity of each arrow in the
Packit b099d7
SpinBox\&. Sensitive arrows spin choices; insensitive arrows do not spin choices\&.
Packit b099d7
Arrow sensitivity is set for the SpinBox widget by using the \fBXmNdefaultArrowSensitivity\fP resource, but it
Packit b099d7
can be modified on a per child basis by using the \fBXmNarrowSensitivity\fP constraint resource\&.
Packit b099d7
.PP
Packit b099d7
SpinBox provides two callbacks to application programmers\&. (In addition,
Packit b099d7
the callbacks of the SpinBox\&'s children may be invoked\&.) Each of these callbacks
Packit b099d7
receives a pointer to \fBXmSpinBoxCallbackStruct\fR\&.
Packit b099d7
The \fBXmNmodifyVerifyCallback\fP procedures
Packit b099d7
are called \fIbefore\fP a new choice is displayed\&.
Packit b099d7
The \fBXmNvalueChangedCallback\fP procedures
Packit b099d7
are called \fIafter\fP a new choice is displayed\&.
Packit b099d7
.PP
Packit b099d7
\fBXmNmodifyVerifyCallback\fP tells
Packit b099d7
the application what the new position will be in the ring of choices\&. This
Packit b099d7
callback can be used to make the SpinBox stop at the upper and lower limits
Packit b099d7
or go to a different, nonconsecutive choice\&. The application allows the
Packit b099d7
change in position by leaving the \fIdoit\fP member
Packit b099d7
set to True\&. The application can spin to a position other than the next
Packit b099d7
consecutive position by leaving \fIdoit\fP set
Packit b099d7
to True and by changing the \fIposition\fP member
Packit b099d7
to the desired position\&. When \fIdoit\fP is set
Packit b099d7
to False by an application, there is no change in the choice displayed\&.
Packit b099d7
.PP
Packit b099d7
After a new choice is displayed, the \fBXmNvalueChangedCallback\fP procedure is called\&. The application
Packit b099d7
can use this procedure to perform tasks when specific values are reached
Packit b099d7
or when boundaries are crossed\&. For example, if the user spins from January
Packit b099d7
back to December, the application could change to the previous year\&. If
Packit b099d7
the user spins from December to January, the application could change to
Packit b099d7
the next year\&.
Packit b099d7
.PP
Packit b099d7
SpinBox dimensions can be set using the Core resources \fBXmNheight\fP and \fBXmNwidth\fP\&. If dimensions are not specified, the SpinBox size
Packit b099d7
is determined by the sizes of its arrows and children\&. The SpinBox will
Packit b099d7
attempt to grow so that the arrows and all children are visible\&.
Packit b099d7
.PP
Packit b099d7
SpinBox uses the \fBXmQTaccessTextual\fP
Packit b099d7
trait and holds the \fBXmQTnavigator\fP trait\&.
Packit b099d7
.SS "Classes"
Packit b099d7
.PP
Packit b099d7
SpinBox inherits behavior, resources, and traits from the \fBCore\fP, \fBComposite\fP, \fBConstraint\fP, and \fBXmManager\fP classes\&.
Packit b099d7
.PP
Packit b099d7
The class pointer is \fBxmSpinBoxWidgetClass\fP\&.
Packit b099d7
.PP
Packit b099d7
The class name is \fBXmSpinBox\fP\&.
Packit b099d7
.SS "New Resources"
Packit b099d7
.PP
Packit b099d7
The following table defines a set of widget resources used by the programmer
Packit b099d7
to specify data\&. The programmer can also set the resource values for the
Packit b099d7
inherited classes to set attributes for this widget\&. To reference a resource
Packit b099d7
by name or by class in a \fB\&.Xdefaults\fP file, remove the \fBXmN\fP or \fBXmC\fP
Packit b099d7
prefix and use the remaining letters\&. To specify one of the defined values
Packit b099d7
for a resource in a \fB\&.Xdefaults\fP file, remove the \fBXm\fP prefix and use the remaining letters (in
Packit b099d7
either lowercase or uppercase, but include any underscores between words)\&.
Packit b099d7
The codes in the access column indicate whether the given resource can be
Packit b099d7
set at creation time (C), set by using \fBXtSetValues\fP (S),
Packit b099d7
retrieved by using \fBXtGetValues\fP (G), or is not applicable
Packit b099d7
(N/A)\&.
Packit b099d7
.TS
Packit b099d7
tab(?);
Packit b099d7
lw(1.35in) lw(1.48in) lw(1.18in) lw(1.39in) lw(1.00in).
Packit b099d7
\fBXmSpinBox Resource
Packit b099d7
Set\fP
Packit b099d7
\fBName\fP?\fBClass\fP?\fBType\fP?\fBDefault\fP?\fBAccess\fP
Packit b099d7
XmNarrowLayout?XmCArrowLayout?unsigned char?XmARROWS_BEGINNING?CSG
Packit b099d7
XmNarrowOrientation?XmCArrowOrientation?unsigned char?XmARROWS_VERTICAL?CSG
Packit b099d7
XmNarrowSize?XmCArrowSize?Dimension?16?CSG
Packit b099d7
XmNdefaultArrowSensitivity?XmCDefaultArrowSensitivity?unsigned char?XmARROWS_SENSITIVE?CSG
Packit b099d7
XmNdetailShadowThickness?XmCDetailShadowThickness?Dimension?2?CSG
Packit b099d7
XmNinitialDelay?XmCInitialDelay?unsigned int?250 ms?CSG
Packit b099d7
XmNmarginHeight?XmCMarginHeight?Dimension?dynamic?CSG
Packit b099d7
XmNmarginWidth?XmCMarginWidth?Dimension?dynamic?CSG
Packit b099d7
XmNmodifyVerifyCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
XmNrepeatDelay?XmCRepeatDelay?unsigned int?200 ms?CSG
Packit b099d7
XmNspacing?XmCSpacing?Dimension?dynamic?CSG
Packit b099d7
XmNvalueChangedCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
.TE
Packit b099d7
.IP "\fBXmNarrowLayout\fP" 10
Packit b099d7
Specifies placement of the two arrows in the widget\&. Possible layouts
Packit b099d7
are as follows:
Packit b099d7
.RS
Packit b099d7
.IP "\fBXmARROWS_BEGINNING\fP" 10
Packit b099d7
Places left and right arrows beside each other, before the child(ren)\&.
Packit b099d7
Positioning for this layout is dependent on the VendorShell resource \fBXmNlayoutDirection\&.\fP
Packit b099d7
.IP "\fBXmARROWS_END\fP" 10
Packit b099d7
Places left and right arrows beside each other, after the child(ren)\&.
Packit b099d7
Positioning for this layout is dependent on the VendorShell resource \fBXmNlayoutDirection\fP\&.
Packit b099d7
.IP "\fBXmARROWS_FLAT_BEGINNING\fP" 10
Packit b099d7
Places a pair of arrows side by side before the \fBXmSpinBox\fP
Packit b099d7
children\&. Positioning for this layout is dependent on the VendorShell resource \fBXmNlayoutDirection\&.\fP
Packit b099d7
.IP "\fBXmARROWS_FLAT_END\fP" 10
Packit b099d7
Places a pair of arrows side by side after the \fBXmSpinBox\fP
Packit b099d7
children\&. Positioning for this layout is dependent on the VendorShell resource \fBXmNlayoutDirection\&.\fP
Packit b099d7
.IP "\fBXmARROWS_SPLIT\fP" 10
Packit b099d7
Places a left arrow on the left side and a right arrow on the right
Packit b099d7
side of the child(ren)\&.
Packit b099d7
.RE
Packit b099d7
.IP "\fBXmNarrowSize\fP" 10
Packit b099d7
Specifies both the width and height of the arrow in pixels\&.
Packit b099d7
.IP "\fBXmNdefaultArrowSensitivity\fP" 10
Packit b099d7
Specifies the default sensitivity of the arrows in the widget\&. Insensitive
Packit b099d7
arrows change color, cannot be depressed, and perform no action\&. (This resource
Packit b099d7
may be overridden by the constraint resource \fBXmNarrowSensitivity\fP for individual traversable text children
Packit b099d7
of the SpinBox\&.) Possible default sensitivity values are as follows:
Packit b099d7
.RS
Packit b099d7
.IP "\fBXmARROWS_SENSITIVE\fP" 10
Packit b099d7
Both arrows are sensitive\&.
Packit b099d7
.IP "\fBXmARROWS_DECREMENT_SENSITIVE\fP" 10
Packit b099d7
Only the decrement arrow (as determined by \fBXmNlayoutDirection\fP) is sensitive\&. The increment arrow is insensitive\&.
Packit b099d7
.IP "\fBXmARROWS_INCREMENT_SENSITIVE\fP" 10
Packit b099d7
Only the increment arrow (as determined by \fBXmNlayoutDirection\fP) is sensitive\&. The decrement arrow is insensitive\&.
Packit b099d7
.IP "\fBXmARROWS_INSENSITIVE\fP" 10
Packit b099d7
Both arrows are insensitive\&.
Packit b099d7
.RE
Packit b099d7
.IP "\fBXmNdetailShadowThickness\fP" 10
Packit b099d7
Specifies the thickness of the inside arrow shadows\&. The default thickness
Packit b099d7
is 2 pixels\&.
Packit b099d7
.IP "\fBXmNinitialDelay\fP" 10
Packit b099d7
Specifies how long, in milliseconds, the mouse button must be held
Packit b099d7
down before automatic spinning begins\&. In other words, when the user selects
Packit b099d7
the increment or decrement arrow and keeps it depressed, this delay occurs
Packit b099d7
before the choices start spinning\&. If \fBXmNinitialDelay\fP is 0, then \fBXmNrepeatDelay\fP
Packit b099d7
is used as the initial delay\&.
Packit b099d7
.IP "\fBXmNmarginHeight\fP" 10
Packit b099d7
Specifies the amount of blank space between the top edge of the SpinBox
Packit b099d7
widget and the first item in each column, and the bottom edge of the SpinBox
Packit b099d7
widget and the last item in each column\&.
Packit b099d7
.IP "\fBXmNmarginWidth\fP" 10
Packit b099d7
Specifies the amount of blank space between the left edge of the SpinBox
Packit b099d7
widget and the first item in each row, and the right edge of the SpinBox widget
Packit b099d7
and the last item in each row\&.
Packit b099d7
.IP "\fBXmNmodifyVerifyCallback\fP" 10
Packit b099d7
This callback is called before the SpinBox position changes (see the
Packit b099d7
Constraint resource \fBXmNposition\fP)\&.
Packit b099d7
The application can use this callback to set the next position, change SpinBox
Packit b099d7
resources, or cancel the impending action\&. For example, this callback can
Packit b099d7
be used to stop the spinning just before wrapping at the upper and lower
Packit b099d7
position boundaries\&. If the \fIdoit\fP member
Packit b099d7
is set to False, nothing happens\&. Otherwise the position changes\&. Reasons
Packit b099d7
sent by the callback are \fBXmCR_SPIN_NEXT\fP,
Packit b099d7
\fBXmCR_SPIN_PRIOR\fP, \fBXmCR_SPIN_FIRST\fP, or \fBXmCR_SPIN_LAST\fP\&.
Packit b099d7
.IP "\fBXmNrepeatDelay\fP" 10
Packit b099d7
When the user selects and keeps an arrow button depressed by pressing
Packit b099d7
and holding \fB<Btn1>\fP, spinning begins\&. After the time specified
Packit b099d7
in \fBXmNinitialDelay\fP elapses, the
Packit b099d7
SpinBox position changes automatically until the arrow button is released\&.
Packit b099d7
The \fBXmNrepeatDelay\fP resource specifies
Packit b099d7
the delay in milliseconds between each automatic change\&. If \fBXmNrepeatDelay\fP is set to 0 (zero), automatic
Packit b099d7
spinning is turned off and \fBXmNinitialDelay\fP
Packit b099d7
is ignored\&.
Packit b099d7
.IP "\fBXmNspacing\fP" 10
Packit b099d7
Specifies the horizontal and vertical spacing between items contained
Packit b099d7
within the SpinBox widget\&.
Packit b099d7
.IP "\fBXmNvalueChangedCallback\fP" 10
Packit b099d7
This is called \fIn\fP+1 times for
Packit b099d7
\fIn\fP SpinBox position changes (see the Constraint resource
Packit b099d7
\fBXmNposition\fP)\&. Reasons sent by the
Packit b099d7
callback are \fBXmCR_OK\fP, \fBXmCR_SPIN_NEXT\fP, \fBXmCR_SPIN_PRIOR\fP, \fBXmCR_SPIN_FIRST\fP, or \fBXmCR_SPIN_LAST\fP\&.
Packit b099d7
Other members are detailed in the callback structure description\&.
Packit b099d7
.TS
Packit b099d7
tab(?);
Packit b099d7
lw(1.18in) lw(1.18in) lw(1.18in) lw(1.18in) lw(1.18in).
Packit b099d7
\fBXmSpinBox Constraint
Packit b099d7
Resource Set\fP
Packit b099d7
\fBName\fP?\fBClass\fP?\fBType\fP?\fBDefault\fP?\fBAccess\fP
Packit b099d7
XmNarrowSensitivity?XmCArrowSensitivity?unsigned char?XmARROWS_DEFAULT_SENSITIVITY?CSG
Packit b099d7
XmNdecimalPoints?XmCDecimalPoints?short?0?CSG
Packit b099d7
XmNincrementValue?XmCIncrementValue?int?1?CSG
Packit b099d7
XmNmaximumValue?XmCMaximumValue?int?10?CSG
Packit b099d7
XmNminimumValue?XmCMinimumValue?int?0?CSG
Packit b099d7
XmNnumValues?XmCNumValues?int?0?CSG
Packit b099d7
XmNposition?XmCPosition?int?0?CSG
Packit b099d7
XmNpositionType?XmCPositionType?char?XmPOSITION_VALUE?CG
Packit b099d7
XmNspinBoxChildType?XmSpinBoxChildType?unsigned char?XmSTRING?CG
Packit b099d7
XmNvalues?XmCValues?XmStringTable?NULL?CSG
Packit b099d7
.TE
Packit b099d7
.IP "\fBXmNarrowSensitivity\fP" 10
Packit b099d7
Specifies the sensitivity of the arrows for a SpinBox child\&. By using
Packit b099d7
this resource in the definition of a SpinBox child, the application programmer
Packit b099d7
can override the default SpinBox sensitivity (set by \fBXmNdefaultArrowSensitivity\fP) for a particular child\&. This allows
Packit b099d7
each traversable child to have a different arrow sensitivity\&. The arrow
Packit b099d7
sensitivity values are as follows:
Packit b099d7
.RS
Packit b099d7
.IP "\fBXmARROWS_SENSITIVE\fP" 10
Packit b099d7
Both arrows are sensitive\&.
Packit b099d7
.IP "\fBXmARROWS_DECREMENT_SENSITIVE\fP" 10
Packit b099d7
Only the decrement arrow (as determined by \fBXmNlayoutDirection\fP) is sensitive\&.
Packit b099d7
.IP "\fBXmARROWS_INCREMENT_SENSITIVE\fP" 10
Packit b099d7
Only the increment arrow (as determined by \fBXmNlayoutDirection\fP) is sensitive\&.
Packit b099d7
.IP "\fBXmARROWS_INSENSITIVE\fP" 10
Packit b099d7
Both arrows are insensitive\&.
Packit b099d7
.IP "\fBXmARROWS_DEFAULT_SENSITIVITY\fP" 10
Packit b099d7
Use the sensitivity specified in the \fBXmNdefaultArrowSensitivity\fP resource\&.
Packit b099d7
.RE
Packit b099d7
.IP "\fBXmNdecimalPoints\fP" 10
Packit b099d7
Specifies the number of decimal places used when displaying the value
Packit b099d7
of a SpinBox numeric type child\&. If the number of decimal places specified
Packit b099d7
is greater than the number of digits in a displayed value, the value is padded
Packit b099d7
with 0 (zeros)\&. For example, when \fBXmNinitialValue\fP is 1
Packit b099d7
and \fBXmNmaximumValue\fP is 1000 and \fBXmNdecimalPoints\fP is 3, the range of values displayed
Packit b099d7
in the SpinBox is 0\&.001 to 1\&.000\&. This is used only when \fBXmNspinBoxChildType\fP is \fBXmNUMERIC\fP\&.
Packit b099d7
.IP "\fBXmNincrementValue\fP" 10
Packit b099d7
Specifies the amount by which to increment or decrement a SpinBox numeric
Packit b099d7
type child\&. This is used only when \fBXmNspinBoxChildType\fP is \fBXmNUMERIC\fP\&.
Packit b099d7
.IP "\fBXmNmaximumValue\fP" 10
Packit b099d7
Specifies the highest possible value for a numeric SpinBox\&. This is
Packit b099d7
used only when \fBXmNspinBoxChildType\fP
Packit b099d7
is \fBXmNUMERIC\fP\&.
Packit b099d7
.IP "\fBXmNminimumValue\fP" 10
Packit b099d7
Specifies the lowest possible value for a numeric SpinBox\&. This is
Packit b099d7
used only when \fBXmNspinBoxChildType\fP
Packit b099d7
is \fBXmNUMERIC\fP\&.
Packit b099d7
.IP "\fBXmNnumValues\fP" 10
Packit b099d7
Specifies the number of strings in \fBXmNvalues\fP\&. The application must change this value when strings are added
Packit b099d7
or removed from \fBXmNvalues\fP\&. This
Packit b099d7
is used only when \fBXmNspinBoxChildType\fP
Packit b099d7
is \fBXmSTRING\fP\&.
Packit b099d7
.IP "\fBXmNposition\fP" 10
Packit b099d7
Specifies the position of the currently displayed item\&. The interpritation
Packit b099d7
of \fBXmNposition\fP is dependent upon the value of the \fBXmNpositionType\fP resource\&.
Packit b099d7
.IP "" 10
Packit b099d7
When \fBXmNpositionType\fP is \fBXmPOSITION_INDEX\fP the \fBXmNposition\fP value is interpreted as follows:
Packit b099d7
For \fBXmSpinBox\fP children of type \fBXmNUMERIC\fP,
Packit b099d7
the \fBXmNposition\fP resource is interpreted as an index into
Packit b099d7
an array of items\&. The minimum allowable value for \fBXmNposition\fP is 0\&. The maximum allowable value for \fBXmNposition\fP
Packit b099d7
is \fB(XmNmaximumValue-XmNminimumValue)/XmNincrementValue\fP\&.
Packit b099d7
The value display by the \fBXmSpinBox\fP child is \fBXmNminimumValue+(XmNposition*XmNincrementValue)\fP\&. For \fBXmSpinBox\fP children of type \fBXmSTRING\fP, the \fBXmNposition\fP resource is interpreted as an index into an array of \fBXmNnumValues\fP items\&. The minimum allowable value for \fBXmNposition\fP is 0\&. The maximum allowable value for \fBXmNposition\fP
Packit b099d7
is \fBXmNnumValues - 1\fP\&. The value displayed by the \fBXmSpinBox\fP is the \fBXmNposition\fP\&'th value in the \fBXmNvalues\fP array\&.
Packit b099d7
.IP "" 10
Packit b099d7
When \fBXmNpositionType\fP is \fBXmPOSITION_VALUE\fP the \fBXmNposition\fP value is interpreted as follows:
Packit b099d7
.IP "" 10
Packit b099d7
For \fBXmSpinBox\fP children of type \fBXmNUMERIC\fP, the \fBXmNposition\fP resource is interpreted as
Packit b099d7
the actual value to be displayed\&. The minimum allowable value for \fBXmNposition\fP is \fBXmNminimumValue\fP\&. The maximum allowable
Packit b099d7
value for \fBXmNposition\fP is \fBXmNmaximumValue\fP\&.
Packit b099d7
The value displayed by the \fBXmSpinBox\fP child is \fBXmNposition\fP\&. For \fBXmSpinBox\fP children of type \fBXmSTRING\fP, the interpretation is the same for \fBXmPOSITION_VALUE\fP as for \fBXmPOSITION_INDEX\fP\&.
Packit b099d7
.IP "" 10
Packit b099d7
Position values falling outside the specified range are invalid\&. When
Packit b099d7
an application assigns a value to \fBXmNposition\fP which is
Packit b099d7
less than the minimum, \fBXmNposition\fP is set to the minimum
Packit b099d7
and an error message is displayed\&. When an application assigns a value
Packit b099d7
to \fBXmNposition\fP which is greater than the maximum, \fBXmNposition\fP is set to the maximum and an error message is displayed\&.
Packit b099d7
.IP "\fBXmNpositionType\fP" 10
Packit b099d7
Specifies how values the \fBXmNposition\fP resource are
Packit b099d7
to be interpreted\&. Valid values include \fBXmPOSITION_INDEX\fP
Packit b099d7
and \fBXmPOSITION_VALUE\fP\&.
Packit b099d7
.IP "\fBXmNspinBoxChildType\fP" 10
Packit b099d7
Specifies the type of data displayed in the child:
Packit b099d7
.RS
Packit b099d7
.IP "\fBXmNUMERIC\fP" 10
Packit b099d7
The SpinBox choice range is defined by numeric minimum, maximum, and
Packit b099d7
incremental values\&.
Packit b099d7
.IP "\fBXmSTRING\fP" 10
Packit b099d7
The SpinBox choices are alphanumeric\&.
Packit b099d7
.RE
Packit b099d7
.IP "\fBXmNvalues\fP" 10
Packit b099d7
Specifies the array of \fBXmString\fRs
Packit b099d7
to be displayed in a SpinBox string type child\&. The application must change \fBXmNnumValues\fP when strings are added to or removed
Packit b099d7
from \fBXmNvalues\fP\&. This is used only
Packit b099d7
when \fBXmNspinBoxChildType\fP is \fBXmSTRING\fP\&.
Packit b099d7
.SS "Inherited Resources"
Packit b099d7
.PP
Packit b099d7
SpinBox inherits behavior and resources from the superclasses described
Packit b099d7
in the following tables\&. For a complete description of each resource, refer
Packit b099d7
to the reference page for that superclass\&.
Packit b099d7
.TS
Packit b099d7
tab(?);
Packit b099d7
lw(1.18in) lw(1.18in) lw(1.18in) lw(1.18in) lw(1.18in).
Packit b099d7
\fBXmManager Resource
Packit b099d7
Set\fP
Packit b099d7
\fBName\fP?\fBClass\fP?\fBType\fP?\fBDefault\fP?\fBAccess\fP
Packit b099d7
XmNbottomShadowColor?XmCBottomShadowColor?Pixel?dynamic?CSG
Packit b099d7
XmNbottomShadowPixmap?XmCBottomShadowPixmap?Pixmap?XmUNSPECIFIED_PIXMAP?CSG
Packit b099d7
XmNforeground?XmCForeground?Pixel?dynamic?CSG
Packit b099d7
XmNhelpCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
XmNhighlightColor?XmCHighlightColor?Pixel?dynamic?CSG
Packit b099d7
XmNhighlightPixmap?XmCHighlightPixmap?Pixmap?dynamic?CSG
Packit b099d7
XmNinitialFocus?XmCInitialFocus?Widget?dynamic?CSG
Packit b099d7
XmNlayoutDirection?XmCLayoutDirection?XmDirection?dynamic?CG
Packit b099d7
XmNnavigationType?XmCNavigationType?XmNavigationType?XmTAB_GROUP?CSG
Packit b099d7
XmNpopupHandlerCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
XmNshadowThickness?XmCShadowThickness?Dimension?0?CSG
Packit b099d7
XmNstringDirection?XmCStringDirection?XmStringDirection?dynamic?CG
Packit b099d7
XmNtopShadowColor?XmCTopShadowColor?Pixel?dynamic?CSG
Packit b099d7
XmNtopShadowPixmap?XmCTopShadowPixmap?Pixmap?dynamic?CSG
Packit b099d7
XmNtraversalOn?XmCTraversalOn?Boolean?True?CSG
Packit b099d7
XmNunitType?XmCUnitType?unsigned char?dynamic?CSG
Packit b099d7
XmNuserData?XmCUserData?XtPointer?NULL?CSG
Packit b099d7
.TE
Packit b099d7
.TS
Packit b099d7
tab(?);
Packit b099d7
lw(1.18in) lw(1.18in) lw(1.18in) lw(1.18in) lw(1.18in).
Packit b099d7
\fBComposite Resource
Packit b099d7
Set\fP
Packit b099d7
\fBName\fP?\fBClass\fP?\fBType\fP?\fBDefault\fP?\fBAccess\fP
Packit b099d7
XmNchildren?XmCReadOnly?WidgetList?NULL?G
Packit b099d7
XmNinsertPosition?XmCInsertPosition?XtOrderProc?NULL?CSG
Packit b099d7
XmNnumChildren?XmCReadOnly?Cardinal?0?G
Packit b099d7
.TE
Packit b099d7
.TS
Packit b099d7
tab(?);
Packit b099d7
lw(1.18in) lw(1.18in) lw(1.18in) lw(1.18in) lw(1.18in).
Packit b099d7
\fBCore Resource Set\fP
Packit b099d7
\fBName\fP?\fBClass\fP?\fBType\fP?\fBDefault\fP?\fBAccess\fP
Packit b099d7
XmNaccelerators?XmCAccelerators?XtAccelerators?dynamic?CSG
Packit b099d7
XmNancestorSensitive?XmCSensitive?Boolean?dynamic?G
Packit b099d7
XmNbackground?XmCBackground?Pixel?dynamic?CSG
Packit b099d7
XmNbackgroundPixmap?XmCPixmap?Pixmap?XmUNSPECIFIED_PIXMAP?CSG
Packit b099d7
XmNborderColor?XmCBorderColor?Pixel?XtDefaultForeground?CSG
Packit b099d7
XmNborderPixmap?XmCPixmap?Pixmap?XmUNSPECIFIED_PIXMAP?CSG
Packit b099d7
XmNborderWidth?XmCBorderWidth?Dimension?0?CSG
Packit b099d7
XmNcolormap?XmCColormap?Colormap?dynamic?CG
Packit b099d7
XmNdepth?XmCDepth?int?dynamic?CG
Packit b099d7
XmNdestroyCallback?XmCCallback?XtCallbackList?NULL?C
Packit b099d7
XmNheight?XmCHeight?Dimension?dynamic?CSG
Packit b099d7
XmNinitialResourcesPersistent?XmCInitialResourcesPersistent?Boolean?True?C
Packit b099d7
XmNmappedWhenManaged?XmCMappedWhenManaged?Boolean?True?CSG
Packit b099d7
XmNscreen?XmCScreen?Screen *?dynamic?CG
Packit b099d7
XmNsensitive?XmCSensitive?Boolean?True?CSG
Packit b099d7
XmNtranslations?XmCTranslations?XtTranslations?dynamic?CSG
Packit b099d7
XmNwidth?XmCWidth?Dimension?dynamic?CSG
Packit b099d7
XmNx?XmCPosition?Position?0?CSG
Packit b099d7
XmNy?XmCPosition?Position?0?CSG
Packit b099d7
.TE
Packit b099d7
.SS "Callback"
Packit b099d7
.PP
Packit b099d7
A pointer to the following structure is passed to each callback:
Packit b099d7
.PP
Packit b099d7
.nf
Packit b099d7
typedef struct
Packit b099d7
{
Packit b099d7
        int \fIreason\fP;
Packit b099d7
        XEvent \fI* event\fP;
Packit b099d7
        Widget \fIwidget\fP;
Packit b099d7
        Boolean \fIdoit\fP;
Packit b099d7
        int \fIposition\fP;
Packit b099d7
        XmString \fIvalue\fP;
Packit b099d7
        Boolean \fIcrossed_boundary\fP;
Packit b099d7
} XmSpinBoxCallbackStruct;
Packit b099d7
.fi
Packit b099d7
.IP "\fIreason\fP" 10
Packit b099d7
Indicates why the callback was invoked\&. Reasons may be the following:
Packit b099d7
.RS
Packit b099d7
.IP "\fBXmCR_OK\fP" 10
Packit b099d7
Spinning has stopped because the SpinBox arrow has been disarmed\&. \fBXmCR_OK\fP is either the last or only call\&.
Packit b099d7
.IP "\fBXmCR_SPIN_NEXT\fP" 10
Packit b099d7
The increment arrow has been armed and position is increasing\&. Further
Packit b099d7
callbacks will come\&. For a numeric type child, the values displayed are
Packit b099d7
approaching the maximum\&. For a string SpinBox, the values displayed are
Packit b099d7
approaching the last entry in the array of \fBXmString\fR s\&.
Packit b099d7
.IP "\fBXmCR_SPIN_PRIOR\fP" 10
Packit b099d7
The decrement arrow has been armed and position is decreasing\&. Further
Packit b099d7
callbacks will come\&. For a numeric type child, the values displayed are
Packit b099d7
approaching the minimum\&. For a string type child, the values displayed
Packit b099d7
are approaching the first entry in the array of \fBXmString\fRs\&.
Packit b099d7
.IP "\fBXmCR_SPIN_FIRST\fP" 10
Packit b099d7
The begin data (\fB<osfBeginData>\fP) key sequence has been
Packit b099d7
pressed\&. The SpinBox is at its first position, displaying the lowest value
Packit b099d7
or the first entry in the array of \fBXmString\fRs\&.
Packit b099d7
.IP "\fBXmCR_SPIN_LAST\fP" 10
Packit b099d7
The end data (\fB<osfEndData>\fP) key sequence has been pressed\&.
Packit b099d7
The SpinBox is at its last position, displaying the highest value or the
Packit b099d7
last entry in the array of \fBXmString\fRs\&.
Packit b099d7
.RE
Packit b099d7
.IP "\fIevent\fP" 10
Packit b099d7
Points to the \fBXEvent\fP that triggered this callback\&.
Packit b099d7
.IP "\fIwidget\fP" 10
Packit b099d7
Specifies the child widget affected by this callback\&.
Packit b099d7
.IP "\fIdoit\fP" 10
Packit b099d7
When the callback is \fBXmNmodifyVerifyCallback\fP, \fIdoit\fP indicates whether or
Packit b099d7
not an action will be performed before the SpinBox position changes\&. If
Packit b099d7
the callback leaves \fIdoit\fP set to True (the
Packit b099d7
default), the spinning action is performed\&. If the callback sets
Packit b099d7
\fIdoit\fP to False, the spinning action is not performed\&.
Packit b099d7
When the callback is \fBXmNvalueChangedCallback\fP, \fIdoit\fP is ignored\&.
Packit b099d7
.IP "\fIposition\fP" 10
Packit b099d7
Specifies the next value of the SpinBox position (same as \fBXmNposition\fP)\&. This is an output field for
Packit b099d7
the \fBXmNmodifyVerifyCallback\fP, which
Packit b099d7
may change the next position as dictated by the needs of an application\&.
Packit b099d7
.IP "\fIvalue\fP" 10
Packit b099d7
Specifies the new \fBXmString\fR value
Packit b099d7
in the text child widget\&. The user program must copy this string if it
Packit b099d7
is to be used outside the callback routine\&.
Packit b099d7
.IP "\fIcrossed_boundary\fP" 10
Packit b099d7
Specifies whether or not the SpinBox has crossed the upper or lower
Packit b099d7
boundary (the last or first compound string, or the maximum or minimum value)\&.
Packit b099d7
The \fIcrossed_boundary\fP value is True if the
Packit b099d7
SpinBox has just crossed a boundary, and False if it has not\&.
Packit b099d7
.SS "Translations"
Packit b099d7
.PP
Packit b099d7
The \fBXmSpinBox\fP translations are as follows:
Packit b099d7
.PP
Packit b099d7
The following key names are listed in the X standard key event translation
Packit b099d7
table syntax\&. This format is the one used by Motif to specify the widget actions
Packit b099d7
corresponding to a given key\&. A brief overview of the format is provided under \fBVirtualBindings\fP(3)\&. For a complete description
Packit b099d7
of the format, please refer to the X Toolkit Instrinsics Documentation\&.
Packit b099d7
.IP "\fB<Btn1Down>\fP:" 10
Packit b099d7
SpinBArm()
Packit b099d7
.IP "\fB<Btn1Up>\fP:" 10
Packit b099d7
SpinBDisarm()
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfUp>\fP :" 10
Packit b099d7
SpinBPrior()
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfDown>\fP :" 10
Packit b099d7
SpinBNext()
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfLeft>\fP :" 10
Packit b099d7
SpinBLeft()
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfRight>\fP :" 10
Packit b099d7
SpinBRight()
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfBeginData>\fP :" 10
Packit b099d7
SpinBFirst()
Packit b099d7
.IP "\fB:\fP\fB<Key>\fP\fB<osfEndData>\fP :" 10
Packit b099d7
SpinBLast()
Packit b099d7
.SS "Accelerators"
Packit b099d7
.PP
Packit b099d7
The \fBXmNaccelerators\fP resource
Packit b099d7
of a SpinBox are added to each traversable text child\&. The default \fBXmNaccelerators\fP are defined in the following
Packit b099d7
list\&. The bindings for \fB<Key>\fP\fB<osfUp>\fP and \fB<Key>\fP\fB<osfDown>\fP cannot be changed\&.
Packit b099d7
.IP "\fB<Key>\fP \fB<osfUp>\fP:" 10
Packit b099d7
SpinBPrior()
Packit b099d7
.IP "\fB<Key>\fP \fB<osfDown>\fP:" 10
Packit b099d7
SpinBNext()
Packit b099d7
.IP "\fB<KeyUp>\fP \fB<osfUp>\fP:" 10
Packit b099d7
SpinBDisarm()
Packit b099d7
.IP "\fB<KeyUp>\fP \fB<osfDown>\fP:" 10
Packit b099d7
SpinBDisarm()
Packit b099d7
.IP "\fB<Key>\fP \fB<osfLeft>\fP:" 10
Packit b099d7
SpinBLeft()
Packit b099d7
.IP "\fB<Key>\fP \fB<osfRight>\fP:" 10
Packit b099d7
SpinBRight()
Packit b099d7
.IP "\fB<KeyUp>\fP \fB<osfLeft>\fP:" 10
Packit b099d7
SpinBDisarm()
Packit b099d7
.IP "\fB<KeyUp>\fP \fB<osfRight>\fP:" 10
Packit b099d7
SpinBDisarm()
Packit b099d7
.IP "\fB<Key>\fP \fB<osfBeginData>\fP:" 10
Packit b099d7
SpinBFirst()
Packit b099d7
.IP "\fB<Key>\fP \fB<osfEndData>\fP:" 10
Packit b099d7
SpinBLast()
Packit b099d7
.SS "Action Routines"
Packit b099d7
.PP
Packit b099d7
The \fBXmSpinBox\fP action routines are as follows:
Packit b099d7
.IP "SpinBArm():" 10
Packit b099d7
Visually arms the SpinBox by drawing the armed arrow so that it appears
Packit b099d7
to be depressed\&. This action is initiated when the user presses \fB<Btn1>\fP while the pointer is within the boundaries of either the increment
Packit b099d7
or decrement arrow\&. The arrow remains visually armed as long as \fB<Btn1>\fP remains depressed\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the time period specified by \fBXmNrepeatDelay\fP is not greater than zero milliseconds, nothing else happens
Packit b099d7
while \fB<Btn1>\fP remains depressed\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the time period specified by \fBXmNrepeatDelay\fP is greater than zero milliseconds, and the arrow is disarmed
Packit b099d7
before the time period specified by \fBXmNinitialDelay\fP has elapsed, nothing else happens in this action\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the time period specified by \fBXmNrepeatDelay\fP is greater than zero milliseconds, and the arrow is still
Packit b099d7
armed after the time period specified by \fBXmNinitialDelay\fP has elapsed, the following occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure, \fBXmSpinBoxCallbackStruct\fR, is set to \fBXmCR_SPIN_NEXT\fP
Packit b099d7
if the increment arrow is armed, or to \fBXmCR_SPIN_PRIOR\fP if the decrement arrow is armed\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the next position\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIdoit\fP member is set to
Packit b099d7
True\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNmodifyVerifyCallback\fP,
Packit b099d7
if it exists, is invoked\&. The application may change the value of
Packit b099d7
\fIposition\fP and \fIdoit\fP\&.
Packit b099d7
If the application sets \fIdoit\fP to False,
Packit b099d7
nothing else happens until the \fBXmNrepeatDelay\fP period has elapsed, or until \fB<Btn1>\fP is released\&.
Packit b099d7
.RE
Packit b099d7
.IP "" 10
Packit b099d7
If \fIdoit\fP remains set to True, the following
Packit b099d7
occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The value of \fBXmNposition\fP
Packit b099d7
is changed to the value of \fIposition\fP in the
Packit b099d7
SpinBox callback structure\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The text corresponding to the new position is displayed in
Packit b099d7
the traversable text child that currently has focus\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_SPIN_NEXT\fP if the increment arrow is armed, or \fBXmCR_SPIN_PRIOR\fP if the decrement arrow is armed\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current (new) value of \fBXmNposition\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNvalueChangedCallback\fP,
Packit b099d7
if it exists, is called\&. SpinBox ignores any changes to \fIposition\fP or \fIdoit\fP members made by \fBXmNvalueChangedCallback\fP\&.
Packit b099d7
.RE
Packit b099d7
.IP "" 10
Packit b099d7
These events are repeated each time the \fBXmNrepeatDelay\fP period elapses and the arrow remains armed\&.
Packit b099d7
.IP "SpinBDisarm():" 10
Packit b099d7
Visually disarms the SpinBox by drawing the previously armed arrow
Packit b099d7
so that it no longer appears to be depressed\&.
Packit b099d7
.IP "" 10
Packit b099d7
If the time period specified by \fBXmNrepeatDelay\fP is not greater than zero milliseconds, or the time period specified
Packit b099d7
by \fBXmNinitialDelay\fP has not elapsed,
Packit b099d7
the following then occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure, \fBXmSpinBoxCallbackStruct\fR, is set to \fBXmCR_SPIN_NEXT\fP
Packit b099d7
if the increment arrow is armed, or to \fBXmCR_SPIN_PRIOR\fP if the decrement arrow is armed\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the next position\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIdoit\fP member is set to
Packit b099d7
True\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fBXmNmodifyVerifyCallback\fP,
Packit b099d7
if there is one, is invoked\&. The application may change the value of
Packit b099d7
\fIposition\fP and \fIdoit\fP\&.
Packit b099d7
If the application sets \fIdoit\fP to False, nothing
Packit b099d7
else happens until the \fBXmNrepeatDelay\fP
Packit b099d7
period has elapsed, or until \fB<Btn1>\fP is released\&.
Packit b099d7
.RE
Packit b099d7
.IP "" 10
Packit b099d7
If \fIdoit\fP remains set to True, the following
Packit b099d7
occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The value of \fBXmNposition\fP
Packit b099d7
is changed to the value of \fIposition\fP in the
Packit b099d7
SpinBox callback structure\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The text corresponding to the new position is displayed in
Packit b099d7
the traversable text child that currently has focus\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_SPIN_NEXT\fP if the increment arrow is armed, or \fBXmCR_SPIN_PRIOR\fP if the decrement arrow is armed\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current (new) value of \fBXmNposition\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNvalueChangedCallback\fP,
Packit b099d7
if it exists, is called\&. SpinBox ignores any changes to \fIposition\fP or \fIdoit\fP members made by
Packit b099d7
an \fBXmNvalueChangedCallback\fP\&.
Packit b099d7
.RE
Packit b099d7
.IP "" 10
Packit b099d7
If an \fBXmNvalueChangedCallback\fP
Packit b099d7
procedure is issued after the button has been armed, regardless of the value
Packit b099d7
of \fBXmNrepeatDelay\fP or whether the \fBXmNinitialDelay\fP has expired:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_OK\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current value of \fBXmNposition\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNvalueChangedCallback\fP,
Packit b099d7
if it exists, is called\&.
Packit b099d7
.RE
Packit b099d7
.IP "SpinBFirst():" 10
Packit b099d7
The following occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure, \fBXmSpinBoxCallbackStruct\fR, is set to \fBXmCR_SPIN_FIRST\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the first (0) position\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIdoit\fP member is set to
Packit b099d7
True\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNmodifyVerifyCallback\fP,
Packit b099d7
if it exists, is invoked\&. The application may change the value of
Packit b099d7
\fIposition\fP and \fIdoit\fP\&.
Packit b099d7
If the application sets \fIdoit\fP to False, nothing
Packit b099d7
else happens until the \fBXmNrepeatDelay\fP
Packit b099d7
period has elapsed, or until \fB<Btn1>\fP is released\&.
Packit b099d7
.RE
Packit b099d7
.IP "" 10
Packit b099d7
If \fIdoit\fP remains set to True, the following
Packit b099d7
occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The value of \fBXmNposition\fP
Packit b099d7
is changed to the value of \fIposition\fP in the
Packit b099d7
SpinBox callback structure\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The text corresponding to the new position is displayed in
Packit b099d7
the traversable text child that currently has focus\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_SPIN_FIRST\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current (new) value of \fBXmNposition\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNvalueChangedCallback\fP,
Packit b099d7
if it exists, is called\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_OK\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current (new) \fBXmNposition\fP
Packit b099d7
value\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fBXmNvalueChangedCallback\fP
Packit b099d7
is called again\&. SpinBox ignores any changes to \fIposition\fP or \fIdoit\fP members made by \fBXmNvalueChangedCallback\fP\&.
Packit b099d7
.RE
Packit b099d7
.IP "SpinBLast():" 10
Packit b099d7
The following occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure, \fBXmSpinBoxCallbackStruct\fR, is set to \fBXmCR_SPIN_LAST\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the last position\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIdoit\fP member is set to
Packit b099d7
True\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNmodifyVerifyCallback\fP,
Packit b099d7
if it exists, is invoked\&. The application may change the value of
Packit b099d7
\fIposition\fP and \fIdoit\fP\&.
Packit b099d7
If the application sets \fIdoit\fP to False, nothing
Packit b099d7
else happens until the \fBXmNrepeatDelay\fP
Packit b099d7
period has elapsed, or until \fB<Btn1>\fP is released\&.
Packit b099d7
.RE
Packit b099d7
.IP "" 10
Packit b099d7
If \fIdoit\fP remains set to True, the following
Packit b099d7
occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The value of \fBXmNposition\fP
Packit b099d7
is changed to the value of \fIposition\fP in the
Packit b099d7
SpinBox callback structure\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The text corresponding to the new position is displayed in
Packit b099d7
the traversable text child that currently has focus\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_SPIN_LAST\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current (new) value \fBXmNposition\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNvalueChangedCallback\fP,
Packit b099d7
if it exists, is called\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_OK\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current (new) of \fBXmNposition\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNvalueChangedCallback\fP
Packit b099d7
is called again\&. SpinBox ignores any changes to the \fIposition\fP or \fIdoit\fP members made by
Packit b099d7
\fBXmNvalueChangedCallback\fP\&.
Packit b099d7
.RE
Packit b099d7
.IP "SpinBLeft():" 10
Packit b099d7
If the VendorShell resource \fBXmNlayoutDirection\fP is left-to-right, the \fBSpinBPrior\fP action is
Packit b099d7
invoked\&. Otherwise, the \fBSpinBNext\fP action is invoked\&.
Packit b099d7
.IP "SpinBNext():" 10
Packit b099d7
Visually arms the SpinBox by drawing the increment arrow so that it
Packit b099d7
appears to be depressed\&. The following occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure, \fBXmSpinBoxCallbackStruct\fR, is set to \fBXmCR_SPIN_NEXT\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the next position\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIdoit\fP member is set to
Packit b099d7
True\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNmodifyVerifyCallback\fP,
Packit b099d7
if it exists, is invoked\&. The application may change the value of
Packit b099d7
\fIposition\fP and \fIdoit\fP\&.
Packit b099d7
If the application sets \fIdoit\fP to False, nothing
Packit b099d7
else happens until the \fBXmNrepeatDelay\fP
Packit b099d7
period has elapsed, or until \fB<Btn1>\fP is released\&.
Packit b099d7
.RE
Packit b099d7
.IP "" 10
Packit b099d7
If \fIdoit\fP remains set to True, the following
Packit b099d7
occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The value of \fBXmNposition\fP
Packit b099d7
is changed to the value of \fIposition\fP in the
Packit b099d7
SpinBox callback structure\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The text corresponding to the new position is displayed in
Packit b099d7
the traversable text child that currently has focus\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_SPIN_NEXT\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current (new) value of \fBXmNposition\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNvalueChangedCallback\fP,
Packit b099d7
if it exists, is called\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_OK\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current (new) \fBXmNposition\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fBXmNvalueChangedCallback\fP
Packit b099d7
is called again\&. SpinBox ignores any changes to \fIposition\fP or \fIdoit\fP members made by \fBXmNvalueChangedCallback\fP\&.
Packit b099d7
.RE
Packit b099d7
.IP "SpinBPrior():" 10
Packit b099d7
Visually arms the SpinBox by drawing the decrement arrow so that it
Packit b099d7
appears to be depressed\&. The following occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure, \fBXmSpinBoxCallbackStruct\fR, is set to \fBXmCR_SPIN_PRIOR\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the next position\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIdoit\fP member is set to
Packit b099d7
True\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNmodifyVerifyCallback\fP,
Packit b099d7
if it exists, is invoked\&. The application may change the value of
Packit b099d7
\fIposition\fP and \fIdoit\fP\&.
Packit b099d7
If the application sets \fIdoit\fP to False, nothing
Packit b099d7
else happens until the \fBXmNrepeatDelay\fP
Packit b099d7
period has elapsed, or until \fB<Btn1>\fP is released\&.
Packit b099d7
.RE
Packit b099d7
.IP "" 10
Packit b099d7
If \fIdoit\fP remains set to True, the following
Packit b099d7
occurs:
Packit b099d7
.RS
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The value of \fBXmNposition\fP
Packit b099d7
is changed to the value of \fIposition\fP in the
Packit b099d7
SpinBox callback structure\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The text corresponding to the new position is displayed in
Packit b099d7
the traversable text child that currently has focus\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_SPIN_PRIOR\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current (new) value of \fBXmNposition\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNvalueChangedCallback\fP,
Packit b099d7
if it exists, is called\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIreason\fP member of the
Packit b099d7
SpinBox callback structure is set to \fBXmCR_OK\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
The \fIposition\fP member is set
Packit b099d7
to the current (new) value of \fBXmNposition\fP\&.
Packit b099d7
.IP "   \(bu" 6
Packit b099d7
\fBXmNvalueChangedCallback\fP
Packit b099d7
is called again\&. SpinBox ignores any changes to \fIposition\fP or \fIdoit\fP members
Packit b099d7
made by \fBXmNvalueChangedCallback\fP\&.
Packit b099d7
.RE
Packit b099d7
.IP "SpinBRight():" 10
Packit b099d7
If the VendorShell resource \fBXmNlayoutDirection\fP is left-to-right, the \fBSpinBNext\fP action is
Packit b099d7
invoked\&. Otherwise, the \fBSpinBPrior\fP action is invoked\&.
Packit b099d7
.SH "RELATED"
Packit b099d7
.PP
Packit b099d7
\fBComposite\fP(3), \fBConstraint\fP(3), \fBCore\fP(3),
Packit b099d7
\fBXmCreateSpinBox\fP(3),
Packit b099d7
\fBXmManager\fP(3),
Packit b099d7
\fBXmString\fP(3),
Packit b099d7
\fBXmVaCreateSpinBox\fP(3), and
Packit b099d7
\fBXmVaCreateManagedSpinBox\fP(3)\&.