This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[gui] Add accessibility for Frame and Dialog
- From: Jerry Quinn <jlquinn at optonline dot net>
- To: java-patches at gcc dot gnu dot org
- Date: Tue, 28 Dec 2004 23:16:25 -0500
- Subject: [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