diff options
Diffstat (limited to 'libjava/classpath/java/awt/Checkbox.java')
-rw-r--r-- | libjava/classpath/java/awt/Checkbox.java | 665 |
1 files changed, 0 insertions, 665 deletions
diff --git a/libjava/classpath/java/awt/Checkbox.java b/libjava/classpath/java/awt/Checkbox.java deleted file mode 100644 index dffb57d..0000000 --- a/libjava/classpath/java/awt/Checkbox.java +++ /dev/null @@ -1,665 +0,0 @@ -/* Checkbox.java -- An AWT checkbox widget - Copyright (C) 1999, 2000, 2001, 2002, 2005, 2006 - Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath 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 for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package java.awt; - -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.peer.CheckboxPeer; -import java.io.Serializable; - -import javax.accessibility.Accessible; -import javax.accessibility.AccessibleAction; -import javax.accessibility.AccessibleContext; -import javax.accessibility.AccessibleRole; -import javax.accessibility.AccessibleState; -import javax.accessibility.AccessibleStateSet; -import javax.accessibility.AccessibleValue; - -/** - * This class implements a component which has an on/off state. Two - * or more Checkboxes can be grouped by a CheckboxGroup. - * - * @author Aaron M. Renn (arenn@urbanophile.com) - * @author Tom Tromey (tromey@redhat.com) - */ -public class Checkbox extends Component - implements ItemSelectable, Accessible, Serializable -{ - -// FIXME: Need readObject/writeObject for this. - -/* - * Static Variables - */ - -// Serialization Constant -private static final long serialVersionUID = 7270714317450821763L; - -/*************************************************************************/ - -/* - * Instance Variables - */ - -/** - * @serial The checkbox group for this checkbox. - */ -private CheckboxGroup group; - -/** - * @serial The label on this checkbox. - */ -private String label; - -/** - * @serial The state of this checkbox. - * This is package-private to avoid an accessor method. - */ -boolean state; - -// The list of listeners for this object. -private transient ItemListener item_listeners; - - /* - * The number used to generate the name returned by getName. - */ - private static transient long next_checkbox_number; - -/** - * This class provides accessibility support for the - * checkbox. - * - * @author Jerry Quinn (jlquinn@optonline.net) - * @author Andrew John Hughes (gnu_andrew@member.fsf.org) - */ -protected class AccessibleAWTCheckbox - extends AccessibleAWTComponent - implements ItemListener, AccessibleAction, AccessibleValue -{ - /** - * Serialization constant to match JDK 1.5 - */ - private static final long serialVersionUID = 7881579233144754107L; - - /** - * Default constructor which simply calls the - * super class for generic component accessibility - * handling. - */ - public AccessibleAWTCheckbox() - { - super(); - } - - /** - * Captures changes to the state of the checkbox and - * fires appropriate accessible property change events. - * - * @param event the event fired. - * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent) - */ - public void itemStateChanged(ItemEvent event) - { - firePropertyChange(ACCESSIBLE_STATE_PROPERTY, - state ? null : AccessibleState.CHECKED, - state ? AccessibleState.CHECKED : null); - } - - /** - * Returns an implementation of the <code>AccessibleAction</code> - * interface for this accessible object. In this case, the - * current instance is simply returned (with a more appropriate - * type), as it also implements the accessible action as well as - * the context. - * - * @return the accessible action associated with this context. - * @see javax.accessibility.AccessibleAction - */ - public AccessibleAction getAccessibleAction() - { - return this; - } - - /** - * Returns an implementation of the <code>AccessibleValue</code> - * interface for this accessible object. In this case, the - * current instance is simply returned (with a more appropriate - * type), as it also implements the accessible value as well as - * the context. - * - * @return the accessible value associated with this context. - * @see javax.accessibility.AccessibleValue - */ - public AccessibleValue getAccessibleValue() - { - return this; - } - - /* - * The following methods are implemented in the JDK (up to - * 1.5) as stubs. We do likewise here. - */ - - /** - * Returns the number of actions associated with this accessible - * object. This default implementation returns 0. - * - * @return the number of accessible actions available. - * @see javax.accessibility.AccessibleAction#getAccessibleActionCount() - */ - public int getAccessibleActionCount() - { - // 1.4.1 and 1.5 do this - return 0; - } - - /** - * Returns a description of the action with the supplied id. - * This default implementation always returns null. - * - * @param i the id of the action whose description should be - * retrieved. - * @return a <code>String</code> describing the action. - * @see javax.accessibility.AccessibleAction#getAccessibleActionDescription(int) - */ - public String getAccessibleActionDescription(int i) - { - // 1.5 does this - return null; - } - - /** - * Executes the action with the specified id. This - * default implementation simply returns false. - * - * @param i the id of the action to perform. - * @return true if the action was performed. - * @see javax.accessibility.AccessibleAction#doAccessibleAction(int) - */ - public boolean doAccessibleAction(int i) - { - // 1.5 does this - return false; - } - - /** - * Returns the current value of this accessible object. - * If no value has been set, null is returned. This - * default implementation always returns null, regardless. - * - * @return the numeric value of this object, or null if - * no value has been set. - * @see javax.accessibility.AccessibleValue#getCurrentAccessibleValue() - */ - public Number getCurrentAccessibleValue() - { - // 1.5 does this - return null; - } - - /** - * Sets the current value of this accessible object - * to that supplied. In this default implementation, - * the value is never set and the method always returns - * false. - * - * @param number the new accessible value. - * @return true if the value was set. - * @see javax.accessibility.AccessibleValue#setCurrentAccessibleValue(java.lang.Number) - */ - public boolean setCurrentAccessibleValue(Number number) - { - // 1.5 does this - return false; - } - - /** - * Returns the minimum acceptable accessible value used - * by this object, or null if no minimum value exists. - * This default implementation always returns null. - * - * @return the minimum acceptable accessible value, or null - * if there is no minimum. - * @see javax.accessibility.AccessibleValue#getMinimumAccessibleValue() - */ - public Number getMinimumAccessibleValue() - { - return null; - } - - /** - * Returns the maximum acceptable accessible value used - * by this object, or null if no maximum value exists. - * This default implementation always returns null. - * - * @return the maximum acceptable accessible value, or null - * if there is no maximum. - * @see javax.accessibility.AccessibleValue#getMaximumAccessibleValue() - */ - public Number getMaximumAccessibleValue() - { - return null; - } - - /** - * Returns the role of this accessible object. - * - * @return the instance of <code>AccessibleRole</code>, - * which describes this object. - * @see javax.accessibility.AccessibleRole - */ - public AccessibleRole getAccessibleRole() - { - return AccessibleRole.CHECK_BOX; - } - - /** - * Returns the state set of this accessible object. - * - * @return a set of <code>AccessibleState</code>s - * which represent the current state of the - * accessible object. - * @see javax.accessibility.AccessibleState - * @see javax.accessibility.AccessibleStateSet - */ - public AccessibleStateSet getAccessibleStateSet() - { - AccessibleStateSet set = super.getAccessibleStateSet(); - if (state) - set.add(AccessibleState.CHECKED); - return set; - } - -} - -/*************************************************************************/ - -/* - * Constructors - */ - -/** - * Initializes a new instance of <code>Checkbox</code> with no label, - * an initial state of off, and that is not part of any checkbox group. - */ -public -Checkbox() -{ - this("", false, null); -} - -/*************************************************************************/ - -/** - * Initializes a new instance of <code>Checkbox</code> with the specified - * label, an initial state of off, and that is not part of any checkbox - * group. - * - * @param label The label for this checkbox. - */ -public -Checkbox(String label) -{ - this(label, false, null); -} - -/*************************************************************************/ - -/** - * Initializes a new instance of <code>Checkbox</code> with the specified - * label and initial state, and that is not part of any checkbox - * group. - * - * @param label The label for this checkbox. - * @param state The initial state of the checkbox, <code>true</code> for - * on, <code>false</code> for off. - */ -public -Checkbox(String label, boolean state) -{ - this(label, state, null); -} - -/*************************************************************************/ - -/** - * Initializes a new instance of <code>Checkbox</code> with the specified - * label, initial state, and checkbox group. - * - * @param label The label for this checkbox. - * @param group The checkbox group for this box, or <code>null</code> - * if there is no checkbox group. - * @param state The initial state of the checkbox, <code>true</code> for - * on, <code>false</code> for off. - */ -public -Checkbox(String label, CheckboxGroup group, boolean state) -{ - this(label, state, group); -} - -/*************************************************************************/ - -/** - * Initializes a new instance of <code>Checkbox</code> with the specified - * label, initial state, and checkbox group. - * - * @param label The label for this checkbox. - * @param state The initial state of the checkbox, <code>true</code> for - * on, <code>false</code> for off. - * @param group The checkbox group for this box, or <code>null</code> - * if there is no checkbox group. - */ -public -Checkbox(String label, boolean state, CheckboxGroup group) -{ - this.label = label; - this.state = state; - this.group = group; - - if ( state && group != null ) - { - group.setSelectedCheckbox(this); - } -} - -/*************************************************************************/ - -/* - * Instance Variables - */ - -/** - * Returns the label for this checkbox. - * - * @return The label for this checkbox. - */ -public String -getLabel() -{ - return(label); -} - -/*************************************************************************/ - -/** - * Sets the label for this checkbox to the specified value. - * - * @param label The new checkbox label. - */ -public synchronized void -setLabel(String label) -{ - this.label = label; - if (peer != null) - { - CheckboxPeer cp = (CheckboxPeer) peer; - cp.setLabel(label); - } -} - -/*************************************************************************/ - -/** - * Returns the state of this checkbox. - * - * @return The state of this checkbox, which will be <code>true</code> for - * on and <code>false</code> for off. - */ -public boolean -getState() -{ - return(state); -} - -/*************************************************************************/ - -/** - * Sets the state of this checkbox to the specified value. - * - * @param state The new state of the checkbox, which will be <code>true</code> - * for on or <code>false</code> for off. - */ -public synchronized void -setState(boolean state) -{ - if (this.state != state) - { - this.state = state; - if (peer != null) - { - CheckboxPeer cp = (CheckboxPeer) peer; - cp.setState (state); - } - } -} - -/*************************************************************************/ - -/** - * Returns an array of length one containing the checkbox label if this - * checkbox is selected. Otherwise <code>null</code> is returned. - * - * @return The selection state of this checkbox. - */ -public Object[] -getSelectedObjects() -{ - if (state == false) - return(null); - - Object[] objs = new Object[1]; - objs[0] = label; - - return(objs); -} - -/*************************************************************************/ - -/** - * Returns the checkbox group this object is a member of, if any. - * - * @return This object's checkbox group, of <code>null</code> if it is - * not a member of any group. - */ -public CheckboxGroup -getCheckboxGroup() -{ - return(group); -} - -/*************************************************************************/ - -/** - * Sets this object's checkbox group to the specified group. - * - * @param group The new checkbox group, or <code>null</code> to make this - * object part of no checkbox group. - */ -public synchronized void -setCheckboxGroup(CheckboxGroup group) -{ - this.group = group; - if (peer != null) - { - CheckboxPeer cp = (CheckboxPeer) peer; - cp.setCheckboxGroup (group); - } -} - -/*************************************************************************/ - -/** - * Creates this object's native peer. - */ -public void -addNotify() -{ - if (peer == null) - peer = getToolkit ().createCheckbox (this); - super.addNotify (); -} - - public ItemListener[] getItemListeners () - { - return (ItemListener[]) - AWTEventMulticaster.getListeners (item_listeners, ItemListener.class); - } - -/** - * Adds a new listeners to the list of registered listeners for this object. - * - * @param listener The new listener to add. - */ -public synchronized void -addItemListener(ItemListener listener) -{ - item_listeners = AWTEventMulticaster.add(item_listeners, listener); -} - -/*************************************************************************/ - -/** - * Removes a listener from the list of registered listeners for this object. - * - * @param listener The listener to remove. - */ -public synchronized void -removeItemListener(ItemListener listener) -{ - item_listeners = AWTEventMulticaster.remove(item_listeners, listener); -} - -/*************************************************************************/ - -/** - * Processes this event by calling <code>processItemEvent()</code> if it - * is any instance of <code>ItemEvent</code>. Otherwise it is passed to - * the superclass for processing. - * - * @param event The event to process. - */ -protected void -processEvent(AWTEvent event) -{ - if (event instanceof ItemEvent) - processItemEvent((ItemEvent)event); - else - super.processEvent(event); -} - -/*************************************************************************/ - -/** - * Processes this event by dispatching it to any registered listeners. - * - * @param event The <code>ItemEvent</code> to process. - */ -protected void -processItemEvent(ItemEvent event) -{ - if (item_listeners != null) - item_listeners.itemStateChanged(event); -} - -void -dispatchEventImpl(AWTEvent e) -{ - if (e.id <= ItemEvent.ITEM_LAST - && e.id >= ItemEvent.ITEM_FIRST) - { - ItemEvent ie = (ItemEvent) e; - int itemState = ie.getStateChange(); - setState(itemState == ItemEvent.SELECTED ? true : false); - if (item_listeners != null - || (eventMask & AWTEvent.ITEM_EVENT_MASK) != 0) - processEvent(e); - } - else - super.dispatchEventImpl(e); -} - -/*************************************************************************/ - -/** - * Returns a debugging string for this object. - */ -protected String -paramString() -{ - // Note: We cannot add the checkbox group information here because this - // would trigger infinite recursion when CheckboxGroup.toString() is - // called and the box is in its selected state. - return ("label=" + label + ",state=" + state + "," + super.paramString()); -} - -/** - * Gets the AccessibleContext associated with this <code>Checkbox</code>. - * The context is created, if necessary. - * - * @return the associated context - */ -public AccessibleContext getAccessibleContext() -{ - /* Create the context if this is the first request */ - if (accessibleContext == null) - { - AccessibleAWTCheckbox ac = new AccessibleAWTCheckbox(); - accessibleContext = ac; - addItemListener(ac); - } - return accessibleContext; -} - - /** - * Generate a unique name for this checkbox. - * - * @return A unique name for this checkbox. - */ - String generateName() - { - return "checkbox" + getUniqueLong(); - } - - private static synchronized long getUniqueLong() - { - return next_checkbox_number++; - } -} |