| /* |
| * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved. |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| * |
| * This code is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU General Public License version 2 only, as |
| * published by the Free Software Foundation. Oracle designates this |
| * particular file as subject to the "Classpath" exception as provided |
| * by Oracle in the LICENSE file that accompanied this code. |
| * |
| * This code is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| * version 2 for more details (a copy is included in the LICENSE file that |
| * accompanied this code). |
| * |
| * You should have received a copy of the GNU General Public License version |
| * 2 along with this work; if not, write to the Free Software Foundation, |
| * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| * |
| * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| * or visit www.oracle.com if you need additional information or have any |
| * questions. |
| */ |
| |
| package javax.accessibility; |
| |
| import java.util.Vector; |
| import java.util.Locale; |
| import java.util.MissingResourceException; |
| import java.util.ResourceBundle; |
| |
| /** |
| * <P>Class AccessibleState describes a component's particular state. The actual |
| * state of the component is defined as an AccessibleStateSet, which is a |
| * composed set of AccessibleStates. |
| * <p>The toDisplayString method allows you to obtain the localized string |
| * for a locale independent key from a predefined ResourceBundle for the |
| * keys defined in this class. |
| * <p>The constants in this class present a strongly typed enumeration |
| * of common object roles. A public constructor for this class has been |
| * purposely omitted and applications should use one of the constants |
| * from this class. If the constants in this class are not sufficient |
| * to describe the role of an object, a subclass should be generated |
| * from this class and it should provide constants in a similar manner. |
| * |
| * @author Willie Walker |
| * @author Peter Korn |
| */ |
| public class AccessibleState extends AccessibleBundle { |
| |
| // If you add or remove anything from here, make sure you |
| // update AccessibleResourceBundle.java. |
| |
| /** |
| * Indicates a window is currently the active window. This includes |
| * windows, dialogs, frames, etc. In addition, this state is used |
| * to indicate the currently active child of a component such as a |
| * list, table, or tree. For example, the active child of a list |
| * is the child that is drawn with a rectangle around it. |
| * @see AccessibleRole#WINDOW |
| * @see AccessibleRole#FRAME |
| * @see AccessibleRole#DIALOG |
| */ |
| public static final AccessibleState ACTIVE |
| = new AccessibleState("active"); |
| |
| /** |
| * Indicates this object is currently pressed. This is usually |
| * associated with buttons and indicates the user has pressed a |
| * mouse button while the pointer was over the button and has |
| * not yet released the mouse button. |
| * @see AccessibleRole#PUSH_BUTTON |
| */ |
| public static final AccessibleState PRESSED |
| = new AccessibleState("pressed"); |
| |
| /** |
| * Indicates that the object is armed. This is usually used on buttons |
| * that have been pressed but not yet released, and the mouse pointer |
| * is still over the button. |
| * @see AccessibleRole#PUSH_BUTTON |
| */ |
| public static final AccessibleState ARMED |
| = new AccessibleState("armed"); |
| |
| /** |
| * Indicates the current object is busy. This is usually used on objects |
| * such as progress bars, sliders, or scroll bars to indicate they are |
| * in a state of transition. |
| * @see AccessibleRole#PROGRESS_BAR |
| * @see AccessibleRole#SCROLL_BAR |
| * @see AccessibleRole#SLIDER |
| */ |
| public static final AccessibleState BUSY |
| = new AccessibleState("busy"); |
| |
| /** |
| * Indicates this object is currently checked. This is usually used on |
| * objects such as toggle buttons, radio buttons, and check boxes. |
| * @see AccessibleRole#TOGGLE_BUTTON |
| * @see AccessibleRole#RADIO_BUTTON |
| * @see AccessibleRole#CHECK_BOX |
| */ |
| public static final AccessibleState CHECKED |
| = new AccessibleState("checked"); |
| |
| /** |
| * Indicates the user can change the contents of this object. This |
| * is usually used primarily for objects that allow the user to |
| * enter text. Other objects, such as scroll bars and sliders, |
| * are automatically editable if they are enabled. |
| * @see #ENABLED |
| */ |
| public static final AccessibleState EDITABLE |
| = new AccessibleState("editable"); |
| |
| /** |
| * Indicates this object allows progressive disclosure of its children. |
| * This is usually used with hierarchical objects such as trees and |
| * is often paired with the EXPANDED or COLLAPSED states. |
| * @see #EXPANDED |
| * @see #COLLAPSED |
| * @see AccessibleRole#TREE |
| */ |
| public static final AccessibleState EXPANDABLE |
| = new AccessibleState("expandable"); |
| |
| /** |
| * Indicates this object is collapsed. This is usually paired with the |
| * EXPANDABLE state and is used on objects that provide progressive |
| * disclosure such as trees. |
| * @see #EXPANDABLE |
| * @see #EXPANDED |
| * @see AccessibleRole#TREE |
| */ |
| public static final AccessibleState COLLAPSED |
| = new AccessibleState("collapsed"); |
| |
| /** |
| * Indicates this object is expanded. This is usually paired with the |
| * EXPANDABLE state and is used on objects that provide progressive |
| * disclosure such as trees. |
| * @see #EXPANDABLE |
| * @see #COLLAPSED |
| * @see AccessibleRole#TREE |
| */ |
| public static final AccessibleState EXPANDED |
| = new AccessibleState("expanded"); |
| |
| /** |
| * Indicates this object is enabled. The absence of this state from an |
| * object's state set indicates this object is not enabled. An object |
| * that is not enabled cannot be manipulated by the user. In a graphical |
| * display, it is usually grayed out. |
| */ |
| public static final AccessibleState ENABLED |
| = new AccessibleState("enabled"); |
| |
| /** |
| * Indicates this object can accept keyboard focus, which means all |
| * events resulting from typing on the keyboard will normally be |
| * passed to it when it has focus. |
| * @see #FOCUSED |
| */ |
| public static final AccessibleState FOCUSABLE |
| = new AccessibleState("focusable"); |
| |
| /** |
| * Indicates this object currently has the keyboard focus. |
| * @see #FOCUSABLE |
| */ |
| public static final AccessibleState FOCUSED |
| = new AccessibleState("focused"); |
| |
| /** |
| * Indicates this object is minimized and is represented only by an |
| * icon. This is usually only associated with frames and internal |
| * frames. |
| * @see AccessibleRole#FRAME |
| * @see AccessibleRole#INTERNAL_FRAME |
| */ |
| public static final AccessibleState ICONIFIED |
| = new AccessibleState("iconified"); |
| |
| /** |
| * Indicates something must be done with this object before the |
| * user can interact with an object in a different window. This |
| * is usually associated only with dialogs. |
| * @see AccessibleRole#DIALOG |
| */ |
| public static final AccessibleState MODAL |
| = new AccessibleState("modal"); |
| |
| /** |
| * Indicates this object paints every pixel within its |
| * rectangular region. A non-opaque component paints only some of |
| * its pixels, allowing the pixels underneath it to "show through". |
| * A component that does not fully paint its pixels therefore |
| * provides a degree of transparency. |
| * @see Accessible#getAccessibleContext |
| * @see AccessibleContext#getAccessibleComponent |
| * @see AccessibleComponent#getBounds |
| */ |
| public static final AccessibleState OPAQUE |
| = new AccessibleState("opaque"); |
| |
| /** |
| * Indicates the size of this object is not fixed. |
| * @see Accessible#getAccessibleContext |
| * @see AccessibleContext#getAccessibleComponent |
| * @see AccessibleComponent#getSize |
| * @see AccessibleComponent#setSize |
| */ |
| public static final AccessibleState RESIZABLE |
| = new AccessibleState("resizable"); |
| |
| |
| /** |
| * Indicates this object allows more than one of its children to |
| * be selected at the same time. |
| * @see Accessible#getAccessibleContext |
| * @see AccessibleContext#getAccessibleSelection |
| * @see AccessibleSelection |
| */ |
| public static final AccessibleState MULTISELECTABLE |
| = new AccessibleState("multiselectable"); |
| |
| /** |
| * Indicates this object is the child of an object that allows its |
| * children to be selected, and that this child is one of those |
| * children that can be selected. |
| * @see #SELECTED |
| * @see Accessible#getAccessibleContext |
| * @see AccessibleContext#getAccessibleSelection |
| * @see AccessibleSelection |
| */ |
| public static final AccessibleState SELECTABLE |
| = new AccessibleState("selectable"); |
| |
| /** |
| * Indicates this object is the child of an object that allows its |
| * children to be selected, and that this child is one of those |
| * children that has been selected. |
| * @see #SELECTABLE |
| * @see Accessible#getAccessibleContext |
| * @see AccessibleContext#getAccessibleSelection |
| * @see AccessibleSelection |
| */ |
| public static final AccessibleState SELECTED |
| = new AccessibleState("selected"); |
| |
| /** |
| * Indicates this object, the object's parent, the object's parent's |
| * parent, and so on, are all visible. Note that this does not |
| * necessarily mean the object is painted on the screen. It might |
| * be occluded by some other showing object. |
| * @see #VISIBLE |
| */ |
| public static final AccessibleState SHOWING |
| = new AccessibleState("showing"); |
| |
| /** |
| * Indicates this object is visible. Note: this means that the |
| * object intends to be visible; however, it may not in fact be |
| * showing on the screen because one of the objects that this object |
| * is contained by is not visible. |
| * @see #SHOWING |
| */ |
| public static final AccessibleState VISIBLE |
| = new AccessibleState("visible"); |
| |
| /** |
| * Indicates the orientation of this object is vertical. This is |
| * usually associated with objects such as scrollbars, sliders, and |
| * progress bars. |
| * @see #VERTICAL |
| * @see AccessibleRole#SCROLL_BAR |
| * @see AccessibleRole#SLIDER |
| * @see AccessibleRole#PROGRESS_BAR |
| */ |
| public static final AccessibleState VERTICAL |
| = new AccessibleState("vertical"); |
| |
| /** |
| * Indicates the orientation of this object is horizontal. This is |
| * usually associated with objects such as scrollbars, sliders, and |
| * progress bars. |
| * @see #HORIZONTAL |
| * @see AccessibleRole#SCROLL_BAR |
| * @see AccessibleRole#SLIDER |
| * @see AccessibleRole#PROGRESS_BAR |
| */ |
| public static final AccessibleState HORIZONTAL |
| = new AccessibleState("horizontal"); |
| |
| /** |
| * Indicates this (text) object can contain only a single line of text |
| */ |
| public static final AccessibleState SINGLE_LINE |
| = new AccessibleState("singleline"); |
| |
| /** |
| * Indicates this (text) object can contain multiple lines of text |
| */ |
| public static final AccessibleState MULTI_LINE |
| = new AccessibleState("multiline"); |
| |
| /** |
| * Indicates this object is transient. An assistive technology should |
| * not add a PropertyChange listener to an object with transient state, |
| * as that object will never generate any events. Transient objects |
| * are typically created to answer Java Accessibility method queries, |
| * but otherwise do not remain linked to the underlying object (for |
| * example, those objects underneath lists, tables, and trees in Swing, |
| * where only one actual UI Component does shared rendering duty for |
| * all of the data objects underneath the actual list/table/tree elements). |
| * |
| * @since 1.5 |
| * |
| */ |
| public static final AccessibleState TRANSIENT |
| = new AccessibleState("transient"); |
| |
| /** |
| * Indicates this object is responsible for managing its |
| * subcomponents. This is typically used for trees and tables |
| * that have a large number of subcomponents and where the |
| * objects are created only when needed and otherwise remain virtual. |
| * The application should not manage the subcomponents directly. |
| * |
| * @since 1.5 |
| */ |
| public static final AccessibleState MANAGES_DESCENDANTS |
| = new AccessibleState ("managesDescendants"); |
| |
| /** |
| * Indicates that the object state is indeterminate. An example |
| * is selected text that is partially bold and partially not |
| * bold. In this case the attributes associated with the selected |
| * text are indeterminate. |
| * |
| * @since 1.5 |
| */ |
| public static final AccessibleState INDETERMINATE |
| = new AccessibleState ("indeterminate"); |
| |
| /** |
| * A state indicating that text is truncated by a bounding rectangle |
| * and that some of the text is not displayed on the screen. An example |
| * is text in a spreadsheet cell that is truncated by the bounds of |
| * the cell. |
| * |
| * @since 1.5 |
| */ |
| static public final AccessibleState TRUNCATED |
| = new AccessibleState("truncated"); |
| |
| /** |
| * Creates a new AccessibleState using the given locale independent key. |
| * This should not be a public method. Instead, it is used to create |
| * the constants in this file to make it a strongly typed enumeration. |
| * Subclasses of this class should enforce similar policy. |
| * <p> |
| * The key String should be a locale independent key for the state. |
| * It is not intended to be used as the actual String to display |
| * to the user. To get the localized string, use toDisplayString. |
| * |
| * @param key the locale independent name of the state. |
| * @see AccessibleBundle#toDisplayString |
| */ |
| protected AccessibleState(String key) { |
| this.key = key; |
| } |
| } |