home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / Chip_1998-11_cd.bin / tema / Cafe / jfc.bin / AccessibleLayout.java < prev    next >
Text File  |  1998-02-26  |  5KB  |  144 lines

  1. /*
  2.  * @(#)AccessibleLayout.java    1.9 98/02/18
  3.  *
  4.  * Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
  5.  * 
  6.  * This software is the confidential and proprietary information of Sun
  7.  * Microsystems, Inc. ("Confidential Information").  You shall not
  8.  * disclose such Confidential Information and shall use it only in
  9.  * accordance with the terms of the license agreement you entered into
  10.  * with Sun.
  11.  * 
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
  13.  * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  14.  * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  15.  * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
  16.  * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
  17.  * THIS SOFTWARE OR ITS DERIVATIVES.
  18.  * 
  19.  */
  20.  
  21. package com.sun.java.accessibility;
  22.  
  23. import java.awt.*;
  24.  
  25. /**
  26.  * The AccessibleLayout interface is currently up for review and should
  27.  * only be used for experimental purposes.  Interested parties should review
  28.  * this interface and send comments to 
  29.  * <a href="mailto:access@sun.com">access@sun.com</a>.  Based upon feedback
  30.  * from reviewers, we may add a method to AccessibleContext (e.g., 
  31.  * getAccessibleLayout) that will return an object that implements this 
  32.  * interface if the Accessible object supports the layout of its children.
  33.  * 
  34.  * @see Accessible
  35.  * @see AccessibleContext
  36.  *
  37.  * @version     1.9 02/18/98 14:38:33
  38.  * @author      Willie Walker
  39.  * @author      Peter Korn
  40.  */
  41. public interface AccessibleLayout {
  42.     
  43.     /**
  44.      * Constant used to locate the object logically previous of the 
  45.      * object passed in.
  46.      */
  47.     public static final int LOGICAL_PREVIOUS  = 0x00000001;
  48.  
  49.     /**
  50.      * Constant used to locate the object logically next of the 
  51.      * object passed in.
  52.      */
  53.     public static final int LOGICAL_NEXT      = 0x00000002;
  54.  
  55.     /**
  56.      * Constant used to locate the first logical object in the container.
  57.      */
  58.     public static final int LOGICAL_FIRST     = 0x00000003;
  59.  
  60.     /**
  61.      * Constant used to locate the last logical object in the container.
  62.      */
  63.     public static final int LOGICAL_LAST      = 0x00000004;
  64.  
  65.     /**
  66.      * Constant used to locate the object physically above the 
  67.      * object passed in.
  68.      */
  69.     public static final int POSITION_ABOVE    = 0x00000005;
  70.  
  71.     /**
  72.      * Constant used to locate the object physically below the 
  73.      * object passed in.
  74.      */
  75.     public static final int POSITION_BELOW    = 0x00000006;
  76.  
  77.     /**
  78.      * Constant used to locate the object physically to the left of the 
  79.      * object passed in.
  80.      */
  81.     public static final int POSITION_LEFT     = 0x00000007;
  82.  
  83.     /**
  84.      * Constant used to locate the object physically to the right of the 
  85.      * object passed in.
  86.      */
  87.     public static final int POSITION_RIGHT    = 0x00000008;
  88.  
  89.     /**
  90.      * Constant used to locate the first physical object in the Container
  91.      */
  92.     public static final int POSITION_FIRST    = 0x00000009;
  93.  
  94.     /**
  95.      * Constant used to locate the last physical object in the Container
  96.      */
  97.     public static final int POSITION_LAST     = 0x00000010;
  98.  
  99.     /**
  100.      * Determine the object in the given relative direction 
  101.      * from the Component passed in.
  102.      * @param comp the Component
  103.      * @param direction the direction to look in
  104.      * @return Component else null
  105.      */
  106.     public abstract Component locate(Component comp, int direction);
  107.  
  108.     /**
  109.      * Determine the object in the given relative direction 
  110.      * from the Point passed in.
  111.      * @param p Point in screen coordinates
  112.      * @param direction the direction to look in
  113.      * @return Component else null
  114.      */
  115.     public abstract Component locate(Point p, int direction);
  116.  
  117.     /**
  118.      * Determine the first or last object in the Container.
  119.      * @param pos -- either POSITION_FIRST, POSITION_LAST,
  120.      * LOGICAL_FIRST, or LOGICAL_LAST
  121.      * @return Component else null
  122.      */
  123.     public abstract Component locate(int pos);
  124.  
  125.     /**
  126.      * Determine the focusable object in the given relative focus direction 
  127.      * from the Component passed in.  Note that this follows focus traversing
  128.      * rules, not the physical location of the Component itself.
  129.      * @param comp the Component
  130.      * @param pos -- either POSITION_PREVIOUS, POSITION_NEXT,
  131.      * LOGICAL_PREVIOUS, or LOGICAL_NEXT
  132.      * @return Component else null
  133.      */
  134.     public abstract Component getFocusTraversable(Component comp, int direction);
  135.  
  136.     /**
  137.      * Determine the first or last object in the Container that accepts focus.
  138.      * @param pos -- either POSITION_FIRST, POSITION_LAST,
  139.      * LOGICAL_FIRST, or LOGICAL_LAST
  140.      * @return Component else null
  141.      */
  142.     public abstract Component getFocusTraversable(int pos);
  143. }
  144.