summaryrefslogtreecommitdiff
path: root/accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java')
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java150
1 files changed, 25 insertions, 125 deletions
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java
index 260a09287253..9b737e4f8240 100644
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java
+++ b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java
@@ -2,9 +2,9 @@
*
* $RCSfile: AccessibleObjectFactory.java,v $
*
- * $Revision: 1.12 $
+ * $Revision: 1.13 $
*
- * last change: $Author: obr $ $Date: 2002-12-06 11:25:32 $
+ * last change: $Author: obr $ $Date: 2003-01-13 11:00:06 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -126,119 +126,6 @@ public class AccessibleObjectFactory extends java.awt.FocusTraversalPolicy {
return null;
}
-/*
- public AccessibleUNOComponent createAccessibleContext(XAccessibleContext xAccessibleContext) {
- AccessibleUNOComponent ac = null;
-
- // Ensure that we really got an UNO accessible context
- if( xAccessibleContext != null ) {
- try {
- short role = xAccessibleContext.getAccessibleRole();
- XAccessibleStateSet xStateSet = null;
-
- switch(role) {
- case AccessibleRole.LIST:
- ac = new AccessibleList(xAccessibleContext);
- break;
- case AccessibleRole.MENUBAR:
- case AccessibleRole.POPUPMENU:
- ac = new AccessibleContainer(
- AccessibleRoleMap.toAccessibleRole(role),
- xAccessibleContext
- );
- break;
- case AccessibleRole.LABEL:
- case AccessibleRole.TABLE_CELL:
- xStateSet = xAccessibleContext.getAccessibleStateSet();
- if( xStateSet != null && ! xStateSet.contains(AccessibleStateType.TRANSIENT)) {
- ac = new AccessibleLabel(xAccessibleContext);
- } else {
- ac = new AccessibleFixedText(
- javax.accessibility.AccessibleRole.LABEL,
- xAccessibleContext
- );
- }
- break;
- case AccessibleRole.COLUMNHEADER:
- case AccessibleRole.ROWHEADER:
- ac = new AccessibleFixedText(
- AccessibleRoleMap.toAccessibleRole(role),
- xAccessibleContext
- );
- break;
- case AccessibleRole.DIALOG:
- case AccessibleRole.FRAME:
- ac = new AccessibleFrame(
- AccessibleRoleMap.toAccessibleRole(role),
- xAccessibleContext
- );
- break;
- case AccessibleRole.ICON:
- case AccessibleRole.GRAPHIC:
- case AccessibleRole.SHAPE:
- case AccessibleRole.EMBEDDED_OBJECT:
- ac = new AccessibleImage(xAccessibleContext);
- break;
- case AccessibleRole.LISTITEM:
- ac = new AccessibleListItem(xAccessibleContext);
- break;
- case AccessibleRole.MENU:
- ac = new AccessibleMenu(xAccessibleContext);
- break;
- case AccessibleRole.MENUITEM:
- ac = new AccessibleMenuItem(xAccessibleContext);
- break;
- case AccessibleRole.PARAGRAPH:
- ac = new AccessibleParagraph(xAccessibleContext);
- break;
- case AccessibleRole.SCROLLBAR:
- ac = new AccessibleScrollBar(xAccessibleContext);
- break;
- case AccessibleRole.TABLE:
- xStateSet = xAccessibleContext.getAccessibleStateSet();
- if(xStateSet != null && ! xStateSet.contains(AccessibleStateType.CHILDREN_TRANSIENT)) {
- ac = new AccessibleTextTable(xAccessibleContext);
- } else {
- ac = new AccessibleSpreadsheet(xAccessibleContext);
- }
- break;
- case AccessibleRole.TEXT:
- ac = new AccessibleEditLine(xAccessibleContext);
- break;
- case AccessibleRole.TREE:
- ac = new AccessibleTreeList(xAccessibleContext);
- break;
- case AccessibleRole.CANVAS:
- case AccessibleRole.DOCUMENT:
- case AccessibleRole.ENDNOTE:
- case AccessibleRole.FILLER:
- case AccessibleRole.FOOTER:
- case AccessibleRole.FOOTNOTE:
- case AccessibleRole.HEADER:
- case AccessibleRole.PAGETABLIST:
- case AccessibleRole.PANEL:
- case AccessibleRole.TOOLBAR:
- ac = new AccessibleWindow(
- AccessibleRoleMap.toAccessibleRole(role),
- xAccessibleContext
- );
- break;
- default:
- if( Build.DEBUG) {
- System.out.println("Unmapped role: " + AccessibleRoleMap.toAccessibleRole(role)
- + " (id = " + role + ")");
- }
- break;
- }
-
- // Register as event listener if possible
- AccessibleEventListener listener = null;
- if( ac instanceof AccessibleEventListener ) {
- listener = (AccessibleEventListener) ac;
- }
-
- }
-*/
private java.awt.EventQueue eventQueue = java.awt.Toolkit.getDefaultToolkit().getSystemEventQueue();
public java.awt.EventQueue getEventQueue() {
@@ -449,7 +336,7 @@ public class AccessibleObjectFactory extends java.awt.FocusTraversalPolicy {
break;
case AccessibleRole.PARAGRAPH:
case AccessibleRole.HEADING:
- c = new TextComponent(xAccessible, xAccessibleComponent, true);
+ c = new TextComponent(xAccessible, xAccessibleComponent, xAccessibleStateSet);
break;
case AccessibleRole.PANEL:
c = new Container(javax.accessibility.AccessibleRole.PANEL,
@@ -498,12 +385,20 @@ public class AccessibleObjectFactory extends java.awt.FocusTraversalPolicy {
xAccessible, xAccessibleComponent);
break;
case AccessibleRole.TABLE:
- c = new Table(xAccessible, xAccessibleComponent,
- xAccessibleStateSet.contains(AccessibleStateType.MULTISELECTABLE));
+ if (xAccessibleStateSet.contains(AccessibleStateType.MANAGES_DESCENDANT)) {
+ c = new Table(xAccessible, xAccessibleComponent,
+ xAccessibleStateSet.contains(AccessibleStateType.MULTISELECTABLE));
+ } else {
+ c = new Container(javax.accessibility.AccessibleRole.TABLE,
+ xAccessible, xAccessibleComponent);
+ }
+ break;
+ case AccessibleRole.TABLE_CELL:
+ c = new Container(javax.accessibility.AccessibleRole.PANEL,
+ xAccessible, xAccessibleComponent);
break;
case AccessibleRole.TEXT:
- c = new TextComponent(xAccessible, xAccessibleComponent,
- xAccessibleStateSet.contains(AccessibleStateType.MULTILINE));
+ c = new TextComponent(xAccessible, xAccessibleComponent, xAccessibleStateSet);
break;
case AccessibleRole.TEXT_FRAME:
c = new Container(javax.accessibility.AccessibleRole.PANEL,
@@ -539,13 +434,10 @@ public class AccessibleObjectFactory extends java.awt.FocusTraversalPolicy {
}
}
// Set the boundings of the component if it is visible ..
- if (xAccessibleStateSet.contains(AccessibleStateType.VISIBLE)) {
- com.sun.star.awt.Rectangle r = xAccessibleComponent.getBounds();
- c.setBounds(r.X, r.Y, r.Width, r.Height);
- } else {
+ if (!xAccessibleStateSet.contains(AccessibleStateType.VISIBLE)) {
c.setVisible(false);
}
- // Set the components' enabled enabled..
+ // Set the components' enabled state ..
if (!xAccessibleStateSet.contains(AccessibleStateType.ENABLED)) {
c.setEnabled(false);
}
@@ -554,6 +446,14 @@ public class AccessibleObjectFactory extends java.awt.FocusTraversalPolicy {
return c;
}
+ protected void disposing(java.awt.Component c) {
+ if (c != null) {
+ synchronized (objectList) {
+ objectList.remove(c.toString());
+ }
+ }
+ }
+
/*
protected java.? createTransientObject()
*/