XmSpinBoxValidatePosition man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

XmSpinBoxValidatePosition(library call)XmSpinBoxValidatePosition(library call)

NAME
       XmSpinBoxValidatePosition  —  translate the current value of the speci‐
       fied XmSpinBox child into a valid position

SYNOPSIS
       #include <Xm/SpinBox.h>
       int XmSpinBoxValidatePosition(
       Widget textfield,
       int *position);

DESCRIPTION
       The XmSpinBoxValidatePosition function is a utility that can be used by
       applications  wanting to implement a policy for tracking user modifica‐
       tions to editable XmSpinBox children of type XmNUMERIC.	The  specifics
       of  when and how the user's modifications take effect is left up to the
       application.

       text_field
		 The text_field argument specifies the widget ID of the	 child
		 of  the  XmSpinBox that is being modified. The requirement on
		 text_field is that it holds the accessTextual trait  (already
		 a requirement for children of XmSpinBox). This way, XmSpinBox
		 can extract the string out of the text_field widget (even  if
		 it is not an XmTextField).

       position	 The  location pointed to by the position argument is assigned
		 the result of the translation done by	XmSpinBoxValidatePosi‐
		 tion.	 XmSpinBoxValidatePosition  first  checks to make sure
		 this is an XmNUMERIC XmSpinBox child. If it is	 not,  XSmpin‐
		 BoxValidatePosition sets position to the current position and
		 returns XmCURRENT_VALUE.

       XmSpinBoxValidatePosition attempts to translate the input string	 to  a
       floating	 point number. If this translation fails, XmSpinBoxValidatePo‐
       sition sets  position  to  the  current	position  and  returns	XmCUR‐
       RENT_VALUE.

       XmSpinBoxValidatePosition  converts  the	 floating  point  number to an
       integer using the XmNdecimalPoints resource. Extra decimal  places  are
       truncated. The resulting integer is range checked to make sure it falls
       within the valid range defined by XmNminimumValue  and  XmNmaximumValue
       inclusive.  If the input falls outside this range, XmSpinBoxValidatePo‐
       sition sets position to the nearest limit and  returns  either  XmMINI‐
       MUM_VALUE or XmMAXIMUM_VALUE.

       Finally,	 XmSpinBoxValidatePosition  checks the integer to make sure it
       belongs to the series defined by XmNminimumValue ... XmNminumumValue  +
       ((n  - 1) * XmNincrementlValue). If the integer does not belong to this
       series, XmSpinBoxValidatePosition sets position to the nearest  element
       which  is  less	than  or  equal	 to  the  integer and returns XmINCRE‐
       MENT_VALUE.

       Otherwise, XmSpinBoxValidatePosition assigns the	 integer  to  position
       and returns XmVALID_VALUE.

RETURN VALUE
       The  XmSpinBoxValidatePosition function returns the status of the vali‐
       dation.	The set of possible values returned is as follows:

       XmCURRENT_VALUE
		 Cannot convert, returning current position_value.

       XmMINIMUM_VALUE
		 Less than min.

       XmMAXIMUM_VALUE
		 More than max.

       XmINCREMENT_VALUE
		 Not on increment.

       XmVALID_VALUE
		 Okay.

EXAMPLES
       This first example demonstrates how the XmSpinBoxValidatePosition func‐
       tion  could  be	used  from  inside an XmNmodifyVerifyCallback callback
       installed on the XmSpinBox or the XmSimpleSpinBox:

       /*
	* Install a callback on a spin box arrow press.
	*/
	 XtAddCallback(sb, XmNmodifyVerifyCallback, ModifyVerifyCB, NULL);
	 XtAddCallback(simple_sb, XmNmodifyVerifyCallback, ModifyVerifyCB, NULL);

       with the callback doing:

       void ModifyVerifyCB(widget, call_data, client_data) {
	   XmSpinBoxCallbackStruct *cbs = (XmSpinBoxCallbackStruct*) call_data;
	   int position;
	   Widget textual = NULL;
	   if (XtIsSubclass(w, xmSimpleSpinBoxWidgetClass))
	   {
	       Arg args[1];
	       XtSetArg(args[0], XmNtextField, &textual);
	       XtGetValues(w, args, 1);
	   }
	   else if (XtIsSubclass(w, xmSpinBoxWidgetClass))
	     textual = cbs->widget;
	   else
	     textual = (Widget) NULL;

	   ...

	   if (XmSpinBoxValidatePosition(textual, &position) == XmCURRENT_VALUE)
	     XBell(XtDisplay(w), 0);
	   else
	     cbs->position = position;
       }

       This second  example  demonstrates  how	the  XmSpinBoxValidatePosition
       function	 could	be  used  from	inside an XmNactivateCallback callback
       installed on the TextField child of the XmSpinBox:

       /*
	* Install a callback on a spin box arrow press.
	*/
       XtAddCallback(tf, XmNactivateCallback, ModifyVerifyChildCB, NULL);

       with the callback doing:

       void ModifyVerifyChildCB(widget, call_data, client_data) {
	   int	   position;
	   Widget  textual = widget;
	   Arg	   args[1];

	   if (XmSpinBoxValidatePosition (textual, &position) == XmCURRENT_VALUE)
	     XBell(XtDisplay(widget), 0);

	   /* Set the position constraint resource of the textfield */

	   XtSetArg(args[0], XmNposition, position);
	   XtSetValues(textual, args, 1);
       }

SEE ALSO
       XmSpinBox(3), XmCreateSpinBox(3)

				       XmSpinBoxValidatePosition(library call)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net