aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/Dialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/awt/Dialog.java')
-rw-r--r--libjava/java/awt/Dialog.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/libjava/java/awt/Dialog.java b/libjava/java/awt/Dialog.java
index 6bfb80c8..30631b3 100644
--- a/libjava/java/awt/Dialog.java
+++ b/libjava/java/awt/Dialog.java
@@ -40,6 +40,11 @@ package java.awt;
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,38 @@ paramString()
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)
+ accessibleContext = new AccessibleAWTDialog();
+ return accessibleContext;
+ }
+
} // class Dialog