summaryrefslogtreecommitdiff
path: root/accessibility/bridge
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2003-06-12 06:56:02 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2003-06-12 06:56:02 +0000
commitd1d593ac87cdd46f3161f0184108fee4288e406f (patch)
tree504f9368b4c904a0bd9fc46172e8fbd22873ce3b /accessibility/bridge
parentd0b3bb0f1cdea7263633fa74c2896cc417ee64f2 (diff)
INTEGRATION: CWS uaa04 (1.4.2); FILE MERGED
2003/06/06 10:38:11 obr 1.4.2.2: #106061# workaround for tooltips not being read by Zoomtext 2003/06/05 15:17:35 obr 1.4.2.1: #109943# fixed Popup registration issues and coordinate problems
Diffstat (limited to 'accessibility/bridge')
-rw-r--r--accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter.java588
1 files changed, 411 insertions, 177 deletions
diff --git a/accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter.java b/accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter.java
index 829677f68927..0bdc412a7d3e 100644
--- a/accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter.java
+++ b/accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter.java
@@ -54,36 +54,271 @@
*
*
************************************************************************/
-
package org.openoffice.accessibility;
-import org.openoffice.java.accessibility.*;
-
+import com.sun.star.accessibility.AccessibleRole;
import com.sun.star.accessibility.XAccessible;
import com.sun.star.accessibility.XAccessibleContext;
-import com.sun.star.accessibility.AccessibleRole;
-
-import com.sun.star.uno.*;
import com.sun.star.java.XJavaVM;
+import com.sun.star.uno.*;
+
+import org.openoffice.java.accessibility.*;
-import javax.accessibility.*;
-import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import javax.accessibility.*;
-public class WindowsAccessBridgeAdapter {
+public class WindowsAccessBridgeAdapter {
private static Method registerVirtualFrame;
private static Method revokeVirtualFrame;
-
private static java.util.Hashtable frameMap;
- protected static class PopupMenuProxy extends AccessibleContext implements Accessible, AccessibleComponent {
+ protected static native byte[] getProcessID();
+
+ protected static native boolean createMapping(long jvmaccess);
+
+ // On Windows all native frames must be registered to the access bridge.
+ // Therefor the bridge exports two methods that we try to find here.
+ protected static void attach(XComponentContext xComponentContext) {
+ try {
+ Class bridge = Class.forName(
+ "com.sun.java.accessibility.AccessBridge");
+ Class[] parameterTypes = {
+ javax.accessibility.Accessible.class, Integer.class
+ };
+
+ if (bridge != null) {
+ registerVirtualFrame = bridge.getMethod("registerVirtualFrame",
+ parameterTypes);
+ revokeVirtualFrame = bridge.getMethod("revokeVirtualFrame",
+ parameterTypes);
+
+ // load the native dll
+ System.loadLibrary("java_uno_accessbridge");
+
+ Object any = xComponentContext.getValueByName(
+ "/singletons/com.sun.star.java.theJavaVirtualMachine");
+
+ if (AnyConverter.isObject(any)) {
+ XJavaVM xJavaVM = (XJavaVM) UnoRuntime.queryInterface(XJavaVM.class,
+ AnyConverter.toObject(new Type(XJavaVM.class), any));
+
+ if (xJavaVM != null) {
+ any = xJavaVM.getJavaVM(getProcessID());
+
+ if (AnyConverter.isLong(any)) {
+ createMapping(AnyConverter.toLong(any));
+ frameMap = new java.util.Hashtable();
+ }
+ }
+ }
+ }
+ } catch (NoSuchMethodException e) {
+ System.err.println("ERROR: incompatible AccessBridge found: " +
+ e.getMessage());
+
+ // Forward this exception to UNO to indicate that the service will
+ // not work correctly.
+ throw new com.sun.star.uno.RuntimeException(
+ "incompatible AccessBridge class: " + e.getMessage());
+ } catch (java.lang.SecurityException e) {
+ System.err.println("ERROR: no access to AccessBridge: " +
+ e.getMessage());
+
+ // Forward this exception to UNO to indicate that the service will not work correctly.
+ throw new com.sun.star.uno.RuntimeException(
+ "Security exception caught: " + e.getMessage());
+ } catch (ClassNotFoundException e) {
+ // Forward this exception to UNO to indicate that the service will not work correctly.
+ throw new com.sun.star.uno.RuntimeException(
+ "ClassNotFound exception caught: " + e.getMessage());
+ } catch (IllegalArgumentException e) {
+ System.err.println("IllegalArgumentException caught: " +
+ e.getMessage());
+
+ // Forward this exception to UNO to indicate that the service will not work correctly.
+ throw new com.sun.star.uno.RuntimeException(
+ "IllegalArgumentException caught: " + e.getMessage());
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ System.err.println("UNO IllegalArgumentException caught: " +
+ e.getMessage());
+
+ // Forward this exception to UNO to indicate that the service will not work correctly.
+ throw new com.sun.star.uno.RuntimeException(
+ "UNO IllegalArgumentException caught: " + e.getMessage());
+ }
+ }
+
+ protected static boolean isAttached() {
+ return frameMap != null;
+ }
+
+ protected static Accessible getAccessibleWrapper(XAccessible xAccessible) {
+ Accessible a = null;
+
+ try {
+ XAccessibleContext xAccessibleContext = xAccessible.getAccessibleContext();
+
+ if (xAccessibleContext != null) {
+ switch (xAccessibleContext.getAccessibleRole()) {
+ case AccessibleRole.LIST:
+ a = (Accessible) AccessibleObjectFactory.getAccessibleComponent(xAccessible);
+ if (a != null) {
+ a = new ListProxy(a.getAccessibleContext());
+ }
+ break;
+
+ case AccessibleRole.MENU:
+
+ Accessible tmp = (Accessible) AccessibleObjectFactory.getAccessibleComponent(xAccessible);
+ if (tmp != null) {
+ AccessibleContext ac = tmp.getAccessibleContext();
+
+ if (ac != null) {
+ a = new PopupMenuProxy(ac);
+ }
+ }
+
+ break;
+
+ case AccessibleRole.TOOL_TIP:
+ a = PopupWindow.create(xAccessible);
+ break;
+
+ default:
+ a = (Accessible) AccessBridge.getTopWindow(xAccessible);
+ break;
+ }
+ }
+ } catch (com.sun.star.uno.RuntimeException e) {
+ }
+
+ return a;
+ }
+
+ /** Registers a native frame at the Java AccessBridge for Windows */
+ public static void registerTopWindow(int handle, XAccessible xAccessible) {
+ Integer hwnd = new Integer(handle);
+
+ if (!frameMap.contains(hwnd)) {
+ if (Build.DEBUG) {
+ System.err.println("Native frame " + hwnd + " of role " +
+ AccessibleRoleAdapter.getAccessibleRole(xAccessible) +
+ " has been opened");
+ }
+
+ Accessible a = getAccessibleWrapper(xAccessible);
+
+ if (a != null) {
+ Object[] args = { a, hwnd };
+
+ frameMap.put(hwnd, a);
+
+ if (Build.DEBUG) {
+ System.err.println("registering native frame " + hwnd);
+ }
+
+ try {
+ registerVirtualFrame.invoke(null, args);
+ } catch (IllegalAccessException e) {
+ System.err.println("IllegalAccessException caught: " +
+ e.getMessage());
+ } catch (IllegalArgumentException e) {
+ System.err.println("IllegalArgumentException caught: " +
+ e.getMessage());
+ } catch (InvocationTargetException e) {
+ System.err.println("InvokationTargetException caught: " +
+ e.getMessage());
+ }
+ }
+ }
+ }
+
+ /** Revokes a native frame at the Java AccessBridge for Windows */
+ public static void revokeTopWindow(int handle, XAccessible xAccessible) {
+ Integer hwnd = new Integer(handle);
+
+ Accessible a = (Accessible) frameMap.remove(hwnd);
+
+ if (a != null) {
+ Object[] args = { a, hwnd };
+
+ if (Build.DEBUG) {
+ System.err.println("revoking native frame " + hwnd);
+ }
+
+ try {
+ revokeVirtualFrame.invoke(null, args);
+ } catch (IllegalAccessException e) {
+ System.err.println("IllegalAccessException caught: " +
+ e.getMessage());
+ } catch (IllegalArgumentException e) {
+ System.err.println("IllegalArgumentException caught: " +
+ e.getMessage());
+ } catch (InvocationTargetException e) {
+ System.err.println("InvokationTargetException caught: " +
+ e.getMessage());
+ }
+ }
+
+ if (a instanceof PopupWindow) {
+ PopupWindow toolTipWindow = (PopupWindow) a;
+ toolTipWindow.removeAll();
+ toolTipWindow.dispose();
+ }
+ }
+
+ protected static class PopupMenuProxy extends AccessibleContext
+ implements Accessible, AccessibleComponent {
AccessibleContext menu;
AccessibleComponent menuComponent;
+ int x = 0; int y = 0; int width = 0; int height = 0;
PopupMenuProxy(AccessibleContext ac) {
menu = ac;
+ menuComponent = menu.getAccessibleComponent();
+
+ /** calculate the bounding rectangle by iterating over the
+ * the children.
+ */
+ int x2 = 0; int y2 = 0;
+ int count = ac.getAccessibleChildrenCount();
+ for (int i = 0; i < count; i++) {
+ Accessible a = menu.getAccessibleChild(i);
+
+ if (a != null) {
+ AccessibleContext childAC = a.getAccessibleContext();
+
+ if (childAC != null) {
+ AccessibleComponent comp = ac.getAccessibleComponent();
+
+ if (comp != null) {
+ java.awt.Point p = comp.getLocationOnScreen();
+ java.awt.Dimension d = comp.getSize();
+
+ if (p != null && d != null) {
+ if (p.x < x) {
+ x = p.x;
+ }
+ if (p.y < y) {
+ y = p.y;
+ }
+ if (p.x + d.width > x2) {
+ x2 = p.x + d.width;
+ }
+ if (p.y + d.height > y2) {
+ y2 = p.y + d.height;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ width = x2 - x;
+ height = y2 - y;
}
/** Returns the AccessibleContext associated with this object */
@@ -101,10 +336,9 @@ public class WindowsAccessBridgeAdapter {
return menu.getAccessibleText();
}
-
/** Returns the AccessibleContext associated with this object */
public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
- return menu.getAccessibleStateSet();
+ return menu.getAccessibleStateSet();
}
public java.util.Locale getLocale() {
@@ -130,7 +364,6 @@ public class WindowsAccessBridgeAdapter {
/*
* AccessibleComponent
*/
-
public void addFocusListener(java.awt.event.FocusListener fl) {
menuComponent.addFocusListener(fl);
}
@@ -201,26 +434,23 @@ public class WindowsAccessBridgeAdapter {
java.awt.Dimension d = getSize();
if (Build.DEBUG) {
- System.err.println("PopupMenuProxy.containsPoint(" + p.x + "," + p.y + ") returns " +
- (((d.width >= 0) && (p.x < d.width) && (d.height >= 0) && (p.y < d.height)) ? "true" : "false"));
+ System.err.println("PopupMenuProxy.containsPoint(" + p.x + "," +
+ p.y + ") returns " +
+ (((d.width >= 0) && (p.x < d.width) && (d.height >= 0) &&
+ (p.y < d.height)) ? "true" : "false"));
}
- if ((d.width >= 0) && (p.x < d.width) && (d.height >= 0) && (p.y < d.height)) {
+ if ((d.width >= 0) && (p.x < d.width) && (d.height >= 0) &&
+ (p.y < d.height)) {
return true;
}
+
return false;
}
/** Returns the location of the object on the screen. */
public java.awt.Point getLocationOnScreen() {
- Accessible a = menu.getAccessibleChild(0);
- if (a != null) {
- AccessibleContext ac = a.getAccessibleContext();
- if (ac != null) {
- return ac.getAccessibleComponent().getLocationOnScreen();
- }
- }
- return null;
+ return new java.awt.Point(x,y);
}
/** Gets the location of this component in the form of a point specifying the component's top-left corner */
@@ -236,9 +466,7 @@ public class WindowsAccessBridgeAdapter {
/** Gets the bounds of this component in the form of a Rectangle object */
public java.awt.Rectangle getBounds() {
- java.awt.Dimension d = getSize();
- java.awt.Point p = getLocationOnScreen();
- return new java.awt.Rectangle(p.x, p.y, d.width, d.height);
+ return new java.awt.Rectangle(x, y, width, height);
}
/** Moves and resizes this component to conform to the new bounding rectangle r */
@@ -248,19 +476,6 @@ public class WindowsAccessBridgeAdapter {
/** Returns the size of this component in the form of a Dimension object */
public java.awt.Dimension getSize() {
- int count = menu.getAccessibleChildrenCount();
- int width = 0; int height = 0;
- for (int i = 0; i < count; i++) {
- Accessible a = menu.getAccessibleChild(i);
- if (a != null) {
- AccessibleContext ac = a.getAccessibleContext();
- if (ac != null) {
- java.awt.Dimension d = ac.getAccessibleComponent().getSize();
- width += d.width;
- height += d.height;
- }
- }
- }
return new java.awt.Dimension(width, height);
}
@@ -269,24 +484,13 @@ public class WindowsAccessBridgeAdapter {
// Not supported by UNO accessibility API
}
- /** Returns the Accessible child, if one exists, contained at the local coordinate Point */
+ /** Returns the Accessible child, if one exists, contained at the local
+ * coordinate Point
+ */
public javax.accessibility.Accessible getAccessibleAt(java.awt.Point p) {
- int count = menu.getAccessibleChildrenCount();
- for (int i = 0; i < count; i++) {
- Accessible a = menu.getAccessibleChild(i);
- if (a != null) {
- AccessibleContext ac = a.getAccessibleContext();
- AccessibleComponent comp = ac.getAccessibleComponent();
- java.awt.Point loc = comp.getLocationOnScreen();
- if ((p.x >= loc.x) && (p.y >= loc.y)) {
- java.awt.Dimension d = comp.getSize();
- if ((p.x < loc.x + d.width) && (p.y < loc.y + d.height)) {
- return a;
- }
- }
- }
- }
- return null;
+ java.awt.Point p2 = menuComponent.getLocationOnScreen();
+ return menuComponent.getAccessibleAt(
+ new java.awt.Point(p.x + x - p2.x, p.y + y - p2.y));
}
public boolean isFocusTraversable() {
@@ -298,153 +502,183 @@ public class WindowsAccessBridgeAdapter {
}
}
- protected static native byte[] getProcessID();
- protected static native boolean createMapping(long jvmaccess);
+ protected static class ListProxy extends AccessibleContext
+ implements Accessible, AccessibleComponent {
+ AccessibleContext list;
+ AccessibleComponent listComponent;
- // On Windows all native frames must be registered to the access bridge. Therefor
- // the bridge exports two methods that we try to find here.
- protected static void attach(XComponentContext xComponentContext) {
- try {
- Class bridge = Class.forName("com.sun.java.accessibility.AccessBridge");
- Class[] parameterTypes = { javax.accessibility.Accessible.class, Integer.class };
+ ListProxy(AccessibleContext ac) {
+ list = ac;
+ listComponent = list.getAccessibleComponent();
+ }
- if (bridge != null) {
- registerVirtualFrame = bridge.getMethod("registerVirtualFrame", parameterTypes);
- revokeVirtualFrame = bridge.getMethod("revokeVirtualFrame", parameterTypes);
+ /** Returns the AccessibleContext associated with this object */
+ public javax.accessibility.AccessibleContext getAccessibleContext() {
+ return this;
+ }
- // load the native dll
- System.loadLibrary("java_uno_accessbridge");
+ /** Returns the AccessibleContext associated with this object */
+ public javax.accessibility.AccessibleComponent getAccessibleComponent() {
+ return this;
+ }
+ /** Returns the AccessibleSelection associated with this object */
+ public javax.accessibility.AccessibleSelection getAccessibleSelection() {
+ return list.getAccessibleSelection();
+ }
- Object any = xComponentContext.getValueByName("/singletons/com.sun.star.java.theJavaVirtualMachine");
- if (AnyConverter.isObject(any)) {
- XJavaVM xJavaVM = (XJavaVM) UnoRuntime.queryInterface(XJavaVM.class,
- AnyConverter.toObject(new Type(XJavaVM.class), any));
+ /** Returns the AccessibleContext associated with this object */
+ public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
+ return list.getAccessibleStateSet();
+ }
- if (xJavaVM != null) {
- any = xJavaVM.getJavaVM(getProcessID());
- if (AnyConverter.isLong(any)) {
- createMapping(AnyConverter.toLong(any));
- frameMap = new java.util.Hashtable();
- }
- }
- }
- }
- } catch (NoSuchMethodException e) {
- System.err.println("ERROR: incompatible AccessBridge found: " + e.getMessage());
+ public java.util.Locale getLocale() {
+ return list.getLocale();
+ }
- // Forward this exception to UNO to indicate that the service will not work correctly.
- throw new com.sun.star.uno.RuntimeException("incompatible AccessBridge class: " + e.getMessage());
- } catch (java.lang.SecurityException e) {
- System.err.println("ERROR: no access to AccessBridge: " + e.getMessage());
+ public int getAccessibleIndexInParent() {
+ return -1;
+ }
- // Forward this exception to UNO to indicate that the service will not work correctly.
- throw new com.sun.star.uno.RuntimeException("Security exception caught: " + e.getMessage());
- } catch(ClassNotFoundException e) {
+ public int getAccessibleChildrenCount() {
+ return list.getAccessibleChildrenCount();
+ }
- // Forward this exception to UNO to indicate that the service will not work correctly.
- throw new com.sun.star.uno.RuntimeException("ClassNotFound exception caught: " + e.getMessage());
- } catch(IllegalArgumentException e) {
- System.err.println("IllegalArgumentException caught: " + e.getMessage());
+ public javax.accessibility.Accessible getAccessibleChild(int i) {
+ return list.getAccessibleChild(i);
+ }
- // Forward this exception to UNO to indicate that the service will not work correctly.
- throw new com.sun.star.uno.RuntimeException("IllegalArgumentException caught: " + e.getMessage());
- } catch(com.sun.star.lang.IllegalArgumentException e) {
- System.err.println("UNO IllegalArgumentException caught: " + e.getMessage());
+ public javax.accessibility.AccessibleRole getAccessibleRole() {
+ return javax.accessibility.AccessibleRole.LIST;
+ }
- // Forward this exception to UNO to indicate that the service will not work correctly.
- throw new com.sun.star.uno.RuntimeException("UNO IllegalArgumentException caught: " + e.getMessage());
+ /*
+ * AccessibleComponent
+ */
+ public void addFocusListener(java.awt.event.FocusListener fl) {
+ listComponent.addFocusListener(fl);
}
- }
- protected static boolean isAttached() {
- return frameMap != null;
- }
+ public void removeFocusListener(java.awt.event.FocusListener fl) {
+ listComponent.removeFocusListener(fl);
+ }
- protected static Accessible getAccessibleWrapper(XAccessible xAccessible) {
- Accessible a = null;
+ /** Returns the background color of the object */
+ public java.awt.Color getBackground() {
+ return listComponent.getBackground();
+ }
- try {
- XAccessibleContext xAccessibleContext = xAccessible.getAccessibleContext();
- if (xAccessibleContext != null) {
- switch (xAccessibleContext.getAccessibleRole()) {
- case AccessibleRole.POPUP_MENU:
- case AccessibleRole.LIST:
- a = (Accessible) AccessibleObjectFactory.getAccessibleComponent(xAccessible);
- break;
- case AccessibleRole.MENU:
- Accessible tmp = (Accessible) AccessibleObjectFactory.getAccessibleComponent(xAccessible);
- if (tmp != null) {
- AccessibleContext ac = tmp.getAccessibleContext();
- if (ac != null) {
- a = new PopupMenuProxy(ac);
- }
- }
- break;
- default:
- a = (Accessible) AccessBridge.getTopWindow(xAccessible);
- break;
- }
- }
- } catch (com.sun.star.uno.RuntimeException e) {
+ public void setBackground(java.awt.Color c) {
+ // Not supported by UNO accessibility API
}
- return a;
- }
+ /** Returns the foreground color of the object */
+ public java.awt.Color getForeground() {
+ return listComponent.getForeground();
+ }
- /** Registers a native frame at the Java AccessBridge for Windows */
- public static void registerTopWindow(int handle, XAccessible xAccessible) {
- Integer hwnd = new Integer(handle);
+ public void setForeground(java.awt.Color c) {
+ listComponent.setForeground(c);
+ }
- if (! frameMap.contains(hwnd) ) {
- if (Build.DEBUG) {
- System.err.println("Native frame " + hwnd + " has been opened");
- }
+ public java.awt.Cursor getCursor() {
+ return listComponent.getCursor();
+ }
- Accessible a = getAccessibleWrapper(xAccessible);
- if (a != null) {
- Object[] args = { a, hwnd };
+ public void setCursor(java.awt.Cursor cursor) {
+ listComponent.setCursor(cursor);
+ }
- frameMap.put(hwnd, a);
+ public java.awt.Font getFont() {
+ return listComponent.getFont();
+ }
- if (Build.DEBUG) {
- System.err.println("registering native frame " + hwnd);
- }
+ public void setFont(java.awt.Font f) {
+ listComponent.setFont(f);
+ }
- try {
- registerVirtualFrame.invoke(null, args);
- } catch(IllegalAccessException e) {
- System.err.println("IllegalAccessException caught: " + e.getMessage());
- } catch(IllegalArgumentException e) {
- System.err.println("IllegalArgumentException caught: " + e.getMessage());
- } catch(InvocationTargetException e) {
- System.err.println("InvokationTargetException caught: " + e.getMessage());
- }
- }
+ public java.awt.FontMetrics getFontMetrics(java.awt.Font f) {
+ return listComponent.getFontMetrics(f);
}
- }
- /** Revokes a native frame at the Java AccessBridge for Windows */
- public static void revokeTopWindow(int handle, XAccessible xAccessible) {
- Integer hwnd = new Integer(handle);
+ public boolean isEnabled() {
+ return listComponent.isEnabled();
+ }
- Accessible a = (Accessible) frameMap.remove(hwnd);
- if (a != null) {
- Object[] args = { a, hwnd };
+ public void setEnabled(boolean b) {
+ listComponent.setEnabled(b);
+ }
- if (Build.DEBUG) {
- System.err.println("revoking native frame " + hwnd);
- }
+ public boolean isVisible() {
+ return listComponent.isVisible();
+ }
- try {
- revokeVirtualFrame.invoke(null, args);
- } catch(IllegalAccessException e) {
- System.err.println("IllegalAccessException caught: " + e.getMessage());
- } catch(IllegalArgumentException e) {
- System.err.println("IllegalArgumentException caught: " + e.getMessage());
- } catch(InvocationTargetException e) {
- System.err.println("InvokationTargetException caught: " + e.getMessage());
- }
+ public void setVisible(boolean b) {
+ listComponent.setVisible(b);
+ }
+
+ public boolean isShowing() {
+ return listComponent.isShowing();
+ }
+
+ public boolean contains(java.awt.Point p) {
+ return listComponent.contains(p);
+ }
+
+ /** Returns the location of the object on the screen. */
+ public java.awt.Point getLocationOnScreen() {
+ return listComponent.getLocationOnScreen();
+ }
+
+ /** Gets the location of this component in the form of a point specifying
+ * the component's top-left corner
+ */
+ public java.awt.Point getLocation() {
+ // This object represents a toplevel object, so getLocation() should
+ // return the same as getLocationOnScreen().
+ return getLocationOnScreen();
+ }
+
+ /** Moves this component to a new location */
+ public void setLocation(java.awt.Point p) {
+ // Not supported by UNO accessibility API
+ }
+
+ /** Gets the bounds of this component in the form of a Rectangle object */
+ public java.awt.Rectangle getBounds() {
+ java.awt.Point p = getLocationOnScreen();
+ java.awt.Dimension d = getSize();
+ return new java.awt.Rectangle(p.x, p.y, d.width, d.height);
+ }
+
+ /** Moves and resizes this component to conform to the new bounding rectangle r */
+ public void setBounds(java.awt.Rectangle r) {
+ // Not supported by UNO accessibility API
+ }
+
+ /** Returns the size of this component in the form of a Dimension object */
+ public java.awt.Dimension getSize() {
+ return listComponent.getSize();
+ }
+
+ /** Resizes this component so that it has width d.width and height d.height */
+ public void setSize(java.awt.Dimension d) {
+ // Not supported by UNO accessibility API
+ }
+
+ /** Returns the Accessible child, if one exists, contained at the local
+ * coordinate Point
+ */
+ public javax.accessibility.Accessible getAccessibleAt(java.awt.Point p) {
+ return listComponent.getAccessibleAt(p);
+ }
+
+ public boolean isFocusTraversable() {
+ return listComponent.isFocusTraversable();
+ }
+
+ public void requestFocus() {
+ listComponent.requestFocus();
}
}
}