This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]