diff options
Diffstat (limited to 'libjava/java/awt/Dialog.java')
-rw-r--r-- | libjava/java/awt/Dialog.java | 38 |
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 |