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] Add accessibility for Frame and Dialog


2004-12-28 Jerry Quinn <jlquinn@optonline.net>

	* java/awt/Dialog.java (AccessibleAWTFrame, getAccessibleContext):
	Implement.
	* java/awt/Frame.java (AccessibleAWTFrame, getAccessibleContext):
	Implement.
	* java/awt/Window.java (getAccessibleContext): Fix comment.
	Remove extra import.

Index: Dialog.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/Dialog.java,v
retrieving revision 1.13.8.1
diff -u -r1.13.8.1 Dialog.java
--- Dialog.java	24 Jun 2004 05:30:15 -0000	1.13.8.1
+++ Dialog.java	29 Dec 2004 04:12:34 -0000
@@ -40,6 +40,11 @@

import java.awt.peer.DialogPeer;

+import javax.accessibility.AccessibleContext;
+import javax.accessibility.AccessibleRole;
+import javax.accessibility.AccessibleState;
+import javax.accessibility.AccessibleStateSet;
+
 /**
  * A dialog box widget class.
  *
@@ -511,5 +516,41 @@

     this.undecorated = undecorated;
   }
+
+  protected class AccessibleAWTDialog extends AccessibleAWTWindow
+  {
+    public AccessibleRole getAccessibleRole()
+    {
+      return AccessibleRole.DIALOG;
+    }
+
+    public AccessibleStateSet getAccessibleState()
+    {
+      AccessibleStateSet states = super.getAccessibleStateSet();
+      if (isResizable())
+        states.add(AccessibleState.RESIZABLE);
+      if (isModal())
+        states.add(AccessibleState.MODAL);
+      return states;
+    }
+  }
+
+  /**
+   * Gets the AccessibleContext associated with this <code>Dialog</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 AccessibleAWTDialog();
+      }
+    return accessibleContext;
+  }
+
 } // class Dialog

Index: Frame.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/Frame.java,v
retrieving revision 1.20.2.4
diff -u -r1.20.2.4 Frame.java
--- Frame.java	16 Oct 2004 15:55:18 -0000	1.20.2.4
+++ Frame.java	29 Dec 2004 04:12:42 -0000
@@ -41,6 +41,11 @@
 import java.awt.peer.FramePeer;
 import java.util.Vector;

+import javax.accessibility.AccessibleContext;
+import javax.accessibility.AccessibleRole;
+import javax.accessibility.AccessibleState;
+import javax.accessibility.AccessibleStateSet;
+
 /**
   * This class is a top-level window with a title bar and window
   * decorations.
@@ -549,4 +554,40 @@
   {
     return next_frame_number++;
   }
+
+  protected class AccessibleAWTFrame extends AccessibleAWTWindow
+  {
+    public AccessibleRole getAccessibleRole()
+    {
+      return AccessibleRole.FRAME;
+    }
+
+    public AccessibleStateSet getAccessibleState()
+    {
+      AccessibleStateSet states = super.getAccessibleStateSet();
+      if (isResizable())
+        states.add(AccessibleState.RESIZABLE);
+      if ((state & ICONIFIED) != 0)
+        states.add(AccessibleState.ICONIFIED);
+      return states;
+    }
+  }
+
+  /**
+   * Gets the AccessibleContext associated with this <code>Frame</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 AccessibleAWTFrame();
+      }
+    return accessibleContext;
+  }
+
 }
Index: Window.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/Window.java,v
retrieving revision 1.32.12.16
diff -u -r1.32.12.16 Window.java
--- Window.java	29 Dec 2004 03:48:52 -0000	1.32.12.16
+++ Window.java	29 Dec 2004 04:12:53 -0000
@@ -87,7 +87,6 @@
   private transient WindowFocusListener windowFocusListener;
   private transient WindowStateListener windowStateListener;
   private transient GraphicsConfiguration graphicsConfiguration;
-  private transient AccessibleContext accessibleContext;

private transient boolean shown;

@@ -816,7 +815,7 @@
   }

   /**
-   * Gets the AccessibleContext associated with this <code>List</code>.
+   * Gets the AccessibleContext associated with this <code>Window</code>.
    * The context is created, if necessary.
    *
    * @return the associated context


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