diff options
author | Oliver Braun <obr@openoffice.org> | 2002-10-02 15:07:52 +0000 |
---|---|---|
committer | Oliver Braun <obr@openoffice.org> | 2002-10-02 15:07:52 +0000 |
commit | 6d0ccf99654bd5feea1978242d8f636d0d8fdc5a (patch) | |
tree | bdfaf6418666511d7b24a7f83ed090337226d97d | |
parent | 4b72e0ae24f499de97dc5e78b23e6fb962f0cef5 (diff) |
#100456# added support for global focus events
-rw-r--r-- | accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java index d783beffb3c1..9aa8525b1f70 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.7 $ + * $Revision: 1.8 $ * - * last change: $Author: obr $ $Date: 2002-10-02 07:05:27 $ + * last change: $Author: obr $ $Date: 2002-10-02 16:07:52 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -76,7 +76,7 @@ import drafts.com.sun.star.accessibility.XAccessibleStateSet; /** */ -public class AccessibleObjectFactory { +public class AccessibleObjectFactory implements XGlobalFocusListener { // This type is needed for conversions from/to uno Any public static final Type XAccessibleType = new Type(XAccessible.class); @@ -120,6 +120,7 @@ public class AccessibleObjectFactory { /** Sets a new AccessibleInformationProvider to be used by this factory object */ public void setInformationProvider(XAccessibilityInformationProvider provider) { infoProvider = provider; + provider.setGlobalFocusListener(this); } /** Returns the AccessibleInformationProvider currently used by this factory object */ @@ -139,6 +140,10 @@ public class AccessibleObjectFactory { } } + return getAccessibleObject(xAccessibleContext, create, parent); + } + + public AccessibleObject getAccessibleObject(XAccessibleContext xAccessibleContext, boolean create, Accessible parent) { // Ensure that we really got an UNO accessible context if(xAccessibleContext == null) { if( Build.DEBUG ) { @@ -426,6 +431,23 @@ public class AccessibleObjectFactory { } } + /* + * XGlobalFocusListener + */ + + public void focusGained(XAccessibleContext context) { + AccessibleObject ao = getAccessibleObject(context, true, null); + if( ao != null ) { + ao.getEventProxy().processFocusGained(); + } + } + + public void focusLost(XAccessibleContext context) { + AccessibleObject ao = getAccessibleObject(context, false, null); + if( ao != null ) { + ao.getEventProxy().processFocusLost(); + } + } } |