This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[gui] Add Choice.AccessibleAWTChoice
- From: Jerry Quinn <jlquinn at optonline dot net>
- To: java-patches at gcc dot gnu dot org
- Date: Sun, 07 Nov 2004 00:56:00 -0500
- Subject: [gui] Add Choice.AccessibleAWTChoice
Here's something to throw darts at...
2004-11-07 Jerry Quinn <jlquinn@optonline.net>
* java/awt/Choice.java (AccessibleAWTChoice): Implement.
Index: Choice.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/Choice.java,v
retrieving revision 1.14.2.1
retrieving revision 1.14.2.2
diff -u -r1.14.2.1 -r1.14.2.2
--- Choice.java 7 Nov 2004 00:11:33 -0000 1.14.2.1
+++ Choice.java 7 Nov 2004 05:51:06 -0000 1.14.2.2
@@ -45,6 +45,10 @@
import java.util.EventListener;
import java.util.Vector;
+import javax.accessibility.AccessibleAction;
+import javax.accessibility.AccessibleContext;
+import javax.accessibility.AccessibleRole;
+
/**
* This class implements a drop down choice list.
*
@@ -79,6 +83,53 @@
// Listener chain
private ItemListener item_listeners;
+ protected class AccessibleAWTChoice
+ extends Component.AccessibleAWTComponent
+ implements AccessibleAction
+ {
+ public AccessibleAction getAccessibleAction()
+ {
+ return this;
+ }
+
+ // FIXME: I think this is right, but should be checked by someone who
+ // knows better.
+ public AccessibleRole getAccessibleRole()
+ {
+ return AccessibleRole.POPUP_MENU;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.accessibility.AccessibleAction#getAccessibleActionCount()
+ */
+ public int getAccessibleActionCount()
+ {
+ return pItems.size();
+ }
+
+ /* (non-Javadoc)
+ * @see
javax.accessibility.AccessibleAction#getAccessibleActionDescription(int)
+ */
+ public String getAccessibleActionDescription(int i)
+ {
+ return (String) pItems.get(i);
+ }
+
+ /* (non-Javadoc)
+ * @see javax.accessibility.AccessibleAction#doAccessibleAction(int)
+ */
+ public boolean doAccessibleAction(int i)
+ {
+ if (i < 0 || i >= pItems.size())
+ return false;
+
+ Choice.this.processItemEvent(new ItemEvent(Choice.this,
+ ItemEvent.ITEM_STATE_CHANGED,
+ this, ItemEvent.SELECTED));
+ return true;
+ }
+ }
+
/*************************************************************************/
/*
@@ -512,4 +563,9 @@
{
return (ItemListener[]) getListeners (ItemListener.class);
}
+
+ public AccessibleContext getAccessibleContext()
+ {
+ return new AccessibleAWTChoice();
+ }
} // class Choice