home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3 / Xm / XmProcessTraversal.z / XmProcessTraversal
Encoding:
Text File  |  2001-04-17  |  32.4 KB  |  529 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll - A function that determines which
  10.           component receives keyboard events when a widget has the
  11.           focus
  12.  
  13.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.           #include <Xm/Xm.h>
  15.           BBBBoooooooolllleeeeaaaannnn XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll(
  16.           WWWWiiiiddddggggeeeetttt wwwwiiiiddddggggeeeetttt,
  17.           XXXXmmmmTTTTrrrraaaavvvveeeerrrrssssaaaallllDDDDiiiirrrreeeeccccttttiiiioooonnnn ddddiiiirrrreeeeccccttttiiiioooonnnn);
  18.  
  19.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  20.           This page documents Motif 2.1.
  21.  
  22.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  23.           XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll determines which component of a hierarchy
  24.           receives keyboard events when the hierarchy that contains
  25.           the given widget has keyboard focus.
  26.  
  27.           XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll changes focus only when the keyboard
  28.           focus policy of the widget hierarchy is explicit.  If the
  29.           XXXXmmmmNNNNkkkkeeeeyyyybbbbooooaaaarrrrddddFFFFooooccccuuuussssPPPPoooolllliiiiccccyyyy of the nearest shell ancestor of the
  30.           given widget is not XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT, XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallllreturns
  31.           False without making any focus changes.
  32.  
  33.           _w_i_d_g_e_t    Specifies the widget ID of the widget whose
  34.                     hierarchy is to be traversed
  35.  
  36.           _d_i_r_e_c_t_i_o_n Specifies the direction of traversal
  37.  
  38.         DDDDEEEEFFFFIIIINNNNIIIITTTTIIIIOOOONNNNSSSS
  39.           In order to be eligible to receive keyboard focus when the
  40.           shell's XXXXmmmmNNNNkkkkeeeeyyyybbbbooooaaaarrrrddddFFFFooooccccuuuussssPPPPoooolllliiiiccccyyyy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT, a widget or
  41.           gadget must meet the following conditions:
  42.  
  43.              +o  The widget and its ancestors are not in the process of
  44.                 being destroyed.
  45.  
  46.              +o  The widget and its ancestors are _s_e_n_s_i_t_i_v_e.  A widget
  47.                 is sensitive when its XXXXmmmmNNNNsssseeeennnnssssiiiittttiiiivvvveeee and
  48.                 XXXXmmmmNNNNaaaannnncccceeeessssttttoooorrrrSSSSeeeennnnssssiiiittttiiiivvvveeee resources are both True.
  49.  
  50.              +o  The XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrssssaaaallllOOOOnnnn resource for the widget and its
  51.                 ancestors is True.
  52.  
  53.              +o  The widget is viewable.  This means that the widget
  54.                 and its ancestors are managed, realized, and (except
  55.                 for gadgets) mapped.  Furthermore, in general, some
  56.                 part of the widget's rectangular area must be
  57.                 unobscured by the widget's ancestors. If an
  58.                 application unmaps a widget that has its
  59.                 XXXXmmmmNNNNmmmmaaaappppppppeeeeddddWWWWhhhheeeennnnMMMMaaaannnnaaaaggggeeeedddd resource set to True, the result
  60.  
  61.  
  62.  
  63.      Page 1                                           (printed 4/6/01)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))
  71.  
  72.  
  73.  
  74.                 is undefined.
  75.  
  76.                     In a ScrolledWindow with an XXXXmmmmNNNNssssccccrrrroooolllllllliiiinnnnggggPPPPoooolllliiiiccccyyyy of
  77.                     XXXXmmmmAAAAUUUUTTTTOOOOMMMMAAAATTTTIIIICCCC, a widget that is obscured because it
  78.                     is not within the clip window may be able to
  79.                     receive focus if some part of the widget is within
  80.                     the work area and if an
  81.                     XXXXmmmmNNNNttttrrrraaaavvvveeeerrrrsssseeeeOOOObbbbssssccccuuuurrrreeeeddddCCCCaaaallllllllbbbbaaaacccckkkkroutine can make the
  82.                     widget at least partially visible by scrolling the
  83.                     window.
  84.  
  85.           In general only primitives, gadgets, and Drawing Area are
  86.           eligible to receive focus.  Most managers cannot receive
  87.           focus even if they meet all these conditions.
  88.  
  89.           The _d_i_r_e_c_t_i_o_n argument identifies the kind of traversal
  90.           action to take.  The descriptions of these actions below
  91.           refer to traversable non-tab-group widgets and traversable
  92.           tab groups.
  93.  
  94.              +o  A traversable non-tab-group widget is a widget that is
  95.                 not a tab group and that meets all the conditions for
  96.                 receiving focus described above.
  97.  
  98.              +o  A traversable tab group widget is a tab group widget
  99.                 that meets the same conditions, except that a manager
  100.                 that is a tab group and meets the other conditions is
  101.                 also eligible for traversal as long as it contains a
  102.                 descendant that can receive focus.
  103.  
  104.           A tab group is a widget whose XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee is:
  105.  
  106.              +o  XXXXmmmmTTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP or XXXXmmmmSSSSTTTTIIIICCCCKKKKYYYY____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, if the hierarchy
  107.                 (up to the nearest shell ancestor) that contains the
  108.                 widget has no widget whose XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee is
  109.                 XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP
  110.  
  111.              +o  XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP or XXXXmmmmSSSSTTTTIIIICCCCKKKKYYYY____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, if the
  112.                 hierarchy (up to the nearest shell ancestor) that
  113.                 contains the widget has any widget whose
  114.                 XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee is XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP
  115.  
  116.         TTTTRRRRAAAAVVVVEEEERRRRSSSSAAAALLLL AAAACCCCTTTTIIIIOOOONNNNSSSS
  117.           The hierarchy to be traversed is that containing the
  118.           _w_i_d_g_e_targument.  This hierarchy is traversed only up to the
  119.           nearest shell; XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll does not move focus from
  120.           one shell to another.  If the shell containing _w_i_d_g_e_t does
  121.           not currently have the focus, any change that
  122.           XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll makes to the element with focus within
  123.           that shell does not take effect until the next time the
  124.           shell receives focus.
  125.  
  126.  
  127.  
  128.  
  129.      Page 2                                           (printed 4/6/01)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))
  137.  
  138.  
  139.  
  140.           XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll begins the traversal action from the
  141.           widget in the hierarchy that currently has keyboard focus or
  142.           that last had focus when the user traversed away from the
  143.           shell hierarchy.
  144.  
  145.           The value of the _d_i_r_e_c_t_i_o_n argument determines which of
  146.           three kinds of traversal action to take:
  147.  
  148.              +o  Traversal to a non-tab-group widget.  This kind of
  149.                 traversal is possible only when the widget that
  150.                 currently has focus is not a tab group; otherwise,
  151.                 XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallllreturns False for these actions.
  152.  
  153.                     These actions do not move focus from one tab group
  154.                     to another.  The actions first determine the
  155.                     containing tab group.  This is the tab group
  156.                     containing the widget that currently has focus.
  157.                     The actions traverse only to a non-tab-group
  158.                     widget within the containing tab group.
  159.  
  160.                     A non-tab-group widget is eligible for this kind
  161.                     of traversal if the widget is traversable and has
  162.                     no tab group ancestors up to the containing tab
  163.                     group.  If the tab group contains no traversable
  164.                     non-tab-group widgets, XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll returns
  165.                     False.
  166.  
  167.                     Following are the possible values of the _d_i_r_e_c_t_i_o_n
  168.                     argument.  Note that when actions wrap, wrapping
  169.                     occurs in the traversal direction. The following
  170.                     describes what happens in a left to right
  171.                     environment:
  172.  
  173.                        +o  XXXXmmmmTTTTRRRRAAAAVVVVEEEERRRRSSSSEEEE____RRRRIIIIGGGGHHHHTTTT-If the XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of
  174.                           the containing tab group is not
  175.                           XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, focus moves to the
  176.                           next traversable non-tab-group widget to the
  177.                           right of the widget that currently has
  178.                           focus.  In a left to right environment, at
  179.                           the right side of the tab group this action
  180.                           wraps to the non-tab-group widget at the
  181.                           left side and next toward the bottom.  At
  182.                           the rightmost widget in the bottom row of
  183.                           the tab group this action wraps to the non-
  184.                           tab-group widget at the leftmost widget in
  185.                           the upper row.
  186.  
  187.                               In a right to left environment, at the
  188.                               right side of the tab group, this action
  189.                               wraps to the non-tab-group widget at the
  190.                               left side and next toward the top. At
  191.                               the rightmost widget in the upper row of
  192.  
  193.  
  194.  
  195.      Page 3                                           (printed 4/6/01)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))
  203.  
  204.  
  205.  
  206.                               the tab group this action wraps to the
  207.                               non-tab-group widget at the leftmost
  208.                               widget in the bottom row.
  209.  
  210.                               If the XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of the
  211.                               containing tab group is
  212.                               XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, focus moves to
  213.                               the next traversable non-tab-group
  214.                               widget in the tab group, proceeding in
  215.                               the order in which the widgets appear in
  216.                               their parents' XXXXmmmmNNNNcccchhhhiiiillllddddrrrreeeennnn lists.  After
  217.                               the last widget in the tab group, this
  218.                               action wraps to the first non-tab-group
  219.                               widget.
  220.  
  221.                        +o  XXXXmmmmTTTTRRRRAAAAVVVVEEEERRRRSSSSEEEE____LLLLEEEEFFFFTTTT-If the XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of
  222.                           the containing tab group is not
  223.                           XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, focus moves to the
  224.                           next traversable non-tab-group widget to the
  225.                           left of the widget that currently has focus.
  226.                           In a left to right environment, at the left
  227.                           side of the tab group this action wraps to
  228.                           the non-tab-group widget at the right side
  229.                           and next toward the top.  At the leftmost
  230.                           widget in the upper row of the tab group
  231.                           this action wraps to the non-tab-group
  232.                           widget at the rightmost widget in the bottom
  233.                           row.
  234.  
  235.                               In a right to left environment, at the
  236.                               left side of the tab group this action
  237.                               wraps to the non-tab-group widget at the
  238.                               right side and next toward the bottom.
  239.                               At the leftmost widget in the bottom row
  240.                               of the tab group this action wraps to
  241.                               the non-tab-group widget at the
  242.                               rightmost widget in the upper row.
  243.  
  244.                               If the XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of the
  245.                               containing tab group is
  246.                               XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, focus moves to
  247.                               the previous traversable non-tab-group
  248.                               widget in the tab group, proceeding in
  249.                               the reverse order in which the widgets
  250.                               appear in their parents' XXXXmmmmNNNNcccchhhhiiiillllddddrrrreeeennnn
  251.                               lists.  After the first widget in the
  252.                               tab group, this action wraps to the last
  253.                               non-tab-group widget.
  254.  
  255.                        +o  XXXXmmmmTTTTRRRRAAAAVVVVEEEERRRRSSSSEEEE____DDDDOOOOWWWWNNNN-If the XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of
  256.                           the containing tab group is not
  257.                           XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, focus moves to the
  258.  
  259.  
  260.  
  261.      Page 4                                           (printed 4/6/01)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))
  269.  
  270.  
  271.  
  272.                           next traversable non-tab-group widget below
  273.                           the widget that currently has focus.  In a
  274.                           left to right environment, at the bottom of
  275.                           the tab group this action wraps to the non-
  276.                           tab-group widget at the top and next toward
  277.                           the right.  At the bottom widget in the
  278.                           rightmost column of the tab group this
  279.                           action wraps to the non-tab-group widget at
  280.                           the top widget in the leftmost column.
  281.  
  282.                               In a right to left environment, at the
  283.                               bottom of the tab group this action
  284.                               wraps to the non-tab-group widget at the
  285.                               top and next toward the left. At the
  286.                               bottom widget of the leftmost widget of
  287.                               the tab group this action wraps to the
  288.                               non-tab-group widget at the top widget
  289.                               of the rightmost column.
  290.  
  291.                               If the XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of the
  292.                               containing tab group is
  293.                               XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, focus moves to
  294.                               the next traversable non-tab-group
  295.                               widget in the tab group, proceeding in
  296.                               the order in which the widgets appear in
  297.                               their parents' XXXXmmmmNNNNcccchhhhiiiillllddddrrrreeeennnn lists.  After
  298.                               the last widget in the tab group, this
  299.                               action wraps to the first non-tab-group
  300.                               widget.
  301.  
  302.                        +o  XXXXmmmmTTTTRRRRAAAAVVVVEEEERRRRSSSSEEEE____UUUUPPPP-If the XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of
  303.                           the containing tab group is not
  304.                           XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, focus moves to the
  305.                           next traversable non-tab-group widget above
  306.                           the widget that currently has focus.  In a
  307.                           left to right environment, at the top of the
  308.                           tab group this action wraps to the non-tab-
  309.                           group widget at the bottom and next toward
  310.                           the left.  At the top widget of the leftmost
  311.                           column of the tab group this action wraps to
  312.                           the non-tab-group widget at the bottom
  313.                           widget of the rightmost column.
  314.  
  315.                               In a right to left environment, at the
  316.                               top of the tab group this action wraps
  317.                               to the non-tab-group widget at the
  318.                               bottom and next toward the right. At the
  319.                               top widget of the right most column of
  320.                               the tab group this action wraps to the
  321.                               non-tab-group widget at the bottom
  322.                               widget of the leftmost column.
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                           (printed 4/6/01)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))
  335.  
  336.  
  337.  
  338.                               If the XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of the
  339.                               containing tab group is
  340.                               XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, focus moves to
  341.                               the previous traversable non-tab-group
  342.                               widget in the tab group, proceeding in
  343.                               the reverse order in which the widgets
  344.                               appear in their parents' XXXXmmmmNNNNcccchhhhiiiillllddddrrrreeeennnn
  345.                               lists.  After the first widget in the
  346.                               tab group, this action wraps to the last
  347.                               non-tab-group widget.
  348.  
  349.                        +o  XXXXmmmmTTTTRRRRAAAAVVVVEEEERRRRSSSSEEEE____NNNNEEEEXXXXTTTT-Focus moves to the next
  350.                           traversable non-tab-group widget in the tab
  351.                           group, proceeding in the order in which the
  352.                           widgets appear in their parents' XXXXmmmmNNNNcccchhhhiiiillllddddrrrreeeennnn
  353.                           lists.  After the last widget in the tab
  354.                           group, this action wraps to the first non-
  355.                           tab-group widget.
  356.  
  357.                        +o  XXXXmmmmTTTTRRRRAAAAVVVVEEEERRRRSSSSEEEE____PPPPRRRREEEEVVVV-Focus moves to the previous
  358.                           traversable non-tab-group widget in the tab
  359.                           group, proceeding in the reverse order in
  360.                           which the widgets appear in their parents'
  361.                           XXXXmmmmNNNNcccchhhhiiiillllddddrrrreeeennnn lists.  After the first widget
  362.                           in the tab group, this action wraps to the
  363.                           last non-tab-group widget.
  364.  
  365.                        +o  XXXXmmmmTTTTRRRRAAAAVVVVEEEERRRRSSSSEEEE____HHHHOOOOMMMMEEEE-If the XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of
  366.                           the containing tab group is not
  367.                           XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, focus moves to the
  368.                           first traversable non-tab-group widget at
  369.                           the initial focus of the tab group.
  370.  
  371.                               If the XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of the
  372.                               containing tab group is
  373.                               XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, focus moves to
  374.                               the first traversable non-tab-group
  375.                               widget in the tab group, according to
  376.                               the order in which the widgets appear in
  377.                               their parents' XXXXmmmmNNNNcccchhhhiiiillllddddrrrreeeennnn lists.
  378.  
  379.              +o  Traversal to a tab group.  These actions first
  380.                 determine the current widget hierarchy and the
  381.                 containing tab group.  The current widget hierarchy is
  382.                 the widget hierarchy whose root is the nearest shell
  383.                 ancestor of the widget that currently has focus.  The
  384.                 containing tab group is is the tab group containing
  385.                 the widget that currently has focus.  If the current
  386.                 widget hierarchy contains no traversable tab groups,
  387.                 XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll returns False.
  388.  
  389.                     Following are the possible values of the _d_i_r_e_c_t_i_o_n
  390.  
  391.  
  392.  
  393.      Page 6                                           (printed 4/6/01)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))
  401.  
  402.  
  403.  
  404.                     argument. If any tab group in the current widget
  405.                     hierarchy has an XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee of
  406.                     XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP, traversal of tab groups in
  407.                     the hierarchy proceeds to widgets in the order in
  408.                     which their XXXXmmmmNNNNnnnnaaaavvvviiiiggggaaaattttiiiioooonnnnTTTTyyyyppppeeee resources were
  409.                     specified as XXXXmmmmEEEEXXXXCCCCLLLLUUUUSSSSIIIIVVVVEEEE____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP or
  410.                     XXXXmmmmSSSSTTTTIIIICCCCKKKKYYYY____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP.:
  411.  
  412.                        +o  XXXXmmmmTTTTRRRRAAAAVVVVEEEERRRRSSSSEEEE____NNNNEEEEXXXXTTTT____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP-Finds the
  413.                           hierarchy that contains _w_i_d_g_e_t, finds the
  414.                           active tab group (if any), and makes the
  415.                           next tab group the active tab group in the
  416.                           hierarchy.
  417.  
  418.                        +o  XXXXmmmmTTTTRRRRAAAAVVVVEEEERRRRSSSSEEEE____PPPPRRRREEEEVVVV____TTTTAAAABBBB____GGGGRRRROOOOUUUUPPPP-Finds the
  419.                           hierarchy that contains _w_i_d_g_e_t, finds the
  420.                           active tab group (if any), and makes the
  421.                           previous tab group the active tab group in
  422.                           the hierarchy.
  423.  
  424.              +o  Traversal to any widget.  In this case the _w_i_d_g_e_t
  425.                 argument is the widget to which XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll
  426.                 tries to give focus.  If the widget is not
  427.                 traversable, XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll returns False.
  428.  
  429.                     Following are the possible values of the _d_i_r_e_c_t_i_o_n
  430.                     argument:
  431.  
  432.                        +o  XXXXmmmmTTTTRRRRAAAAVVVVEEEERRRRSSSSEEEE____CCCCUUUURRRRRRRREEEENNNNTTTT-Finds the hierarchy and
  433.                           the tab group that contain _w_i_d_g_e_t.  If this
  434.                           tab group is not the active tab group, this
  435.                           action makes it the active tab group.  If
  436.                           _w_i_d_g_e_t is an item in the active tab group,
  437.                           this action makes it the active item.  If
  438.                           _w_i_d_g_e_t is the active tab group, this action
  439.                           makes the first traversable item in the tab
  440.                           group the active item.
  441.  
  442.         CCCCAAAAUUUUTTTTIIIIOOOONNNNSSSS
  443.           Using XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll to traverse to MenuBars, Pulldown
  444.           menu panes, or Popup menu panes is not supported.
  445.  
  446.           XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll cannot be called recursively.  In
  447.           particular, an application cannot call this routine from an
  448.           XXXXmmmmNNNNffffooooccccuuuussssCCCCaaaallllllllbbbbaaaacccckkkk or XXXXmmmmNNNNlllloooossssiiiinnnnggggFFFFooooccccuuuussssCCCCaaaallllllllbbbbaaaacccckkkk procedure.
  449.  
  450.      RRRREEEETTTTUUUURRRRNNNN
  451.           Returns True if the traversal action succeeded.  Returns
  452.           False if the XXXXmmmmNNNNkkkkeeeeyyyybbbbooooaaaarrrrddddFFFFooooccccuuuussssPPPPoooolllliiiiccccyyyy of the nearest shell
  453.           ancestor of _w_i_d_g_e_t is not XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT, if the traversal
  454.           action finds no traversable widget to receive focus, or if
  455.           the call to the routine has invalid arguments.
  456.  
  457.  
  458.  
  459.      Page 7                                           (printed 4/6/01)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPrrrroooocccceeeessssssssTTTTrrrraaaavvvveeeerrrrssssaaaallll((((3333XXXX))))
  467.  
  468.  
  469.  
  470.      RRRREEEELLLLAAAATTTTEEEEDDDD
  471.           XXXXmmmmGGGGeeeettttVVVViiiissssiiiibbbbiiiilllliiiittttyyyy(3) and XXXXmmmmIIIIssssTTTTrrrraaaavvvveeeerrrrssssaaaabbbblllleeee(3).
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.      Page 8                                           (printed 4/6/01)
  526.  
  527.  
  528.  
  529.