This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[gui] Implement accessibility for menu classes
- From: Jerry Quinn <jlquinn at optonline dot net>
- To: java-patches at gcc dot gnu dot org
- Date: Tue, 28 Dec 2004 18:53:35 -0500
- Subject: [gui] Implement accessibility for menu classes
2004-12-28 Jerry Quinn <jlquinn@optonline.net>
* java/awt/MenuItem.java (getAccessibleContext): Implement.
* java/awt/MenuComponent.java (accessibleContext): Make package
visible.
* java/awt/CheckboxMenuItem.java (getAccessibleContext,
AccessibleAWTCheckboxMenuItem): Implement.
Index: java/awt/CheckboxMenuItem.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/CheckboxMenuItem.java,v
retrieving revision 1.9.20.3
diff -u -r1.9.20.3 CheckboxMenuItem.java
--- java/awt/CheckboxMenuItem.java 16 Nov 2004 09:55:30 -0000 1.9.20.3
+++ java/awt/CheckboxMenuItem.java 28 Dec 2004 23:49:13 -0000
@@ -43,6 +43,11 @@
import java.awt.peer.CheckboxMenuItemPeer;
import java.util.EventListener;
+import javax.accessibility.Accessible;
+import javax.accessibility.AccessibleAction;
+import javax.accessibility.AccessibleContext;
+import javax.accessibility.AccessibleValue;
+
/**
* This class implements a menu item that has a checkbox on it indicating
* the selected state of some option.
@@ -50,7 +55,8 @@
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Tom Tromey <tromey@redhat.com>
*/
-public class CheckboxMenuItem extends MenuItem implements ItemSelectable
+public class CheckboxMenuItem extends MenuItem
+ implements ItemSelectable, Accessible
{
/*
@@ -315,5 +321,30 @@
{
return (ItemListener[]) getListeners (ItemListener.class);
}
+
+
+ protected class AccessibleAWTCheckboxMenuItem extends AccessibleAWTMenuItem
+ implements AccessibleAction, AccessibleValue
+ {
+ // I think the base class provides the necessary implementation
+ }
+
+ /**
+ * Gets the AccessibleContext associated with this <code>List</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)
+ {
+ /* Create the context */
+ accessibleContext = new AccessibleAWTCheckboxMenuItem();
+ }
+ return accessibleContext;
+ }
+
} // class CheckboxMenuItem
Index: java/awt/MenuComponent.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/MenuComponent.java,v
retrieving revision 1.13.8.4
diff -u -r1.13.8.4 MenuComponent.java
--- java/awt/MenuComponent.java 27 Sep 2004 15:14:26 -0000 1.13.8.4
+++ java/awt/MenuComponent.java 28 Dec 2004 23:49:14 -0000
@@ -130,7 +130,7 @@
* @see #getAccessibleContext()
* @serial the accessibility information for this component.
*/
- private AccessibleContext accessibleContext;
+ AccessibleContext accessibleContext;
/**
* Was the name of the component set? This value defaults
Index: java/awt/MenuItem.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/MenuItem.java,v
retrieving revision 1.16.2.5
diff -u -r1.16.2.5 MenuItem.java
--- java/awt/MenuItem.java 7 Nov 2004 06:24:51 -0000 1.16.2.5
+++ java/awt/MenuItem.java 28 Dec 2004 23:49:14 -0000
@@ -47,6 +47,7 @@
import javax.accessibility.Accessible;
import javax.accessibility.AccessibleAction;
+import javax.accessibility.AccessibleContext;
import javax.accessibility.AccessibleRole;
import javax.accessibility.AccessibleValue;
@@ -579,7 +580,21 @@
",actionCommand=" + actionCommand + "," + super.paramString());
}
-// Accessibility API not yet implemented.
-// public AccessibleContext getAccessibleContext()
+/**
+ * Gets the AccessibleContext associated with this <code>MenuItem</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)
+ {
+ /* Create the context */
+ accessibleContext = new AccessibleAWTMenuItem();
+ }
+ return accessibleContext;
+}
} // class MenuItem