Unix/Linux Go Back    

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

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

XmSpinBoxValidatePosition(library call) 		  XmSpinBoxValidatePosition(library call)

       XmSpinBoxValidatePosition  -- translate the current value of the specified XmSpinBox child
       into a valid position

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

       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.

		 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-

       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

       The  XmSpinBoxValidatePosition  function returns the status of the validation.  The set of
       possible values returned is as follows:

		 Cannot convert, returning current position_value.

		 Less than min.

		 More than max.

		 Not on increment.


       This first example demonstrates how the XmSpinBoxValidatePosition function could  be  used
       from  inside  an XmNmodifyVerifyCallback callback installed on the XmSpinBox or the XmSim-

	* 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;
	     textual = (Widget) NULL;


	   if (XmSpinBoxValidatePosition(textual, &position) == XmCURRENT_VALUE)
	     XBell(XtDisplay(w), 0);
	     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

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

       XmSpinBox(3), XmCreateSpinBox(3)

							  XmSpinBoxValidatePosition(library call)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 06:00 AM.