Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
XmSpinBox(3)		    Library Functions Manual		    XmSpinBox(3)

NAME
     XmSpinBox -- The SpinBox widget class

SYNOPSIS
     #include <Xm/SpinB.h>

DESCRIPTION
     SpinBox  allows the user to select a value from a ring of related but mutu-
     ally exclusive choices which are displayed in sequence. The SpinBox  always
     has  an increment arrow, a decrement arrow, and one or more other children.
     The choices are displayed, one at a time, in a traversable text child ( Xm-
     Text or XmTextField. The user clicks <Btn1> on an arrow to display the next
     (or previous) item in the ring of choices. By pressing and  holding  <Btn1>
     on an arrow, the user continuously cycles through the choices.

     The traversable children in a SpinBox can be of type XmNUMERIC or XmSTRING,
     as  defined  by  the  XmNspinBoxChildType	constraint resource. The ring of
     choices for numeric children is defined by minimum,  maximum,  incremental,
     and  decimal  point  values. The ring of choices for string children is de-
     fined in an array of compound strings.

     The application programmer can include multiple traversable children in the
     SpinBox. For example, a SpinBox might consist  of	a  pair  of  arrows  and
     month,  day, and year text fields. The arrows only spin the child that cur-
     rently has focus.

     Arrow size is specified by the SpinBox resource  XmNarrowSize.  This  value
     sets both width and height of each arrow in pixels.

     The  programmer  can  display  SpinBox arrows in one of several layouts, as
     specified by the XmNarrowLayout resource:

     XmARROWS_BEGINNING
	       Places a pair of left and right arrows before the children.

     XmARROWS_END
	       Places a pair of left and right arrows after the children.

     XmARROWS_SPLIT
	       Places one arrow on each side of the children.

     XmARROWS_FLAT_BEGINNING
	       Places a pair of arrows side by side before the	XmSpinBox  chil-
	       dren.

     XmARROWS_FLAT_BEGINNING
	       Places  a  pair	of arrows side by side after the XmSpinBox chil-
	       dren.

     Positions for XmARROWS_BEGINNING and XmARROWS_END are dependent on the Ven-
     dorShell resource XmNlayoutDirection. When  layout  direction  is	left-to-
     right,  beginning	arrows	are positioned to the left of the children. When
     layout direction is right-to-left, beginning arrows are positioned  to  the
     right.

     The  actions  of the arrows are determined by the VendorShell resource XmN-
     layoutDirection.  For left-to-right layouts, the right arrow is the  incre-
     ment  arrow  and  the  left arrow is the decrement arrow. For right-to-left
     layouts, the right arrow is the decrement arrow and the left arrow  is  the
     increment arrow.

     For a numeric type child, the increment arrow increases the displayed value
     by  the  incremental value up to the maximum. The decrement arrow decreases
     the displayed value by the given incremental value down to the minimum.

     The increment arrow for a string type child moves toward the last entry  of
     the  array  of  compound  strings (by increasing the SpinBox constraint re-
     source XmNposition). The decrement arrow moves toward the	first  entry  of
     the compound string array.

     The  programmer can also control the sensitivity of each arrow in the Spin-
     Box. Sensitive arrows spin choices; insensitive arrows do not spin choices.
     Arrow sensitivity is set for the SpinBox widget by using the  XmNdefaultAr-
     rowSensitivity resource, but it can be modified on a per child basis by us-
     ing the XmNarrowSensitivity constraint resource.

     SpinBox  provides	two  callbacks to application programmers. (In addition,
     the callbacks of the SpinBox's children may  be  invoked.)  Each  of  these
     callbacks receives a pointer to XmSpinBoxCallbackStruct.  The XmNmodifyVer-
     ifyCallback  procedures  are  called before a new choice is displayed.  The
     XmNvalueChangedCallback procedures are called after a new	choice	is  dis-
     played.

     XmNmodifyVerifyCallback tells the application what the new position will be
     in  the ring of choices. This callback can be used to make the SpinBox stop
     at the upper and lower limits or go to a different, nonconsecutive  choice.
     The  application  allows  the change in position by leaving the doit member
     set to True. The application can spin to a position  other  than  the  next
     consecutive  position by leaving doit set to True and by changing the posi-
     tion member to the desired position. When doit is set to False by an appli-
     cation, there is no change in the choice displayed.

     After a new choice is displayed, the XmNvalueChangedCallback  procedure  is
     called.  The  application can use this procedure to perform tasks when spe-
     cific values are reached or when boundaries are crossed.  For  example,  if
     the  user spins from January back to December, the application could change
     to the previous year. If the user spins from December to January,	the  ap-
     plication could change to the next year.

     SpinBox  dimensions  can be set using the Core resources XmNheight and XmN-
     width. If dimensions are not specified, the SpinBox size is  determined  by
     the  sizes  of its arrows and children. The SpinBox will attempt to grow so
     that the arrows and all children are visible.

     SpinBox uses the XmQTaccessTextual trait and holds the XmQTnavigator trait.

   Classes
     SpinBox inherits behavior, resources, and traits from the Core,  Composite,
     Constraint, and XmManager classes.

     The class pointer is xmSpinBoxWidgetClass.

     The class name is XmSpinBox.

   New Resources
     The  following table defines a set of widget resources used by the program-
     mer to specify data. The programmer can also set the  resource  values  for
     the inherited classes to set attributes for this widget. To reference a re-
     source by name or by class in a .Xdefaults file, remove the XmN or XmC pre-
     fix 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 be-
     tween words).  The codes in the access column indicate  whether  the  given
     resource can be set at creation time (C), set by using XtSetValues (S), re-
     trieved by using XtGetValues (G), or is not applicable (N/A).
     XmSpinBox Resource
     Set
     Name			  Class 		       Type		Default 	     Access
     XmNarrowLayout		  XmCArrowLayout	       unsigned char	XmARROWS_BEGINNING   CSG
     XmNarrowOrientation	  XmCArrowOrientation	       unsigned char	XmARROWS_VERTICAL    CSG
     XmNarrowSize		  XmCArrowSize		       Dimension	16		     CSG
     XmNdefaultArrowSensitivity   XmCDefaultArrowSensitivity   unsigned char	XmARROWS_SENSITIVE   CSG
     XmNdetailShadowThickness	  XmCDetailShadowThickness     Dimension	2		     CSG
     XmNinitialDelay		  XmCInitialDelay	       unsigned int	250 ms		     CSG
     XmNmarginHeight		  XmCMarginHeight	       Dimension	dynamic 	     CSG
     XmNmarginWidth		  XmCMarginWidth	       Dimension	dynamic 	     CSG
     XmNmodifyVerifyCallback	  XmCCallback		       XtCallbackList	NULL		     C
     XmNrepeatDelay		  XmCRepeatDelay	       unsigned int	200 ms		     CSG
     XmNspacing 		  XmCSpacing		       Dimension	dynamic 	     CSG
     XmNvalueChangedCallback	  XmCCallback		       XtCallbackList	NULL		     C

     XmNarrowLayout
	       Specifies  placement  of  the  two arrows in the widget. Possible
	       layouts are as follows:

	       XmARROWS_BEGINNING
			 Places left and right arrows beside each other,  before
			 the  child(ren).  Positioning for this layout is depen-
			 dent on the VendorShell resource XmNlayoutDirection.

	       XmARROWS_END
			 Places left and right arrows beside each  other,  after
			 the  child(ren).  Positioning for this layout is depen-
			 dent on the VendorShell resource XmNlayoutDirection.

	       XmARROWS_FLAT_BEGINNING
			 Places a pair of arrows side by side before the XmSpin-
			 Box children. Positioning for this layout is  dependent
			 on the VendorShell resource XmNlayoutDirection.

	       XmARROWS_FLAT_END
			 Places  a pair of arrows side by side after the XmSpin-
			 Box children. Positioning for this layout is  dependent
			 on the VendorShell resource XmNlayoutDirection.

	       XmARROWS_SPLIT
			 Places  a left arrow on the left side and a right arrow
			 on the right side of the child(ren).

     XmNarrowSize
	       Specifies both the width and height of the arrow in pixels.

     XmNdefaultArrowSensitivity
	       Specifies the default sensitivity of the arrows	in  the  widget.
	       Insensitive arrows change color, cannot be depressed, and perform
	       no action. (This resource may be overridden by the constraint re-
	       source  XmNarrowSensitivity for individual traversable text chil-
	       dren of the SpinBox.) Possible default sensitivity values are  as
	       follows:

	       XmARROWS_SENSITIVE
			 Both arrows are sensitive.

	       XmARROWS_DECREMENT_SENSITIVE
			 Only the decrement arrow (as determined by XmNlayoutDi-
			 rection)  is sensitive. The increment arrow is insensi-
			 tive.

	       XmARROWS_INCREMENT_SENSITIVE
			 Only the increment arrow (as determined by XmNlayoutDi-
			 rection) is sensitive. The decrement arrow is	insensi-
			 tive.

	       XmARROWS_INSENSITIVE
			 Both arrows are insensitive.

     XmNdetailShadowThickness
	       Specifies  the thickness of the inside arrow shadows. The default
	       thickness is 2 pixels.

     XmNinitialDelay
	       Specifies how long, in milliseconds, the  mouse	button	must  be
	       held  down before automatic spinning begins. In other words, when
	       the user selects the increment or decrement arrow  and  keeps  it
	       depressed,  this  delay occurs before the choices start spinning.
	       If XmNinitialDelay is 0, then XmNrepeatDelay is used as the  ini-
	       tial delay.

     XmNmarginHeight
	       Specifies  the  amount of blank space between the top edge of the
	       SpinBox widget and the first item in each column, and the  bottom
	       edge of the SpinBox widget and the last item in each column.

     XmNmarginWidth
	       Specifies  the amount of blank space between the left edge of the
	       SpinBox widget and the first item in each row, and the right edge
	       of the SpinBox widget and the last item in each row.

     XmNmodifyVerifyCallback
	       This callback is called before the SpinBox position changes  (see
	       the  Constraint	resource  XmNposition).  The application can use
	       this callback to set the next position, change SpinBox resources,
	       or cancel the impending action. For example, this callback can be
	       used to stop the spinning just before wrapping at the  upper  and
	       lower  position	boundaries.  If the doit member is set to False,
	       nothing happens. Otherwise the position changes. Reasons sent  by
	       the     callback     are     XmCR_SPIN_NEXT,	XmCR_SPIN_PRIOR,
	       XmCR_SPIN_FIRST, or XmCR_SPIN_LAST.

     XmNrepeatDelay
	       When the user selects and keeps	an  arrow  button  depressed  by
	       pressing  and  holding  <Btn1>,	spinning  begins. After the time
	       specified  in  XmNinitialDelay  elapses,  the  SpinBox	position
	       changes	automatically  until  the arrow button is released.  The
	       XmNrepeatDelay resource specifies the delay in  milliseconds  be-
	       tween  each  automatic  change.	If  XmNrepeatDelay  is	set to 0
	       (zero), automatic spinning is turned off and  XmNinitialDelay  is
	       ignored.

     XmNspacingSpecifies  the horizontal and vertical spacing between items con-
	       tained within the SpinBox widget.

     XmNvalueChangedCallback
	       This is called n+1 times for n SpinBox position changes (see  the
	       Constraint  resource  XmNposition).  Reasons sent by the callback
	       are XmCR_OK, XmCR_SPIN_NEXT, XmCR_SPIN_PRIOR, XmCR_SPIN_FIRST, or
	       XmCR_SPIN_LAST.	Other  members	are  detailed  in  the	callback
	       structure description.
	       XmSpinBox Constraint
	       Resource Set
	       Name		      Class		    Type	    Default			   Access
	       XmNarrowSensitivity    XmCArrowSensitivity   unsigned char   XmARROWS_DEFAULT_SENSITIVITY   CSG
	       XmNdecimalPoints       XmCDecimalPoints	    short	    0				   CSG
	       XmNincrementValue      XmCIncrementValue     int 	    1				   CSG
	       XmNmaximumValue	      XmCMaximumValue	    int 	    10				   CSG
	       XmNminimumValue	      XmCMinimumValue	    int 	    0				   CSG
	       XmNnumValues	      XmCNumValues	    int 	    0				   CSG
	       XmNposition	      XmCPosition	    int 	    0				   CSG
	       XmNpositionType	      XmCPositionType	    char	    XmPOSITION_VALUE		   CG
	       XmNspinBoxChildType    XmSpinBoxChildType    unsigned char   XmSTRING			   CG
	       XmNvalues	      XmCValues 	    XmStringTable   NULL			   CSG

     XmNarrowSensitivity
	       Specifies  the  sensitivity of the arrows for a SpinBox child. By
	       using this resource in the definition of a SpinBox child, the ap-
	       plication programmer can override the default SpinBox sensitivity
	       (set by XmNdefaultArrowSensitivity) for a particular child.  This
	       allows each traversable child to have a different arrow sensitiv-
	       ity. The arrow sensitivity values are as follows:

	       XmARROWS_SENSITIVE
			 Both arrows are sensitive.

	       XmARROWS_DECREMENT_SENSITIVE
			 Only the decrement arrow (as determined by XmNlayoutDi-
			 rection) is sensitive.

	       XmARROWS_INCREMENT_SENSITIVE
			 Only the increment arrow (as determined by XmNlayoutDi-
			 rection) is sensitive.

	       XmARROWS_INSENSITIVE
			 Both arrows are insensitive.

	       XmARROWS_DEFAULT_SENSITIVITY
			 Use  the  sensitivity	specified  in  the XmNdefaultAr-
			 rowSensitivity resource.

     XmNdecimalPoints
	       Specifies the number of decimal places used when  displaying  the
	       value  of  a SpinBox numeric type child. If the number of decimal
	       places specified is greater than the number of digits in  a  dis-
	       played  value,  the  value is padded with 0 (zeros). For example,
	       when XmNinitialValue is 1 and XmNmaximumValue is 1000 and XmNdec-
	       imalPoints is 3, the range of values displayed in the SpinBox  is
	       0.001 to 1.000. This is used only when XmNspinBoxChildType is Xm-
	       NUMERIC.

     XmNincrementValue
	       Specifies the amount by which to increment or decrement a SpinBox
	       numeric type child. This is used only when XmNspinBoxChildType is
	       XmNUMERIC.

     XmNmaximumValue
	       Specifies  the highest possible value for a numeric SpinBox. This
	       is used only when XmNspinBoxChildType is XmNUMERIC.

     XmNminimumValue
	       Specifies the lowest possible value for a numeric  SpinBox.  This
	       is used only when XmNspinBoxChildType is XmNUMERIC.

     XmNnumValues
	       Specifies  the  number  of  strings in XmNvalues. The application
	       must change this value when strings are added or removed from Xm-
	       Nvalues. This is used only when XmNspinBoxChildType is XmSTRING.

     XmNposition
	       Specifies the position of the currently displayed item.	The  in-
	       terpritation  of  XmNposition  is dependent upon the value of the
	       XmNpositionType resource.

	       When XmNpositionType is XmPOSITION_INDEX the XmNposition value is
	       interpreted as follows: For XmSpinBox children of type XmNUMERIC,
	       the XmNposition resource is interpreted as an index into an array
	       of items. The minimum allowable value for XmNposition is  0.  The
	       maximum	allowable value for XmNposition is (XmNmaximumValue-XmN-
	       minimumValue)/XmNincrementValue.  The value display  by	the  Xm-
	       SpinBox child is XmNminimumValue+(XmNposition*XmNincrementValue).
	       For XmSpinBox children of type XmSTRING, the XmNposition resource
	       is  interpreted	as an index into an array of XmNnumValues items.
	       The minimum allowable value for XmNposition is 0. The maximum al-
	       lowable value for XmNposition is XmNnumValues - 1. The value dis-
	       played by the XmSpinBox is the XmNposition'th value in  the  XmN-
	       values array.

	       When XmNpositionType is XmPOSITION_VALUE the XmNposition value is
	       interpreted as follows:

	       For  XmSpinBox  children  of  type XmNUMERIC, the XmNposition re-
	       source is interpreted as the actual value to  be  displayed.  The
	       minimum	allowable  value for XmNposition is XmNminimumValue. The
	       maximum allowable value for XmNposition is XmNmaximumValue.   The
	       value  displayed  by  the XmSpinBox child is XmNposition. For Xm-
	       SpinBox children of type XmSTRING, the interpretation is the same
	       for XmPOSITION_VALUE as for XmPOSITION_INDEX.

	       Position values falling outside the specified range are	invalid.
	       When  an application assigns a value to XmNposition which is less
	       than the minimum, XmNposition is set to the minimum and an  error
	       message is displayed. When an application assigns a value to XmN-
	       position which is greater than the maximum, XmNposition is set to
	       the maximum and an error message is displayed.

     XmNpositionType
	       Specifies  how  values  the XmNposition resource are to be inter-
	       preted.	Valid  values  include	XmPOSITION_INDEX   and	 XmPOSI-
	       TION_VALUE.

     XmNspinBoxChildType
	       Specifies the type of data displayed in the child:

	       XmNUMERIC The SpinBox choice range is defined by numeric minimum,
			 maximum, and incremental values.

	       XmSTRING  The SpinBox choices are alphanumeric.

     XmNvalues Specifies  the  array  of  XmStrings to be displayed in a SpinBox
	       string type child. The application must change XmNnumValues  when
	       strings are added to or removed from XmNvalues. This is used only
	       when XmNspinBoxChildType is XmSTRING.

   Inherited Resources
     SpinBox  inherits behavior and resources from the superclasses described in
     the following tables. For a complete description of each resource, refer to
     the reference 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		   dynamic		  CSG
     XmNlayoutDirection        XmCLayoutDirection      XmDirection	   dynamic		  CG
     XmNnavigationType	       XmCNavigationType       XmNavigationType    XmTAB_GROUP		  CSG
     XmNpopupHandlerCallback   XmCCallback	       XtCallbackList	   NULL 		  C
     XmNshadowThickness        XmCShadowThickness      Dimension	   0			  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
     A pointer to the following structure is passed to each callback:

     typedef struct
     {
	     int reason;
	     XEvent * event;
	     Widget widget;
	     Boolean doit;
	     int position;
	     XmString value;
	     Boolean crossed_boundary;
     } XmSpinBoxCallbackStruct;

     reason    Indicates why the callback was invoked. Reasons may be  the  fol-
	       lowing:

	       XmCR_OK	 Spinning has stopped because the SpinBox arrow has been
			 disarmed. XmCR_OK is either the last or only call.

	       XmCR_SPIN_NEXT
			 The  increment arrow has been armed and position is in-
			 creasing. Further callbacks will come.  For  a  numeric
			 type  child,  the  values displayed are approaching the
			 maximum. For a string SpinBox, the values displayed are
			 approaching the last entry in the array of XmString s.

	       XmCR_SPIN_PRIOR
			 The decrement arrow has been armed and position is  de-
			 creasing.  Further  callbacks	will come. For a numeric
			 type child, the values displayed  are	approaching  the
			 minimum.  For a string type child, the values displayed
			 are approaching the first entry in  the  array  of  Xm-
			 Strings.

	       XmCR_SPIN_FIRST
			 The  begin  data (<osfBeginData>) key sequence has been
			 pressed. The SpinBox is at its first position, display-
			 ing the lowest value or the first entry in the array of
			 XmStrings.

	       XmCR_SPIN_LAST
			 The end  data	(<osfEndData>)	key  sequence  has  been
			 pressed.  The SpinBox is at its last position, display-
			 ing the highest value or the last entry in the array of
			 XmStrings.

     event     Points to the XEvent that triggered this callback.

     widget    Specifies the child widget affected by this callback.

     doit      When  the  callback  is	XmNmodifyVerifyCallback,  doit indicates
	       whether or not an action will be performed before the SpinBox po-
	       sition changes. If the callback leaves doit set to True (the  de-
	       fault),	the  spinning  action is performed. If the callback sets
	       doit to False, the spinning action is not  performed.   When  the
	       callback is XmNvalueChangedCallback, doit is ignored.

     position  Specifies  the next value of the SpinBox position (same as XmNpo-
	       sition). This is an output field for the XmNmodifyVerifyCallback,
	       which may change the next position as dictated by the needs of an
	       application.

     value     Specifies the new XmString value in the text  child  widget.  The
	       user  program  must  copy this string if it is to be used outside
	       the callback routine.

     crossed_boundary
	       Specifies whether or not the SpinBox has  crossed  the  upper  or
	       lower boundary (the last or first compound string, or the maximum
	       or  minimum  value).   The  crossed_boundary value is True if the
	       SpinBox has just crossed a boundary, and False if it has not.

   Translations
     The XmSpinBox translations are as follows:

     The following key names are listed in the X standard key event  translation
     table  syntax.  This  format is the one used by Motif to specify the widget
     actions corresponding to a given key. A brief overview  of  the  format  is
     provided  under  VirtualBindings(3). For a complete description of the for-
     mat, please refer to the X Toolkit Instrinsics Documentation.

     <Btn1Down>:
	       SpinBArm()

     <Btn1Up>: SpinBDisarm()

     :<Key><osfUp> :
	       SpinBPrior()

     :<Key><osfDown> :
	       SpinBNext()

     :<Key><osfLeft> :
	       SpinBLeft()

     :<Key><osfRight> :
	       SpinBRight()

     :<Key><osfBeginData> :
	       SpinBFirst()

     :<Key><osfEndData> :
	       SpinBLast()

   Accelerators
     The XmNaccelerators resource of a SpinBox are  added  to  each  traversable
     text  child. The default XmNaccelerators are defined in the following list.
     The bindings for <Key><osfUp> and <Key><osfDown> cannot be changed.

     <Key> <osfUp>:
	       SpinBPrior()

     <Key> <osfDown>:
	       SpinBNext()

     <KeyUp> <osfUp>:
	       SpinBDisarm()

     <KeyUp> <osfDown>:
	       SpinBDisarm()

     <Key> <osfLeft>:
	       SpinBLeft()

     <Key> <osfRight>:
	       SpinBRight()

     <KeyUp> <osfLeft>:
	       SpinBDisarm()

     <KeyUp> <osfRight>:
	       SpinBDisarm()

     <Key> <osfBeginData>:
	       SpinBFirst()

     <Key> <osfEndData>:
	       SpinBLast()

   Action Routines
     The XmSpinBox action routines are as follows:

     SpinBArm():
	       Visually arms the SpinBox by drawing the armed arrow so	that  it
	       appears	to  be depressed. This action is initiated when the user
	       presses <Btn1> while the pointer is within the boundaries of  ei-
	       ther the increment or decrement arrow. The arrow remains visually
	       armed as long as <Btn1> remains depressed.

	       If  the	time  period  specified by XmNrepeatDelay is not greater
	       than zero milliseconds, nothing else happens while <Btn1> remains
	       depressed.

	       If the time period specified by XmNrepeatDelay  is  greater  than
	       zero  milliseconds, and the arrow is disarmed before the time pe-
	       riod specified by XmNinitialDelay has elapsed, nothing else  hap-
	       pens in this action.

	       If  the	time  period specified by XmNrepeatDelay is greater than
	       zero milliseconds, and the arrow is still armed	after  the  time
	       period  specified  by  XmNinitialDelay has elapsed, the following
	       occurs:

		  *  The reason member of the SpinBox  callback  structure,  Xm-
		     SpinBoxCallbackStruct,  is set to XmCR_SPIN_NEXT if the in-
		     crement arrow is armed, or to XmCR_SPIN_PRIOR if the decre-
		     ment arrow is armed.

		  *  The position member is set to the next position.

		  *  The doit member is set to True.

		  *  XmNmodifyVerifyCallback, if it exists, is invoked. The  ap-
		     plication	may  change  the value of position and doit.  If
		     the application sets doit to False,  nothing  else  happens
		     until  the  XmNrepeatDelay  period  has  elapsed,	or until
		     <Btn1> is released.

	       If doit remains set to True, the following occurs:

		  *  The value of XmNposition is changed to the value  of  posi-
		     tion in the SpinBox callback structure.

		  *  The  text corresponding to the new position is displayed in
		     the traversable text child that currently has focus.

		  *  The reason member of the SpinBox callback structure is  set
		     to  XmCR_SPIN_NEXT  if  the  increment  arrow  is armed, or
		     XmCR_SPIN_PRIOR if the decrement arrow is armed.

		  *  The position member is set to the current	(new)  value  of
		     XmNposition.

		  *  XmNvalueChangedCallback,  if  it exists, is called. SpinBox
		     ignores any changes to position or doit members made by Xm-
		     NvalueChangedCallback.

	       These events are repeated each  time  the  XmNrepeatDelay  period
	       elapses and the arrow remains armed.

     SpinBDisarm():
	       Visually  disarms the SpinBox by drawing the previously armed ar-
	       row so that it no longer appears to be depressed.

	       If the time period specified by	XmNrepeatDelay	is  not  greater
	       than  zero  milliseconds, or the time period specified by XmNini-
	       tialDelay has not elapsed, the following then occurs:

		  *  The reason member of the SpinBox  callback  structure,  Xm-
		     SpinBoxCallbackStruct,  is set to XmCR_SPIN_NEXT if the in-
		     crement arrow is armed, or to XmCR_SPIN_PRIOR if the decre-
		     ment arrow is armed.

		  *  The position member is set to the next position.

		  *  The doit member is set to True.

		  *  The XmNmodifyVerifyCallback, if there is one,  is	invoked.
		     The  application may change the value of position and doit.
		     If the application sets doit to False, nothing else happens
		     until the	XmNrepeatDelay	period	has  elapsed,  or  until
		     <Btn1> is released.

	       If doit remains set to True, the following occurs:

		  *  The  value  of XmNposition is changed to the value of posi-
		     tion in the SpinBox callback structure.

		  *  The text corresponding to the new position is displayed  in
		     the traversable text child that currently has focus.

		  *  The  reason member of the SpinBox callback structure is set
		     to XmCR_SPIN_NEXT if  the	increment  arrow  is  armed,  or
		     XmCR_SPIN_PRIOR if the decrement arrow is armed.

		  *  The  position  member  is set to the current (new) value of
		     XmNposition.

		  *  XmNvalueChangedCallback, if it exists, is	called.  SpinBox
		     ignores  any changes to position or doit members made by an
		     XmNvalueChangedCallback.

	       If an XmNvalueChangedCallback procedure is issued after the  but-
	       ton  has been armed, regardless of the value of XmNrepeatDelay or
	       whether the XmNinitialDelay has expired:

		  *  The reason member of the SpinBox callback structure is  set
		     to XmCR_OK.

		  *  The position member is set to the current value of XmNposi-
		     tion.

		  *  XmNvalueChangedCallback, if it exists, is called.

     SpinBFirst():
	       The following occurs:

		  *  The  reason  member  of the SpinBox callback structure, Xm-
		     SpinBoxCallbackStruct, is set to XmCR_SPIN_FIRST.

		  *  The position member is set to the first (0) position.

		  *  The doit member is set to True.

		  *  XmNmodifyVerifyCallback, if it exists, is invoked. The  ap-
		     plication	may  change  the value of position and doit.  If
		     the application sets doit to False,  nothing  else  happens
		     until  the  XmNrepeatDelay  period  has  elapsed,	or until
		     <Btn1> is released.

	       If doit remains set to True, the following occurs:

		  *  The value of XmNposition is changed to the value  of  posi-
		     tion in the SpinBox callback structure.

		  *  The  text corresponding to the new position is displayed in
		     the traversable text child that currently has focus.

		  *  The reason member of the SpinBox callback structure is  set
		     to XmCR_SPIN_FIRST.

		  *  The  position  member  is set to the current (new) value of
		     XmNposition.

		  *  XmNvalueChangedCallback, if it exists, is called.

		  *  The reason member of the SpinBox callback structure is  set
		     to XmCR_OK.

		  *  The position member is set to the current (new) XmNposition
		     value.

		  *  The  XmNvalueChangedCallback  is  called again. SpinBox ig-
		     nores any changes to position or doit members made by  XmN-
		     valueChangedCallback.

     SpinBLast():
	       The following occurs:

		  *  The  reason  member  of the SpinBox callback structure, Xm-
		     SpinBoxCallbackStruct, is set to XmCR_SPIN_LAST.

		  *  The position member is set to the last position.

		  *  The doit member is set to True.

		  *  XmNmodifyVerifyCallback, if it exists, is invoked. The  ap-
		     plication	may  change  the value of position and doit.  If
		     the application sets doit to False,  nothing  else  happens
		     until  the  XmNrepeatDelay  period  has  elapsed,	or until
		     <Btn1> is released.

	       If doit remains set to True, the following occurs:

		  *  The value of XmNposition is changed to the value  of  posi-
		     tion in the SpinBox callback structure.

		  *  The  text corresponding to the new position is displayed in
		     the traversable text child that currently has focus.

		  *  The reason member of the SpinBox callback structure is  set
		     to XmCR_SPIN_LAST.

		  *  The  position member is set to the current (new) value XmN-
		     position.

		  *  XmNvalueChangedCallback, if it exists, is called.

		  *  The reason member of the SpinBox callback structure is  set
		     to XmCR_OK.

		  *  The position member is set to the current (new) of XmNposi-
		     tion.

		  *  XmNvalueChangedCallback  is  called  again. SpinBox ignores
		     any changes to the position or doit members made by XmNval-
		     ueChangedCallback.

     SpinBLeft():
	       If the VendorShell resource XmNlayoutDirection is  left-to-right,
	       the SpinBPrior action is invoked. Otherwise, the SpinBNext action
	       is invoked.

     SpinBNext():
	       Visually  arms the SpinBox by drawing the increment arrow so that
	       it appears to be depressed. The following occurs:

		  *  The reason member of the SpinBox  callback  structure,  Xm-
		     SpinBoxCallbackStruct, is set to XmCR_SPIN_NEXT.

		  *  The position member is set to the next position.

		  *  The doit member is set to True.

		  *  XmNmodifyVerifyCallback,  if it exists, is invoked. The ap-
		     plication may change the value of position  and  doit.   If
		     the  application  sets  doit to False, nothing else happens
		     until the	XmNrepeatDelay	period	has  elapsed,  or  until
		     <Btn1> is released.

	       If doit remains set to True, the following occurs:

		  *  The  value  of XmNposition is changed to the value of posi-
		     tion in the SpinBox callback structure.

		  *  The text corresponding to the new position is displayed  in
		     the traversable text child that currently has focus.

		  *  The  reason member of the SpinBox callback structure is set
		     to XmCR_SPIN_NEXT.

		  *  The position member is set to the current	(new)  value  of
		     XmNposition.

		  *  XmNvalueChangedCallback, if it exists, is called.

		  *  The  reason member of the SpinBox callback structure is set
		     to XmCR_OK.

		  *  The position member is set to the	current  (new)	XmNposi-
		     tion.

		  *  The  XmNvalueChangedCallback  is  called again. SpinBox ig-
		     nores any changes to position or doit members made by  XmN-
		     valueChangedCallback.

     SpinBPrior():
	       Visually  arms the SpinBox by drawing the decrement arrow so that
	       it appears to be depressed. The following occurs:

		  *  The reason member of the SpinBox  callback  structure,  Xm-
		     SpinBoxCallbackStruct, is set to XmCR_SPIN_PRIOR.

		  *  The position member is set to the next position.

		  *  The doit member is set to True.

		  *  XmNmodifyVerifyCallback,  if it exists, is invoked. The ap-
		     plication may change the value of position  and  doit.   If
		     the  application  sets  doit to False, nothing else happens
		     until the	XmNrepeatDelay	period	has  elapsed,  or  until
		     <Btn1> is released.

	       If doit remains set to True, the following occurs:

		  *  The  value  of XmNposition is changed to the value of posi-
		     tion in the SpinBox callback structure.

		  *  The text corresponding to the new position is displayed  in
		     the traversable text child that currently has focus.

		  *  The  reason member of the SpinBox callback structure is set
		     to XmCR_SPIN_PRIOR.

		  *  The position member is set to the current	(new)  value  of
		     XmNposition.

		  *  XmNvalueChangedCallback, if it exists, is called.

		  *  The  reason member of the SpinBox callback structure is set
		     to XmCR_OK.

		  *  The position member is set to the current	(new)  value  of
		     XmNposition.

		  *  XmNvalueChangedCallback  is  called  again. SpinBox ignores
		     any changes to position or doit  members  made  by  XmNval-
		     ueChangedCallback.

     SpinBRight():
	       If  the VendorShell resource XmNlayoutDirection is left-to-right,
	       the SpinBNext action is invoked. Otherwise, the SpinBPrior action
	       is invoked.

RELATED
     Composite(3), Constraint(3), Core(3), XmCreateSpinBox(3), XmManager(3), Xm-
     String(3), XmVaCreateSpinBox(3), and XmVaCreateManagedSpinBox(3).

								    XmSpinBox(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XmSpinBox&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help