cdk_traverse man page on DragonFly

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

cdk_traverse(3)						       cdk_traverse(3)

NAME
       cdk_traverse - functions to support keyboard traversal

SYNOPSIS
       cc [ flag ... ] file ...	 -lcdk [ library ... ]

       #include <cdk.h>

       CDKOBJS *getCDKFocusCurrent (CDKSCREEN *screen);

       CDKOBJS *setCDKFocusCurrent (CDKSCREEN *screen, CDKOBJS *obj);

       CDKOBJS *setCDKFocusFirst (CDKSCREEN *screen);

       CDKOBJS *setCDKFocusLast (CDKSCREEN *screen);

       CDKOBJS *setCDKFocusNext (CDKSCREEN *screen);

       CDKOBJS *setCDKFocusPrevious (CDKSCREEN *screen);

       int traverseCDKScreen (CDKSCREEN *screen);

       void exitOKCDKScreen (CDKSCREEN *screen);

       void exitCancelCDKScreen (CDKSCREEN *screen);

       void resetCDKScreen (CDKSCREEN *screen);

       void exitOKCDKScreenOf(CDKOBJS *obj);

       void exitCancelCDKScreenOf (CDKOBJS *obj);

       void resetCDKScreenOf (CDKOBJS *obj);

       void traverseCDKOnce (
		      CDKSCREEN *screen,
		      CDKOBJS *curobj,
		      int keyCode,
		      boolean functionKey,
		      CHECK_KEYCODE funcMenuKey);

DESCRIPTION
       The  functions  above  handle  the traversal of a screen populated with
       various widgets.	 Once the screen has been created and  populated  with
       widgets,	 a  single  call to traverseCDKScreen() will allow the user to
       move between widgets and enter data (or otherwise manipulate  widgets).
       Other functions are provided for use as callbacks by the widgets on the
       screen.	Finally, there are several functions which allow the caller to
       manipulate  the	state  of  the	traversal,  i.e., the object which has
       focus.

       In order for widgets to be used on a screen which is to be  handled  by
       traverseCDKScreen(), it must have the following methods available:
	  injectCharObj
	  inputWindowObj
	  focusObj
	  unfocusObj
	  saveDataObj
	  refreshDataObj

       In addition, the following object properties must be properly handled:
	  acceptsFocus
	  hasFocus
	  inputWindow
	  dataPtr
	  dataType

       At the time of this writing, not all widgets have been modified to work
       with the screen-traversal facility.

AVAILABLE FUNCTIONS
       int traverseCDKScreen (CDKSCREEN *screen);
	  This function contains the main screen traversal  engine.   It  does
	  the following:

	   1. Calls the refreshData method on each of the widgets to tell them
	      to update their appearance to match the data  which  are	refer‐
	      enced by their respective data pointers.

	   2. Calls the focusObject method on the first widget.

	   3. Repeats  the  following  until  one of the exit functions listed
	      above has been called:

	      *	 Read a keystroke from the keyboard.

	      *	 If the keystroke is ESCAPE and	 a  menu  widget  is  present,
		 activate  the	menu and traverse it until the user selects an
		 entry or hits TAB.

	      *	 If the keystroke is TAB/BACKTAB then call  the	 unfocusObject
		 method on the current widget, and move focus to the next/pre‐
		 vious widget (not counting menu widgets).  Call the  focusOb‐
		 ject method on the newly current widget.

	      *	 If  the  keystroke  is the EXIT-SAVE keystroke, then call the
		 saveData method on each widget and return 1.

	      *	 If the keystroke is the EXIT-CANCEL keystroke, return 0 with‐
		 out saving changes made by the user.

	      *	 If  the  keystroke is the RESET-DATA keystroke, then call the
		 refreshData method on each of	the  widgets  to  reset	 their
		 appearance  to	 match	the data values that were present upon
		 entry.

	      *	 Otherwise, pass the keystroke to the current widget.

       CDKOBJS *getCDKFocusCurrent (CDKSCREEN *screen);
	    Return a pointer to the object which currently has	focus  in  the
	    given screen.

       CDKOBJS *setCDKFocusCurrent (CDKSCREEN *screen, CDKOBJS *obj);
	    Set	 the  focus  to	 the given object, if the screen contains that
	    object.  If the screen does not contain the object,	 return	 null.
	    Otherwise, return the object.

       CDKOBJS *setCDKFocusFirst (CDKSCREEN *screen);
	    Set focus on the first object in the given screen.

       CDKOBJS *setCDKFocusLast (CDKSCREEN *screen);
	    Set focus on the last object in the given screen.

       CDKOBJS *setCDKFocusNext (CDKSCREEN *screen);
	    Set focus on the next object in the given screen.

       CDKOBJS *setCDKFocusPrevious (CDKSCREEN *screen);
	    Set focus on the previous object in the given screen.

       exitOKCDKScreen
	  Causes  the  traversal  engine  to  exit  after calling the saveData
	  method for each of the widgets.

       exitOKCDKScreenOf
	  Calls exitOKCDKScreen() on the screen associated  with  widget  obj.
	  This	function  was  designed to be used as a callback routine for a
	  button widget used as an OK button on a data-entry screen.

       exitCancelCDKScreen
	  Causes the traversal engine to exit  without	saving	user  modified
	  data.

       exitCancelCDKScreenOf
	  Calls	 exitCancelCDKScreen()	on  the	 screen associated with widget
	  obj.	This function was designed to be used as  a  callback  routine
	  for a button widget used as a Cancel button on a data-entry screen.

       resetCDKScreen
	  Causes  the traversal engine to call the refreshData method for each
	  widget.  This will cause any unsaved changes to be discarded and the
	  widget states will be restored to their initial values.

       resetCDKScreenOf
	  Calls	 resetCDKScreen()  on  the  screen associated with widget obj.
	  This function was designed to be used as a callback  routine	for  a
	  button widget used as a Reset button on a data-entry screen.

       traverseCDKOnce
	  This	is  a  utility	function, one of the pieces from which you can
	  construct a customized version of traverseCDKScreen.

BUGS
       Not all widgets have had the extra methods added so that they work with
       the screen traversal engine.

AUTHOR
       Grant Edwards, Aspen Research Corporation
       Thomas Dickey and contributors.

SEE ALSO
       cdk(3), cdk_binding(3), cdk_display(3), cdk_screen(3)

							       cdk_traverse(3)
[top]

List of man pages available for DragonFly

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