/* * @OPENGROUP_COPYRIGHT@ * COPYRIGHT NOTICE * Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc. * Copyright (c) 1996, 1997, 1998, 1999, 2000 The Open Group * ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for * the full copyright text. * * This software is subject to an open license. It may only be * used on, with or for operating systems which are themselves open * source systems. You must contact The Open Group for a license * allowing distribution and sublicensing of this software on, with, * or for operating systems which are not Open Source programs. * * See http://www.opengroup.org/openmotif/license for full * details of the license agreement. Any use, reproduction, or * distribution of the program constitutes recipient's acceptance of * this agreement. * * EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS * PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY * WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY * OR FITNESS FOR A PARTICULAR PURPOSE * * EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT * NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE * EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. */ /* * HISTORY */ /* static char rcsid[] = "$XConsortium: Navigation4.dat /main/7 1995/07/13 19:43:30 drk $" */ /* just tabbing around */ !) This is a simple test of traversal behaviors. #) The seven boxed groups of widgets are tab groups. You can move between the groups by hitting TAB or Shift-TAB. #) Note that the last two managers, which have no children, do NOT accept the focus. #) Within each group, move between the push-buttons/toggle-buttons by using the up/down left/right arrow keys. #) Use the space key to activate (depress) the buttons. #) Try moving amongst the buttons and back and forth between the tab groups. C) /*** TRAVERSE_DOWN anywhere ***/ #) During this panel, you may execute the command !) XmProcessTraversal (current_widget, XmTRAVERSAL_DOWN) by pressing the "Traverse" button on this message panel. #) Move the focus to any widget by clicking MB1 on it, or traversing there and pressing space. THIS STEP IS NECESSARY TO INITIALIZE THINGS. #) Press Traverse. The focus should go DOWN. #) Click on the button with the highlight, or another button, to initialize internals. #) Try this from all locations, including the bottom of a tab group. When you are at the bottom of a tab group, DOWN should wrap you back to the top. Remember you must SET your location first by clicking on it. #) When you are done testing this panel, click MB1 on the button labelled "misc2". C) /*** programmatic DOWN on rc parent of misc2 ***/ #) The focus has been set programmatically to DOWN for the parent of misc2. The focus should be on toggle21. C) /*** programmatic DOWN on parent anywhere ***/ #) You can test setting the focus programmatically to DOWN on the parent of any widget by clicking on that widget, and then pressing traverse. #) In each case, the focus should move to the widget after the widget that has the focus, or wrap to the first one if you are at the end of that tab group. #) Click on any button except the large Arrow and remember what you chose. C) /*** programmatic DOWN on bb ***/ #) The focus has been set programmatically to DOWN for the Bulletin Board. The focus should have moved to the button below the one you chose (or wrapped to the top, if the last in that tab group). #) Check that there is no failure message in the stdout window. #) Click MB1 on btn1. C) /*** programmatic DOWN on btn3 ***/ #) The focus has been set programmatically to DOWN for btn3. The focus should be on btn2. #) Check that there is no failure message in the stdout window. C) /*** TRAVERSE_HOME anywhere ***/ #) During this panel, you can test the command !) XmProcessTraversal (w, XmTRAVERSAL_HOME ) by pressing the "Traverse" button on this message panel. #) Move the focus to any widget by clicking MB1 on it, or traversing there and pressing space. THIS STEP IS NECESSARY TO INITIALIZE THINGS. #) Press Traverse. The focus should always move to the first traversable element in that tab group. #) Before you continue, note what tab group you are in. C) /*** programmatic TRAVERSE_HOME on bb ***/ #) The focus has been set programmatically to HOME for the BulletinBoard. The focus should be on the first child of the tab group you were in on the last panel. C) #) Test TRAVERSE_LEFT in the same fashion as previously for any widget. #) You should get the same results by pressing the left arrow key from any widget that you get doing TRAVERSE_LEFT from that widget. C) #) Test TRAVERSE_NEXT in the same fashion as previously for any widget. C) #) Test TRAVERSE_NEXT_TAB_GROUP in the same fashion as previously for any widget. C) #) Test TRAVERSE_PREV_TAB_GROUP in the same fashion as previously for any widget. C) #) Test TRAVERSE_RIGHT in the same fashion as previously for any widget. #) You should get the same results by pressing the right arrow key from any widget that you get doing TRAVERSE_LEFT from that widget. C) #) Test TRAVERSE_UP in the same fashion as previously for any widget. C) E)