👤
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 xmprocesstraversal (redhat section 3)

XmProcessTraversal(library call)				 XmProcessTraversal(library call)

NAME
       XmProcessTraversal  -- A function that determines which component receives keyboard events
       when a widget has the focus

SYNOPSIS
       #include <Xm/Xm.h>
       Boolean XmProcessTraversal(
       Widget widget,
       XmTraversalDirection direction);

DESCRIPTION
       XmProcessTraversal determines which component of a hierarchy receives keyboard events when
       the hierarchy that contains the given widget has keyboard focus.

       XmProcessTraversal changes focus only when the keyboard focus policy of the widget hierar-
       chy is explicit.  If the XmNkeyboardFocusPolicy of the nearest shell ancestor of the given
       widget  is  not	XmEXPLICIT,  XmProcessTraversal  returns  False  without making any focus
       changes.

       widget	 Specifies the widget ID of the widget whose hierarchy is to be traversed

       direction Specifies the direction of traversal

   DEFINITIONS
       In order to be eligible to receive keyboard focus when the shell's  XmNkeyboardFocusPolicy
       is XmEXPLICIT, a widget or gadget must meet the following conditions:

	  o  The widget and its ancestors are not in the process of being destroyed.

	  o  The  widget and its ancestors are sensitive.  A widget is sensitive when its XmNsen-
	     sitive and XmNancestorSensitive resources are both True.

	  o  The XmNtraversalOn resource for the widget and its ancestors is True.

	  o  The widget is viewable.  This means that the widget and its ancestors  are  managed,
	     realized,	and  (except  for gadgets) mapped.  Furthermore, in general, some part of
	     the widget's rectangular area must be unobscured by the widget's  ancestors.  If  an
	     application  unmaps a widget that has its XmNmappedWhenManaged resource set to True,
	     the result is undefined.

		 In a ScrolledWindow with an XmNscrollingPolicy of XmAUTOMATIC, a widget that  is
		 obscured  because  it is not within the clip window may be able to receive focus
		 if some part of the widget is within the work	area  and  if  an  XmNtraverseOb-
		 scuredCallback  routine  can  make  the  widget  at  least  partially visible by
		 scrolling the window.

       In general only primitives, gadgets, and Drawing Area are eligible to receive focus.  Most
       managers cannot receive focus even if they meet all these conditions.

       The  direction argument identifies the kind of traversal action to take.  The descriptions
       of these actions below refer to traversable  non-tab-group  widgets  and  traversable  tab
       groups.

	  o  A	traversable  non-tab-group  widget  is	a widget that is not a tab group and that
	     meets all the conditions for receiving focus described above.

	  o  A traversable tab group widget is a tab group widget that meets the same conditions,
	     except  that  a  manager  that is a tab group and meets the other conditions is also
	     eligible for traversal as long as it contains a descendant that can receive focus.

       A tab group is a widget whose XmNnavigationType is:

	  o  XmTAB_GROUP or XmSTICKY_TAB_GROUP, if the hierarchy (up to the nearest shell  ances-
	     tor)  that  contains  the	widget	has no widget whose XmNnavigationType is XmEXCLU-
	     SIVE_TAB_GROUP

	  o  XmEXCLUSIVE_TAB_GROUP or XmSTICKY_TAB_GROUP, if the hierarchy  (up  to  the  nearest
	     shell  ancestor)  that contains the widget has any widget whose XmNnavigationType is
	     XmEXCLUSIVE_TAB_GROUP

   TRAVERSAL ACTIONS
       The hierarchy to be traversed is that containing the widget argument.  This  hierarchy  is
       traversed  only	up  to the nearest shell; XmProcessTraversal does not move focus from one
       shell to another.  If the shell containing widget does not currently have the  focus,  any
       change  that XmProcessTraversal makes to the element with focus within that shell does not
       take effect until the next time the shell receives focus.

       XmProcessTraversal begins the traversal action from the widget in the hierarchy that  cur-
       rently  has  keyboard  focus  or that last had focus when the user traversed away from the
       shell hierarchy.

       The value of the direction argument determines which of three kinds of traversal action to
       take:

	  o  Traversal	to  a non-tab-group widget.  This kind of traversal is possible only when
	     the widget that currently has focus is not a tab group; otherwise,  XmProcessTraver-
	     sal returns False for these actions.

		 These	actions  do  not  move	focus from one tab group to another.  The actions
		 first determine the containing tab group.  This is the tab group containing  the
		 widget  that  currently has focus.  The actions traverse only to a non-tab-group
		 widget within the containing tab group.

		 A non-tab-group widget is eligible for this kind of traversal if the  widget  is
		 traversable  and  has no tab group ancestors up to the containing tab group.  If
		 the tab group contains no traversable non-tab-group widgets,  XmProcessTraversal
		 returns False.

		 Following  are  the  possible	values of the direction argument.  Note that when
		 actions  wrap,  wrapping  occurs  in  the  traversal  direction.  The	following
		 describes what happens in a left to right environment:

		    o  XmTRAVERSE_RIGHT--If  the XmNnavigationType of the containing tab group is
		       not XmEXCLUSIVE_TAB_GROUP, focus moves to the  next  traversable  non-tab-
		       group  widget  to  the right of the widget that currently has focus.  In a
		       left to right environment, at the right side of the tab group this  action
		       wraps  to  the  non-tab-group  widget at the left side and next toward the
		       bottom.	At the rightmost widget in the bottom row of the tab  group  this
		       action  wraps  to  the  non-tab-group widget at the leftmost widget in the
		       upper row.

			   In a right to left environment, at the right side of  the  tab  group,
			   this  action  wraps	to  the non-tab-group widget at the left side and
			   next toward the top. At the rightmost widget in the upper row  of  the
			   tab	group  this action wraps to the non-tab-group widget at the left-
			   most widget in the bottom row.

			   If the XmNnavigationType of	the  containing  tab  group  is  XmEXCLU-
			   SIVE_TAB_GROUP, focus moves to the next traversable non-tab-group wid-
			   get in the tab group, proceeding in the order  in  which  the  widgets
			   appear  in their parents' XmNchildren lists.  After the last widget in
			   the tab group, this action wraps to the first non-tab-group widget.

		    o  XmTRAVERSE_LEFT--If the XmNnavigationType of the containing tab	group  is
		       not  XmEXCLUSIVE_TAB_GROUP,  focus  moves to the next traversable non-tab-
		       group widget to the left of the widget that currently  has  focus.   In	a
		       left  to  right environment, at the left side of the tab group this action
		       wraps to the non-tab-group widget at the right side and	next  toward  the
		       top.  At the leftmost widget in the upper row of the tab group this action
		       wraps to the non-tab-group widget at the rightmost widget  in  the  bottom
		       row.

			   In a right to left environment, at the left side of the tab group this
			   action wraps to the non-tab-group widget at the right  side	and  next
			   toward the bottom. At the leftmost widget in the bottom row of the tab
			   group this action wraps to the non-tab-group widget at  the	rightmost
			   widget in the upper row.

			   If  the  XmNnavigationType  of  the	containing  tab group is XmEXCLU-
			   SIVE_TAB_GROUP, focus moves to the previous traversable  non-tab-group
			   widget  in the tab group, proceeding in the reverse order in which the
			   widgets appear in their parents' XmNchildren lists.	After  the  first
			   widget  in  the tab group, this action wraps to the last non-tab-group
			   widget.

		    o  XmTRAVERSE_DOWN--If the XmNnavigationType of the containing tab	group  is
		       not  XmEXCLUSIVE_TAB_GROUP,  focus  moves to the next traversable non-tab-
		       group widget below the widget that currently has  focus.   In  a  left  to
		       right environment, at the bottom of the tab group this action wraps to the
		       non-tab-group widget at the top and next toward the right.  At the  bottom
		       widget  in  the rightmost column of the tab group this action wraps to the
		       non-tab-group widget at the top widget in the leftmost column.

			   In a right to left environment, at the bottom of the  tab  group  this
			   action  wraps  to  the non-tab-group widget at the top and next toward
			   the left. At the bottom widget of the leftmost widget of the tab group
			   this action wraps to the non-tab-group widget at the top widget of the
			   rightmost column.

			   If the XmNnavigationType of	the  containing  tab  group  is  XmEXCLU-
			   SIVE_TAB_GROUP, focus moves to the next traversable non-tab-group wid-
			   get in the tab group, proceeding in the order  in  which  the  widgets
			   appear  in their parents' XmNchildren lists.  After the last widget in
			   the tab group, this action wraps to the first non-tab-group widget.

		    o  XmTRAVERSE_UP--If the XmNnavigationType of the containing tab group is not
		       XmEXCLUSIVE_TAB_GROUP,  focus  moves to the next traversable non-tab-group
		       widget above the widget that currently has focus.   In  a  left	to  right
		       environment, at the top of the tab group this action wraps to the non-tab-
		       group widget at the bottom and next toward the left.  At the top widget of
		       the  leftmost  column  of  the tab group this action wraps to the non-tab-
		       group widget at the bottom widget of the rightmost column.

			   In a right to left environment, at the  top	of  the  tab  group  this
			   action wraps to the non-tab-group widget at the bottom and next toward
			   the right. At the top widget of the right most column of the tab group
			   this  action wraps to the non-tab-group widget at the bottom widget of
			   the leftmost column.

			   If the XmNnavigationType of	the  containing  tab  group  is  XmEXCLU-
			   SIVE_TAB_GROUP,  focus moves to the previous traversable non-tab-group
			   widget in the tab group, proceeding in the reverse order in which  the
			   widgets  appear  in their parents' XmNchildren lists.  After the first
			   widget in the tab group, this action wraps to the  last  non-tab-group
			   widget.

		    o  XmTRAVERSE_NEXT--Focus  moves to the next traversable non-tab-group widget
		       in the tab group, proceeding in the order in which the widgets  appear  in
		       their parents' XmNchildren lists.  After the last widget in the tab group,
		       this action wraps to the first non-tab-group widget.

		    o  XmTRAVERSE_PREV--Focus moves to	the  previous  traversable  non-tab-group
		       widget in the tab group, proceeding in the reverse order in which the wid-
		       gets appear in their parents' XmNchildren lists.  After the  first  widget
		       in the tab group, this action wraps to the last non-tab-group widget.

		    o  XmTRAVERSE_HOME--If  the  XmNnavigationType of the containing tab group is
		       not XmEXCLUSIVE_TAB_GROUP, focus moves to the first  traversable  non-tab-
		       group widget at the initial focus of the tab group.

			   If  the  XmNnavigationType  of  the	containing  tab group is XmEXCLU-
			   SIVE_TAB_GROUP, focus moves to  the	first  traversable  non-tab-group
			   widget  in  the tab group, according to the order in which the widgets
			   appear in their parents' XmNchildren lists.

	  o  Traversal to a tab group.	These actions first determine the current widget  hierar-
	     chy  and the containing tab group.  The current widget hierarchy is the widget hier-
	     archy whose root is the nearest shell ancestor of	the  widget  that  currently  has
	     focus.  The containing tab group is is the tab group containing the widget that cur-
	     rently has focus.	If the current	widget	hierarchy  contains  no  traversable  tab
	     groups, XmProcessTraversal returns False.

		 Following are the possible values of the direction argument. If any tab group in
		 the current widget hierarchy has an XmNnavigationType of  XmEXCLUSIVE_TAB_GROUP,
		 traversal  of	tab  groups  in the hierarchy proceeds to widgets in the order in
		 which their XmNnavigationType resources were specified as  XmEXCLUSIVE_TAB_GROUP
		 or XmSTICKY_TAB_GROUP.:

		    o  XmTRAVERSE_NEXT_TAB_GROUP--Finds the hierarchy that contains widget, finds
		       the active tab group (if any), and makes the next tab group the active tab
		       group in the hierarchy.

		    o  XmTRAVERSE_PREV_TAB_GROUP--Finds the hierarchy that contains widget, finds
		       the active tab group (if any), and makes the previous tab group the active
		       tab group in the hierarchy.

	  o  Traversal	to  any  widget.  In this case the widget argument is the widget to which
	     XmProcessTraversal tries to give focus.  If the widget is	not  traversable,  XmPro-
	     cessTraversal returns False.

		 Following are the possible values of the direction argument:

		    o  XmTRAVERSE_CURRENT--Finds  the  hierarchy  and  the tab group that contain
		       widget.	If this tab group is not the active tab group, this action  makes
		       it  the	active	tab group.  If widget is an item in the active tab group,
		       this action makes it the active item.  If widget is the active tab  group,
		       this  action  makes the first traversable item in the tab group the active
		       item.

   CAUTIONS
       Using XmProcessTraversal to traverse to MenuBars, Pulldown menu panes, or Popup menu panes
       is not supported.

       XmProcessTraversal  cannot  be  called  recursively.  In particular, an application cannot
       call this routine from an XmNfocusCallback or XmNlosingFocusCallback procedure.

RETURN
       Returns True if the traversal action succeeded.	Returns False if the XmNkeyboardFocusPol-
       icy  of	the  nearest  shell ancestor of widget is not XmEXPLICIT, if the traversal action
       finds no traversable widget to receive focus, or if the call to the  routine  has  invalid
       arguments.

RELATED
       XmGetVisibility(3) and XmIsTraversable(3).

								 XmProcessTraversal(library call)


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

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