👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

RedHat 9 (Linux i386) - man page for xmspinboxvalidateposition (redhat section 3)

XmSpinBoxValidatePosition(library call) 		  XmSpinBoxValidatePosition(library call)

NAME
       XmSpinBoxValidatePosition  -- translate the current value of the specified 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 want-
       ing  to	implement a policy for tracking user modifications 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 XmSpinBoxValidatePosition.  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  XmCUR-
		 RENT_VALUE.

       XmSpinBoxValidatePosition  attempts to translate the input string to a floating point num-
       ber. If this translation fails, XmSpinBoxValidatePosition sets  position  to  the  current
       position and returns XmCURRENT_VALUE.

       XmSpinBoxValidatePosition  converts the floating point number to an integer using the XmN-
       decimalPoints 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 XmN-
       maximumValue inclusive. If the input falls outside this	range,	XmSpinBoxValidatePosition
       sets position to the nearest limit and returns either XmMINIMUM_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 XmINCREMENT_VALUE.

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

RETURN VALUE
       The  XmSpinBoxValidatePosition  function returns the status of the validation.  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 function could  be  used
       from  inside  an XmNmodifyVerifyCallback callback installed on the XmSpinBox or the XmSim-
       pleSpinBox:

       /*
	* 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)


All times are GMT -4. The time now is 06:04 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password