summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Ostrovsky <david@ostrovsky.org>2013-11-26 15:05:51 +0100
committerMichael Stahl <mstahl@redhat.com>2013-12-05 05:31:43 -0600
commit130833f80e89774269108cf30b2d1155a00354ce (patch)
tree245267c3cd6664f6afebb7abb15906a4f1837b76
parent059cc67245a4f0a62589a0c877aea85e8859c435 (diff)
fdo#39956 Delete JAB
JAB has been discontinued in favor of the native IA2 bridge. Change-Id: I88461f73c620507d3e97b077ea2abdd2229322e1 Reviewed-on: https://gerrit.libreoffice.org/6819 Reviewed-by: David Ostrovsky <David.Ostrovsky@gmx.de> Tested-by: David Ostrovsky <David.Ostrovsky@gmx.de> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Stahl <mstahl@redhat.com>
-rw-r--r--Repository.mk4
-rw-r--r--RepositoryModule_host.mk2
-rw-r--r--accessibility/CustomTarget_bridge.mk33
-rw-r--r--accessibility/CustomTarget_bridge_inc.mk23
-rw-r--r--accessibility/Jar_uno_accessbridge.mk80
-rw-r--r--accessibility/Library_java_uno_accessbridge.mk32
-rw-r--r--accessibility/Module_accessibility.mk11
-rw-r--r--accessibility/bridge/org/openoffice/accessibility/AccessBridge.java232
-rw-r--r--accessibility/bridge/org/openoffice/accessibility/KeyHandler.java125
-rw-r--r--accessibility/bridge/org/openoffice/accessibility/PopupWindow.java203
-rw-r--r--accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter.java645
-rw-r--r--accessibility/bridge/org/openoffice/accessibility/java_uno_accessbridge.component25
-rw-r--r--accessibility/bridge/org/openoffice/accessibility/manifest2
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AbstractButton.java163
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleActionImpl.java62
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleComponentImpl.java223
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleEditableTextImpl.java351
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleExtendedState.java44
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleHypertextImpl.java180
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleIconImpl.java64
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleKeyBinding.java376
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java534
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleRoleAdapter.java139
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleSelectionImpl.java90
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleStateAdapter.java205
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl.java663
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/AccessibleValueImpl.java87
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Alert.java57
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Application.java36
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Button.java148
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/CheckBox.java41
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/ComboBox.java114
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Component.java728
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Container.java754
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/DescendantManager.java149
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Dialog.java642
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/FocusTraversalPolicy.java80
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Frame.java659
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Icon.java64
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Label.java118
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/List.java434
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Menu.java321
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/MenuContainer.java156
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/MenuItem.java90
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/NativeFrame.java26
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Paragraph.java211
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/RadioButton.java40
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/ScrollBar.java114
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Separator.java57
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Table.java709
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/TextComponent.java182
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/ToggleButton.java53
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/ToolTip.java105
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Tree.java751
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Window.java564
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleEventLog.java178
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleHypertextLog.java51
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleTextLog.java261
-rw-r--r--accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx300
-rw-r--r--config_host.mk.in1
-rw-r--r--configure.ac20
-rw-r--r--desktop/source/app/app.cxx7
-rwxr-xr-xinclude/vcl/svapp.hxx2
-rwxr-xr-xoffapi/UnoApi_offapi.mk3
-rw-r--r--offapi/com/sun/star/accessibility/AccessBridge.idl47
-rw-r--r--padmin/source/pamain.cxx8
-rwxr-xr-xpostprocess/Rdb_services.mk7
-rw-r--r--scp2/source/ooo/file_ooo.scp4
-rw-r--r--vcl/inc/pch/precompiled_vcl.hxx1
-rw-r--r--vcl/inc/svdata.hxx2
-rw-r--r--vcl/inc/svids.hrc10
-rw-r--r--vcl/source/app/settings.cxx3
-rw-r--r--vcl/source/app/svapp.cxx10
-rw-r--r--vcl/source/app/svdata.cxx255
-rw-r--r--vcl/source/src/stdtext.src50
-rw-r--r--vcl/win/source/window/salframe.cxx4
-rw-r--r--winaccessibility/Module_winaccessibility.mk2
77 files changed, 36 insertions, 13191 deletions
diff --git a/Repository.mk b/Repository.mk
index 02bfe0c84511..5405d6992ad3 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -553,9 +553,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
ftransl \
$(if $(DISABLE_ATL),,\
inprocserv \
- ) \
- $(if $(ENABLE_JAVA),java_uno_accessbridge) \
- $(if $(ENABLE_IA2), \
UAccCOM \
winaccessibility \
) \
@@ -662,7 +659,6 @@ $(eval $(call gb_Helper_register_jars,OOO, \
fax \
form \
htmlsoff \
- java_uno_accessbridge \
letter \
officebean \
pexcel \
diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 91141f1020c1..48d5518779e8 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -142,7 +142,7 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
uui \
vbahelper \
vcl \
- $(if $(ENABLE_IA2),winaccessibility) \
+ winaccessibility \
wizards \
writerfilter \
writerperfect \
diff --git a/accessibility/CustomTarget_bridge.mk b/accessibility/CustomTarget_bridge.mk
deleted file mode 100644
index 85f278eb1614..000000000000
--- a/accessibility/CustomTarget_bridge.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_CustomTarget_CustomTarget,accessibility/bridge))
-
-$(call gb_CustomTarget_get_target,accessibility/bridge) : \
- $(call gb_CustomTarget_get_workdir,accessibility/bridge)/org/openoffice/java/accessibility/Build.java
-
-ifeq ($(ENABLE_DBGUTIL),TRUE)
-accessibility_DEBUG := true
-accessibility_PRODUCT := false
-else
-accessibility_DEBUG := false
-accessibility_PRODUCT := true
-endif
-
-$(call gb_CustomTarget_get_workdir,accessibility/bridge)/org/openoffice/java/accessibility/Build.java :
- $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,1)
- mkdir -p $(dir $@) && (\
- echo package org.openoffice.java.accessibility\; && \
- echo public class Build \{ && \
- echo public static final boolean DEBUG = $(accessibility_DEBUG)\; && \
- echo public static final boolean PRODUCT = $(accessibility_PRODUCT)\; && \
- echo \} \
- ) > $@
-
-# vim: set ts=4 sw=4 et:
diff --git a/accessibility/CustomTarget_bridge_inc.mk b/accessibility/CustomTarget_bridge_inc.mk
deleted file mode 100644
index 8160e6a8c13d..000000000000
--- a/accessibility/CustomTarget_bridge_inc.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_CustomTarget_CustomTarget,accessibility/bridge/inc))
-
-$(call gb_CustomTarget_get_target,accessibility/bridge/inc) : \
- $(call gb_CustomTarget_get_workdir,accessibility/bridge/inc)/WindowsAccessBridgeAdapter.h
-
-$(call gb_CustomTarget_get_workdir,accessibility/bridge/inc)/WindowsAccessBridgeAdapter.h :| \
- $(call gb_CustomTarget_get_workdir,accessibility/bridge/inc)/.dir \
- $(call gb_Jar_get_target,java_uno_accessbridge)
- $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),JVH,1)
- cd $(call gb_JavaClassSet_get_classdir,$(call gb_Jar_get_classsetname,java_uno_accessbridge)) && \
- javah -classpath "$(call gb_Jar_get_target,ridl)$(gb_CLASSPATHSEP)$(call gb_Jar_get_target,unoil)$(gb_CLASSPATHSEP)." \
- -o $@ org.openoffice.accessibility.WindowsAccessBridgeAdapter
-
-# vim: set ts=4 sw=4 et:
diff --git a/accessibility/Jar_uno_accessbridge.mk b/accessibility/Jar_uno_accessbridge.mk
deleted file mode 100644
index 807853586cd3..000000000000
--- a/accessibility/Jar_uno_accessbridge.mk
+++ /dev/null
@@ -1,80 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_Jar_Jar,java_uno_accessbridge))
-
-$(eval $(call gb_Jar_use_jars,java_uno_accessbridge,\
- jurt \
- ridl \
- unoil \
-))
-
-$(eval $(call gb_Jar_set_packageroot,java_uno_accessbridge,org))
-
-$(eval $(call gb_Jar_set_manifest,java_uno_accessbridge,$(SRCDIR)/accessibility/bridge/org/openoffice/accessibility/manifest))
-
-$(eval $(call gb_Jar_set_componentfile,java_uno_accessbridge,accessibility/bridge/org/openoffice/accessibility/java_uno_accessbridge,OOO))
-
-$(eval $(call gb_Jar_add_sourcefiles,java_uno_accessbridge,\
- accessibility/bridge/org/openoffice/accessibility/AccessBridge \
- accessibility/bridge/org/openoffice/accessibility/KeyHandler \
- accessibility/bridge/org/openoffice/accessibility/PopupWindow \
- accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter \
- accessibility/bridge/org/openoffice/java/accessibility/AbstractButton \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleActionImpl \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleComponentImpl \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleEditableTextImpl \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleExtendedState \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleHypertextImpl \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleIconImpl \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleKeyBinding \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleRoleAdapter \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleSelectionImpl \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleStateAdapter \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl \
- accessibility/bridge/org/openoffice/java/accessibility/AccessibleValueImpl \
- accessibility/bridge/org/openoffice/java/accessibility/Alert \
- accessibility/bridge/org/openoffice/java/accessibility/Application \
- accessibility/bridge/org/openoffice/java/accessibility/Button \
- accessibility/bridge/org/openoffice/java/accessibility/CheckBox \
- accessibility/bridge/org/openoffice/java/accessibility/ComboBox \
- accessibility/bridge/org/openoffice/java/accessibility/Component \
- accessibility/bridge/org/openoffice/java/accessibility/Container \
- accessibility/bridge/org/openoffice/java/accessibility/DescendantManager \
- accessibility/bridge/org/openoffice/java/accessibility/Dialog \
- accessibility/bridge/org/openoffice/java/accessibility/FocusTraversalPolicy \
- accessibility/bridge/org/openoffice/java/accessibility/Frame \
- accessibility/bridge/org/openoffice/java/accessibility/Icon \
- accessibility/bridge/org/openoffice/java/accessibility/Label \
- accessibility/bridge/org/openoffice/java/accessibility/List \
- accessibility/bridge/org/openoffice/java/accessibility/Menu \
- accessibility/bridge/org/openoffice/java/accessibility/MenuContainer \
- accessibility/bridge/org/openoffice/java/accessibility/MenuItem \
- accessibility/bridge/org/openoffice/java/accessibility/NativeFrame \
- accessibility/bridge/org/openoffice/java/accessibility/Paragraph \
- accessibility/bridge/org/openoffice/java/accessibility/RadioButton \
- accessibility/bridge/org/openoffice/java/accessibility/ScrollBar \
- accessibility/bridge/org/openoffice/java/accessibility/Separator \
- accessibility/bridge/org/openoffice/java/accessibility/Table \
- accessibility/bridge/org/openoffice/java/accessibility/TextComponent \
- accessibility/bridge/org/openoffice/java/accessibility/ToggleButton \
- accessibility/bridge/org/openoffice/java/accessibility/ToolTip \
- accessibility/bridge/org/openoffice/java/accessibility/Tree \
- accessibility/bridge/org/openoffice/java/accessibility/Window \
- accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleEventLog \
- accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleHypertextLog \
- accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleTextLog \
-))
-
-$(eval $(call gb_Jar_add_generated_sourcefiles,java_uno_accessbridge,\
- CustomTarget/accessibility/bridge/org/openoffice/java/accessibility/Build \
-))
-
-# vim:set noet sw=4 ts=4:
diff --git a/accessibility/Library_java_uno_accessbridge.mk b/accessibility/Library_java_uno_accessbridge.mk
deleted file mode 100644
index 2c643e0f90c5..000000000000
--- a/accessibility/Library_java_uno_accessbridge.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_Library_Library,java_uno_accessbridge))
-
-$(eval $(call gb_Library_use_custom_headers,java_uno_accessbridge,accessibility/bridge/inc))
-
-$(eval $(call gb_Library_use_external,java_uno_accessbridge,boost_headers))
-
-$(eval $(call gb_Library_use_sdk_api,java_uno_accessbridge,))
-
-$(eval $(call gb_Library_use_libraries,java_uno_accessbridge,\
- cppu \
- jvmaccess \
- sal \
- salhelper \
- tl \
- vcl \
- $(gb_UWINAPI) \
-))
-
-$(eval $(call gb_Library_add_exception_objects,java_uno_accessbridge,\
- accessibility/bridge/source/java/WindowsAccessBridgeAdapter \
-))
-
-# vim:set noet sw=4 ts=4:
diff --git a/accessibility/Module_accessibility.mk b/accessibility/Module_accessibility.mk
index e5e090ca89ee..1c565a5d7234 100644
--- a/accessibility/Module_accessibility.mk
+++ b/accessibility/Module_accessibility.mk
@@ -17,15 +17,4 @@ $(eval $(call gb_Module_add_l10n_targets,accessibility,\
AllLangResTarget_acc \
))
-ifneq ($(ENABLE_JAVA),)
-ifeq ($(OS),WNT)
-$(eval $(call gb_Module_add_targets,accessibility,\
- CustomTarget_bridge \
- CustomTarget_bridge_inc \
- Jar_uno_accessbridge \
- Library_java_uno_accessbridge \
-))
-endif
-endif
-
# vim:set noet sw=4 ts=4:
diff --git a/accessibility/bridge/org/openoffice/accessibility/AccessBridge.java b/accessibility/bridge/org/openoffice/accessibility/AccessBridge.java
deleted file mode 100644
index ebd0552a4d26..000000000000
--- a/accessibility/bridge/org/openoffice/accessibility/AccessBridge.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.accessibility;
-
-import com.sun.star.accessibility.AccessibleRole;
-import com.sun.star.accessibility.XAccessible;
-import com.sun.star.accessibility.XAccessibleContext;
-import com.sun.star.awt.XExtendedToolkit;
-import com.sun.star.awt.XTopWindowListener;
-import com.sun.star.comp.loader.FactoryHelper;
-import com.sun.star.lang.XComponent;
-import com.sun.star.lang.XInitialization;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XSingleServiceFactory;
-import com.sun.star.registry.*;
-import com.sun.star.uno.*;
-
-import org.openoffice.java.accessibility.*;
-
-import java.awt.EventQueue;
-import java.awt.Window;
-
-
-public class AccessBridge {
- //
- protected static java.util.HashMap<String, Window> topWindowMap = new java.util.HashMap<String, Window>();
-
- private static java.awt.Window getTopWindowImpl(XAccessible xAccessible) {
- // Because it can not be garantied that
- // WindowsAccessBridgeAdapter.registerTopWindow() is called
- // before windowOpened(), we have to make this operation
- // atomic.
- synchronized (topWindowMap) {
- String oid = UnoRuntime.generateOid(xAccessible);
- java.awt.Window w = topWindowMap.get(oid);
-
- if (w == null) {
- w = AccessibleObjectFactory.getTopWindow(xAccessible);
-
- if (w != null) {
- topWindowMap.put(oid, w);
- }
- }
-
- return w;
- }
- }
-
- protected static java.awt.Window getTopWindow(XAccessible xAccessible) {
- if (xAccessible != null) {
- XAccessibleContext xAccessibleContext = xAccessible.getAccessibleContext();
- if (xAccessibleContext != null) {
-
- // Toolkit reports the VCL peer windows as toplevels. These have an
- // accessible parent which represents the native frame window
- switch(xAccessibleContext.getAccessibleRole()) {
- case AccessibleRole.ROOT_PANE:
- case AccessibleRole.POPUP_MENU:
- return getTopWindow(xAccessibleContext.getAccessibleParent());
-
- case AccessibleRole.WINDOW:
- case AccessibleRole.FRAME:
- case AccessibleRole.DIALOG:
- case AccessibleRole.ALERT:
- return getTopWindowImpl(xAccessible);
-
- default:
- break;
- }
- }
- }
-
- return null;
- }
-
- protected static java.awt.Window removeTopWindow(XAccessible xAccessible) {
- if (xAccessible != null) {
- XAccessibleContext xAccessibleContext = xAccessible.getAccessibleContext();
- if (xAccessibleContext != null) {
-
- // Toolkit reports the VCL peer windows as toplevels. These have an
- // accessible parent which represents the native frame window
- switch(xAccessibleContext.getAccessibleRole()) {
- case AccessibleRole.ROOT_PANE:
- case AccessibleRole.POPUP_MENU:
- return removeTopWindow(xAccessibleContext.getAccessibleParent());
-
- case AccessibleRole.WINDOW:
- case AccessibleRole.FRAME:
- case AccessibleRole.DIALOG:
- return topWindowMap.remove(UnoRuntime.generateOid(xAccessible));
-
- default:
- break;
- }
- }
- }
-
- return null;
- }
-
- public static XSingleServiceFactory __getServiceFactory(String implName,
- XMultiServiceFactory multiFactory, XRegistryKey regKey) {
- XSingleServiceFactory xSingleServiceFactory = null;
-
- if (implName.equals(AccessBridge.class.getName())) {
- // Initialize toolkit to register at Java <-> Windows access bridge
- java.awt.Toolkit.getDefaultToolkit();
-
- xSingleServiceFactory = FactoryHelper.getServiceFactory(_AccessBridge.class,
- _AccessBridge._serviceName, multiFactory, regKey);
- }
-
- return xSingleServiceFactory;
- }
-
- static public class _AccessBridge implements XTopWindowListener,
- XInitialization, XComponent {
- static final String _serviceName = "com.sun.star.accessibility.AccessBridge";
- XComponentContext xComponentContext;
-
- public _AccessBridge(XComponentContext xComponentContext) {
- this.xComponentContext = xComponentContext;
- }
-
- /*
- * XInitialization
- */
- public void initialize(java.lang.Object[] arguments) {
- try {
- // FIXME: Currently there is no way to determine if key event forwarding is needed or not,
- // so we have to do it always ..
- XExtendedToolkit unoToolkit = (XExtendedToolkit) AnyConverter.toObject(new Type(
- XExtendedToolkit.class), arguments[0]);
-
- if (unoToolkit != null) {
- // FIXME this should be done in VCL
- unoToolkit.addTopWindowListener(this);
-
- String os = System.getProperty("os.name");
-
- // Try to initialize the WindowsAccessBridgeAdapter
- if (os.startsWith("Windows")) {
- WindowsAccessBridgeAdapter.attach(xComponentContext);
- } else {
- unoToolkit.addKeyHandler(new KeyHandler());
- }
- } else if (Build.DEBUG) {
- System.err.println(
- "argument 0 is not of type XExtendedToolkit.");
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- // FIXME: output
- }
- }
-
- /*
- * XTopWindowListener
- */
- public void windowOpened(com.sun.star.lang.EventObject event) {
- XAccessible xAccessible = UnoRuntime.queryInterface(XAccessible.class,
- event.Source);
- java.awt.Window w = getTopWindow(xAccessible);
- }
-
- public void windowActivated(com.sun.star.lang.EventObject event) {
- }
-
- public void windowDeactivated(com.sun.star.lang.EventObject event) {
- }
-
- public void windowMinimized(com.sun.star.lang.EventObject event) {
- }
-
- public void windowNormalized(com.sun.star.lang.EventObject event) {
- }
-
- public void windowClosing(com.sun.star.lang.EventObject event) {
- }
-
- public void windowClosed(com.sun.star.lang.EventObject event) {
- XAccessible xAccessible = UnoRuntime.queryInterface(XAccessible.class,
- event.Source);
-
- java.awt.Window w = removeTopWindow(xAccessible);
-
- if (w != null) {
- w.dispose();
- }
- }
-
- public void disposing(com.sun.star.lang.EventObject event) {
- }
-
- /*
- * XComponent
- */
-
- public void addEventListener(com.sun.star.lang.XEventListener listener) {
- }
-
- public void removeEventListener(com.sun.star.lang.XEventListener listener) {
- }
-
- public void dispose() {
- try {
- EventQueue.invokeAndWait(
- new Runnable() {
- public void run() {
- }
- } );
- } catch (java.lang.InterruptedException e) {
- } catch (java.lang.reflect.InvocationTargetException e) {
- }
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/accessibility/KeyHandler.java b/accessibility/bridge/org/openoffice/accessibility/KeyHandler.java
deleted file mode 100644
index 0975839181f0..000000000000
--- a/accessibility/bridge/org/openoffice/accessibility/KeyHandler.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-package org.openoffice.accessibility;
-
-import com.sun.star.awt.XKeyHandler;
-import org.openoffice.java.accessibility.AccessibleKeyBinding;
-import java.awt.*;
-import java.awt.event.KeyEvent;
-
-public class KeyHandler extends Component implements XKeyHandler, java.awt.KeyEventDispatcher {
- EventQueue eventQueue;
-
- public class VCLKeyEvent extends KeyEvent implements Runnable {
- boolean consumed = true;
-
- public VCLKeyEvent(Component c, int id, int modifiers, int keyCode, char keyChar) {
- super(c, id, System.currentTimeMillis(), modifiers, keyCode, keyChar);
- }
-
- public void run() {
- // This is a no-op ..
- }
-
- public void setConsumed(boolean b) {
- consumed = b;
- }
-
- public boolean isConsumed() {
- return consumed;
- }
- }
-
- public KeyHandler() {
- eventQueue = Toolkit.getDefaultToolkit().getSystemEventQueue();
- java.awt.KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(this);
- }
-
- /** This method is called by the current KeyboardFocusManager requesting that this KeyEventDispatcher
- * dispatch the specified event on its behalf
- */
- public boolean dispatchKeyEvent(java.awt.event.KeyEvent e) {
- if (e instanceof VCLKeyEvent) {
- VCLKeyEvent event = (VCLKeyEvent) e;
- event.setConsumed(false);
- return true;
- }
- return false;
- }
-
- /** Handler for KeyPressed events */
- public boolean keyPressed(com.sun.star.awt.KeyEvent event) {
-// try {
- VCLKeyEvent vke = new VCLKeyEvent(this, KeyEvent.KEY_PRESSED,
- AccessibleKeyBinding.convertModifiers(event.Modifiers),
- AccessibleKeyBinding.convertKeyCode(event.KeyCode),
- event.KeyChar != 0 ? event.KeyChar : KeyEvent.CHAR_UNDEFINED);
-
- eventQueue.postEvent(vke);
-
- // VCL events for TABs have empty KeyChar
- if (event.KeyCode == com.sun.star.awt.Key.TAB ) {
- event.KeyChar = '\t';
- }
-
- // Synthesize KEY_TYPED event to emulate Java behavior
- if (event.KeyChar != 0) {
- eventQueue.postEvent(new VCLKeyEvent(this,
- KeyEvent.KEY_TYPED,
- AccessibleKeyBinding.convertModifiers(event.Modifiers),
- KeyEvent.VK_UNDEFINED,
- event.KeyChar));
- }
-
- // Wait until the key event is processed
- return false;
-// eventQueue.invokeAndWait(vke);
-// return vke.isConsumed();
-// } catch(java.lang.InterruptedException e) {
-// return false;
-// } catch(java.lang.reflect.InvocationTargetException e) {
-// return false;
-// }
- }
-
- /** Handler for KeyReleased events */
- public boolean keyReleased(com.sun.star.awt.KeyEvent event) {
-// try {
- VCLKeyEvent vke = new VCLKeyEvent(this, KeyEvent.KEY_RELEASED,
- AccessibleKeyBinding.convertModifiers(event.Modifiers),
- AccessibleKeyBinding.convertKeyCode(event.KeyCode),
- event.KeyChar != 0 ? event.KeyChar : KeyEvent.CHAR_UNDEFINED);
- eventQueue.postEvent(vke);
-
- // Wait until the key event is processed
- return false;
-// eventQueue.invokeAndWait(vke);
-// return vke.isConsumed();
-// } catch(java.lang.InterruptedException e) {
-// return false;
-// } catch(java.lang.reflect.InvocationTargetException e) {
-// return false;
-// }
- }
-
- public void disposing(com.sun.star.lang.EventObject event) {
- java.awt.KeyboardFocusManager.getCurrentKeyboardFocusManager().removeKeyEventDispatcher(this);
- }
-}
diff --git a/accessibility/bridge/org/openoffice/accessibility/PopupWindow.java b/accessibility/bridge/org/openoffice/accessibility/PopupWindow.java
deleted file mode 100644
index 9f7929357da9..000000000000
--- a/accessibility/bridge/org/openoffice/accessibility/PopupWindow.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.accessibility;
-
-import javax.accessibility.AccessibleContext;
-
-import org.openoffice.java.accessibility.*;
-
-
-/**
- *
- */
-public class PopupWindow extends java.awt.Window {
- javax.accessibility.AccessibleContext accessibleContext = null;
- ContainerProxy layeredPane = new ContainerProxy(javax.accessibility.AccessibleRole.LAYERED_PANE);
- ContainerProxy rootPane = new ContainerProxy(javax.accessibility.AccessibleRole.ROOT_PANE);
- ContainerProxy popupLayer = new ContainerProxy(javax.accessibility.AccessibleRole.PANEL);
- boolean opened = false;
- boolean visible = false;
-
- /** Creates a new instance of PopupWindow */
- public PopupWindow(java.awt.Window owner) {
- super(owner);
- super.add(rootPane);
- rootPane.add(layeredPane);
-
- javax.accessibility.AccessibleContext ac = rootPane.getAccessibleContext();
-
- if (ac != null) {
- ac.setAccessibleParent(this);
- }
- }
-
- static PopupWindow create(
- com.sun.star.accessibility.XAccessible xAccessible) {
- java.awt.Window parent = java.awt.KeyboardFocusManager.getCurrentKeyboardFocusManager()
- .getActiveWindow();
-
- if (parent != null) {
- PopupWindow w = new PopupWindow(parent);
- w.setVisible(true);
- AccessibleObjectFactory.invokeAndWait();
- AccessibleObjectFactory.addChild(w, xAccessible);
-
- return w;
- }
-
- return null;
- }
-
- public boolean isShowing() {
- if (isVisible()) {
- java.awt.Container parent = getParent();
-
- return (parent == null) || parent.isShowing();
- }
-
- return false;
- }
-
- public void addNotify() {
- }
-
- public void removeNotify() {
- }
-
- public boolean isVisible() {
- return visible;
- }
-
- public void setVisible(boolean b) {
- if (visible != b) {
- visible = b;
-
- if (b) {
- // If it is the first show, fire WINDOW_OPENED event
- if (!opened) {
- AccessibleObjectFactory.postWindowOpened(this);
- opened = true;
- }
- }
- }
- }
-
- public java.awt.Component add(java.awt.Component c) {
- popupLayer.add(c);
- layeredPane.add(popupLayer);
-
- if (c instanceof javax.accessibility.Accessible) {
- javax.accessibility.AccessibleContext ac = layeredPane.getAccessibleContext();
-
- if (ac != null) {
- ac.firePropertyChange(AccessibleContext.ACCESSIBLE_CHILD_PROPERTY, null,
- popupLayer.getAccessibleContext());
- }
- }
-
- return c;
- }
-
- public void remove(java.awt.Component c) {
- layeredPane.remove(popupLayer);
-
- if (c instanceof javax.accessibility.Accessible) {
- javax.accessibility.AccessibleContext ac = layeredPane.getAccessibleContext();
-
- if (ac != null) {
- ac.firePropertyChange(AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- popupLayer.getAccessibleContext(), null);
- }
- }
-
- popupLayer.remove(c);
- }
-
- public void dispose() {
- setVisible(false);
- AccessibleObjectFactory.postWindowClosed(this);
- }
-
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- accessibleContext = new AccessiblePopupWindow();
- }
-
- return accessibleContext;
- }
-
- protected class AccessiblePopupWindow
- extends java.awt.Window.AccessibleAWTWindow {
- AccessiblePopupWindow() {
- }
- }
-
- protected class ContainerProxy extends java.awt.Container
- implements javax.accessibility.Accessible {
- javax.accessibility.AccessibleContext accessibleContext = null;
- javax.accessibility.AccessibleRole role;
-
- protected ContainerProxy(javax.accessibility.AccessibleRole role) {
- this.role = role;
- }
-
- public java.awt.Component add(java.awt.Component c) {
- if (c instanceof javax.accessibility.Accessible) {
- javax.accessibility.Accessible a = (javax.accessibility.Accessible) c;
- javax.accessibility.AccessibleContext ac = a.getAccessibleContext();
-
- if (ac != null) {
- ac.setAccessibleParent(this);
- }
- }
-
- return super.add(c);
- }
-
- public void remove(java.awt.Component c) {
- if (c instanceof javax.accessibility.Accessible) {
- javax.accessibility.Accessible a = (javax.accessibility.Accessible) c;
- javax.accessibility.AccessibleContext ac = a.getAccessibleContext();
-
- if (ac != null) {
- ac.setAccessibleParent(null);
- }
- }
-
- super.remove(c);
- }
-
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- accessibleContext = new AccessibleContainerProxy();
- }
-
- return accessibleContext;
- }
-
- private class AccessibleContainerProxy
- extends java.awt.Container.AccessibleAWTContainer {
- AccessibleContainerProxy() {
- }
-
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return ContainerProxy.this.role;
- }
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter.java b/accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter.java
deleted file mode 100644
index 5d7a81750b48..000000000000
--- a/accessibility/bridge/org/openoffice/accessibility/WindowsAccessBridgeAdapter.java
+++ /dev/null
@@ -1,645 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.accessibility;
-
-import com.sun.star.accessibility.AccessibleRole;
-import com.sun.star.accessibility.XAccessible;
-import com.sun.star.accessibility.XAccessibleContext;
-import com.sun.star.java.XJavaVM;
-import com.sun.star.uno.*;
-
-import org.openoffice.java.accessibility.*;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import javax.accessibility.*;
-
-
-public class WindowsAccessBridgeAdapter {
- private static Method registerVirtualFrame;
- private static Method revokeVirtualFrame;
- private static java.util.HashMap<Integer, Accessible> frameMap;
-
- 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 = 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.HashMap<Integer, Accessible>();
- }
- }
- }
- }
- } 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 = 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.containsKey(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 = 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 */
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- return this;
- }
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleComponent getAccessibleComponent() {
- return this;
- }
-
- /** Returns the AccessibleText associated with this object */
- public javax.accessibility.AccessibleText getAccessibleText() {
- return menu.getAccessibleText();
- }
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
- return menu.getAccessibleStateSet();
- }
-
- public java.util.Locale getLocale() {
- return menu.getLocale();
- }
-
- public int getAccessibleIndexInParent() {
- return -1;
- }
-
- public int getAccessibleChildrenCount() {
- return menu.getAccessibleChildrenCount();
- }
-
- public javax.accessibility.Accessible getAccessibleChild(int i) {
- return menu.getAccessibleChild(i);
- }
-
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.POPUP_MENU;
- }
-
- /*
- * AccessibleComponent
- */
- public void addFocusListener(java.awt.event.FocusListener fl) {
- menuComponent.addFocusListener(fl);
- }
-
- public void removeFocusListener(java.awt.event.FocusListener fl) {
- menuComponent.removeFocusListener(fl);
- }
-
- /** Returns the background color of the object */
- public java.awt.Color getBackground() {
- return menuComponent.getBackground();
- }
-
- public void setBackground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- /** Returns the foreground color of the object */
- public java.awt.Color getForeground() {
- return menuComponent.getForeground();
- }
-
- public void setForeground(java.awt.Color c) {
- menuComponent.setForeground(c);
- }
-
- public java.awt.Cursor getCursor() {
- return menuComponent.getCursor();
- }
-
- public void setCursor(java.awt.Cursor cursor) {
- menuComponent.setCursor(cursor);
- }
-
- public java.awt.Font getFont() {
- return menuComponent.getFont();
- }
-
- public void setFont(java.awt.Font f) {
- menuComponent.setFont(f);
- }
-
- public java.awt.FontMetrics getFontMetrics(java.awt.Font f) {
- return menuComponent.getFontMetrics(f);
- }
-
- public boolean isEnabled() {
- return menuComponent.isEnabled();
- }
-
- public void setEnabled(boolean b) {
- menuComponent.setEnabled(b);
- }
-
- public boolean isVisible() {
- return menuComponent.isVisible();
- }
-
- public void setVisible(boolean b) {
- menuComponent.setVisible(b);
- }
-
- public boolean isShowing() {
- return menuComponent.isShowing();
- }
-
- public boolean contains(java.awt.Point p) {
- 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"));
- }
-
- 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() {
- 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 */
- public java.awt.Point getLocation() {
- // This object represents a toplevel, so this is 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() {
- return new java.awt.Rectangle(x, y, width, 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 new java.awt.Dimension(width, height);
- }
-
- /** 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) {
- 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() {
- return menuComponent.isFocusTraversable();
- }
-
- public void requestFocus() {
- menuComponent.requestFocus();
- }
- }
-
- protected static class ListProxy extends AccessibleContext
- implements Accessible, AccessibleComponent {
- AccessibleContext list;
- AccessibleComponent listComponent;
-
- ListProxy(AccessibleContext ac) {
- list = ac;
- listComponent = list.getAccessibleComponent();
- }
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- return this;
- }
-
- /** 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();
- }
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
- return list.getAccessibleStateSet();
- }
-
- public java.util.Locale getLocale() {
- return list.getLocale();
- }
-
- public int getAccessibleIndexInParent() {
- return -1;
- }
-
- public int getAccessibleChildrenCount() {
- return list.getAccessibleChildrenCount();
- }
-
- public javax.accessibility.Accessible getAccessibleChild(int i) {
- return list.getAccessibleChild(i);
- }
-
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.LIST;
- }
-
- /*
- * AccessibleComponent
- */
- public void addFocusListener(java.awt.event.FocusListener fl) {
- listComponent.addFocusListener(fl);
- }
-
- public void removeFocusListener(java.awt.event.FocusListener fl) {
- listComponent.removeFocusListener(fl);
- }
-
- /** Returns the background color of the object */
- public java.awt.Color getBackground() {
- return listComponent.getBackground();
- }
-
- public void setBackground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- /** Returns the foreground color of the object */
- public java.awt.Color getForeground() {
- return listComponent.getForeground();
- }
-
- public void setForeground(java.awt.Color c) {
- listComponent.setForeground(c);
- }
-
- public java.awt.Cursor getCursor() {
- return listComponent.getCursor();
- }
-
- public void setCursor(java.awt.Cursor cursor) {
- listComponent.setCursor(cursor);
- }
-
- public java.awt.Font getFont() {
- return listComponent.getFont();
- }
-
- public void setFont(java.awt.Font f) {
- listComponent.setFont(f);
- }
-
- public java.awt.FontMetrics getFontMetrics(java.awt.Font f) {
- return listComponent.getFontMetrics(f);
- }
-
- public boolean isEnabled() {
- return listComponent.isEnabled();
- }
-
- public void setEnabled(boolean b) {
- listComponent.setEnabled(b);
- }
-
- public boolean isVisible() {
- return listComponent.isVisible();
- }
-
- 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();
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/accessibility/java_uno_accessbridge.component b/accessibility/bridge/org/openoffice/accessibility/java_uno_accessbridge.component
deleted file mode 100644
index a1194a1c7744..000000000000
--- a/accessibility/bridge/org/openoffice/accessibility/java_uno_accessbridge.component
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- -->
-
-<component loader="com.sun.star.loader.Java2"
- xmlns="http://openoffice.org/2010/uno-components">
- <implementation name="org.openoffice.accessibility.AccessBridge">
- <service name="com.sun.star.accessibility.AccessBridge"/>
- </implementation>
-</component>
diff --git a/accessibility/bridge/org/openoffice/accessibility/manifest b/accessibility/bridge/org/openoffice/accessibility/manifest
deleted file mode 100644
index 4b5ffd54d34b..000000000000
--- a/accessibility/bridge/org/openoffice/accessibility/manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-RegistrationClassName: org.openoffice.accessibility.AccessBridge
-UNO-Type-Path:
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AbstractButton.java b/accessibility/bridge/org/openoffice/java/accessibility/AbstractButton.java
deleted file mode 100644
index c0fc21c6830c..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AbstractButton.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-
-/**
- */
-public abstract class AbstractButton extends Component {
-
- protected AbstractButton(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- protected abstract class AccessibleAbstractButton extends AccessibleUNOComponent
- implements javax.accessibility.AccessibleAction {
-
- /**
- * Though the class is abstract, this should be called by all sub-classes
- */
- protected AccessibleAbstractButton() {
- super();
- }
-
- /*
- * AccessibleContext
- */
-
- /** Gets the AccessibleAction associated with this object that supports one or more actions */
- public javax.accessibility.AccessibleAction getAccessibleAction() {
- return this;
- }
-
- /** Gets the AccessibleText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleText getAccessibleText() {
-
- if (disposed)
- return null;
-
- try {
- XAccessibleText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleText.class,unoAccessibleComponent);
- if (unoAccessibleText != null) {
- return new AccessibleTextImpl(unoAccessibleText);
- } else {
- return null;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns the relation set of this object */
- public javax.accessibility.AccessibleRelationSet getAccessibleRelationSet() {
- try {
- XAccessibleRelationSet unoAccessibleRelationSet = unoAccessibleContext.getAccessibleRelationSet();
-
- if (unoAccessibleRelationSet == null) {
- return null;
- }
-
- javax.accessibility.AccessibleRelationSet relationSet = new javax.accessibility.AccessibleRelationSet();
- int count = unoAccessibleRelationSet.getRelationCount();
-
- for (int i = 0; i < count; i++) {
- AccessibleRelation unoAccessibleRelation = unoAccessibleRelationSet.getRelation(i);
-
- switch (unoAccessibleRelation.RelationType) {
- case AccessibleRelationType.MEMBER_OF:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.MEMBER_OF,
- getAccessibleComponents(
- unoAccessibleRelation.TargetSet)));
- break;
-
- case AccessibleRelationType.LABELED_BY:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.LABELED_BY,
- getAccessibleComponents(
- unoAccessibleRelation.TargetSet)));
- break;
- default:
- break;
- }
- }
-
- return relationSet;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /*
- * AccessibleAction
- */
-
- /** Performs the specified Action on the object */
- public boolean doAccessibleAction(int param) {
- if (param == 0) {
- // HACK: this action might open a modal dialog and therefor block
- // until the dialog is closed. In case of this thread being the
- // AWT EventDispatcherThread this means, the opened dialog will
- // not be accessible, so deligate this request to another thread.
- if (java.awt.EventQueue.isDispatchThread()) {
- Thread t = new Thread () {
- public void run() {
- AbstractButton.AccessibleAbstractButton.this.doAccessibleAction(0);
- }
- };
- t.start();
- return true;
- } else {
- // Actions of MenuItems may also be performed if the item is not
- // visible, so just try ..
- try {
- XAccessibleContext xAccessibleContext = unoAccessibleContext;
- if (xAccessibleContext != null) {
- // Query for XAccessibleAction interface
- XAccessibleAction xAccessibleAction = UnoRuntime.queryInterface(XAccessibleAction.class, xAccessibleContext);
-
- if (xAccessibleAction != null) {
- return xAccessibleAction.doAccessibleAction(0);
- }
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
- }
-
- return false;
- }
-
- /** Returns a description of the specified action of the object */
- public java.lang.String getAccessibleActionDescription(int param) {
- return javax.swing.UIManager.getString("AbstractButton.clickText");
- }
-
- /** Returns the number of accessible actions available in this object */
- public int getAccessibleActionCount() {
- return 1;
- }
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleActionImpl.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleActionImpl.java
deleted file mode 100644
index a38820c98128..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleActionImpl.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.XAccessibleAction;
-
-/** The AccessibleActionWrapper maps the calls to the java AccessibleAction interface
- * to the corresponding methods of the UNO XAccessibleAction interface.
- */
-public class AccessibleActionImpl implements javax.accessibility.AccessibleAction {
-
- protected XAccessibleAction unoObject;
-
- /** Creates new AccessibleActionWrapper */
- public AccessibleActionImpl(XAccessibleAction xAccessibleAction) {
- unoObject = xAccessibleAction;
- }
-
- public boolean doAccessibleAction(int param) {
- try {
- return unoObject.doAccessibleAction(param);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return false;
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- public java.lang.String getAccessibleActionDescription(int param) {
- try {
- return unoObject.getAccessibleActionDescription(param);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public int getAccessibleActionCount() {
- try {
- return unoObject.getAccessibleActionCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleComponentImpl.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleComponentImpl.java
deleted file mode 100644
index 03e1fa56c5b1..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleComponentImpl.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.AccessibleStateType;
-import com.sun.star.accessibility.XAccessibleContext;
-import com.sun.star.accessibility.XAccessibleComponent;
-// import com.sun.star.accessibility.XAccessibleExtendedComponent;
-import com.sun.star.uno.UnoRuntime;
-
-public class AccessibleComponentImpl implements javax.accessibility.AccessibleComponent {
-
- protected XAccessibleComponent unoObject;
-// protected XAccessibleExtendedComponent unoAccessibleExtendedComponent = null;
-
- /** Creates new AccessibleComponentImpl */
- public AccessibleComponentImpl(XAccessibleComponent xAccessibleComponent) {
- unoObject = xAccessibleComponent;
- }
-
- protected boolean hasState(short state) {
- try {
- XAccessibleContext unoAccessibleContext = UnoRuntime.queryInterface(XAccessibleContext.class, unoObject);
- // All UNO accessibility implementations must support XAccessibleContext
- // and return a valid XAccessibleStateSet ..
- return unoAccessibleContext.getAccessibleStateSet().contains(state);
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- } catch (java.lang.NullPointerException e) {
- System.err.println("XAccessibleContext unsupported or no XAccessibleStateSet returned.");
- return false;
- }
- }
-
- /*
- * XAccessibleComponent
- */
-
- /** Returns the background color of the object */
- public java.awt.Color getBackground() {
- try {
- return new java.awt.Color(unoObject.getBackground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setBackground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- /** Returns the foreground color of the object */
- public java.awt.Color getForeground() {
- try {
- return new java.awt.Color(unoObject.getForeground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setForeground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Cursor getCursor() {
- // Not supported by UNO accessibility API
- return null;
- }
-
- public void setCursor(java.awt.Cursor cursor) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Font getFont() {
- // FIXME
- return null;
- }
-
- public void setFont(java.awt.Font f) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.FontMetrics getFontMetrics(java.awt.Font f) {
- // FIXME
- return null;
- }
-
- public boolean isEnabled() {
- return hasState(AccessibleStateType.ENABLED);
- }
-
- public void setEnabled(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isVisible() {
- return hasState(AccessibleStateType.VISIBLE);
- }
-
- public void setVisible(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isShowing() {
- return hasState(AccessibleStateType.SHOWING);
- }
-
- public boolean contains(java.awt.Point p) {
- try {
- return unoObject.containsPoint(new com.sun.star.awt.Point(p.x, p.y));
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Returns the location of the object on the screen. */
- public java.awt.Point getLocationOnScreen() {
- try {
- com.sun.star.awt.Point unoPoint = unoObject.getLocationOnScreen();
- return new java.awt.Point(unoPoint.X, unoPoint.Y);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the location of this component in the form of a point specifying the component's top-left corner */
- public java.awt.Point getLocation() {
- try {
- com.sun.star.awt.Point unoPoint = unoObject.getLocation();
- return new java.awt.Point( unoPoint.X, unoPoint.Y );
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Rectangle unoRect = unoObject.getBounds();
- return new java.awt.Rectangle(unoRect.X, unoRect.Y, unoRect.Width, unoRect.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Size unoSize = unoObject.getSize();
- return new java.awt.Dimension(unoSize.Width, unoSize.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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
- }
-
- public javax.accessibility.Accessible getAccessibleAt(java.awt.Point p) {
- // Not supported by this implementation
- return null;
- }
-
- public boolean isFocusTraversable() {
- return hasState(AccessibleStateType.FOCUSABLE);
- }
-
- public void requestFocus() {
- unoObject.grabFocus();
- }
-
- /**
- * Adds the specified focus listener to receive focus events from
- * this component when this component gains input focus.
- * If listener <code>l</code> is <code>null</code>,
- * no exception is thrown and no action is performed.
- */
-
- public void addFocusListener(java.awt.event.FocusListener l) {
- // Not supported by this implementation
- }
-
- /**
- * Removes the specified focus listener so that it no longer
- * receives focus events from this component. This method performs
- * no function, nor does it throw an exception, if the listener
- * specified by the argument was not previously added to this component.
- * If listener <code>l</code> is <code>null</code>,
- * no exception is thrown and no action is performed.
- */
-
- public void removeFocusListener(java.awt.event.FocusListener l) {
- // Not supported by this implementation
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleEditableTextImpl.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleEditableTextImpl.java
deleted file mode 100644
index 8dd7e36049d2..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleEditableTextImpl.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.awt.*;
-import com.sun.star.style.*;
-import com.sun.star.accessibility.XAccessibleEditableText;
-import com.sun.star.beans.PropertyValue;
-
-import javax.swing.text.StyleConstants;
-
-/** The GenericAccessibleEditableText mapps the calls to the java AccessibleEditableText
- * interface to the corresponding methods of the UNO XAccessibleEditableText interface.
- */
-public class AccessibleEditableTextImpl extends AccessibleTextImpl implements javax.accessibility.AccessibleEditableText {
- final static double toPointFactor = 1 / (7/10 + 34.5);
-
- /** Creates new GenericAccessibleEditableText object */
- public AccessibleEditableTextImpl(XAccessibleEditableText xAccessibleEditableText) {
- super(xAccessibleEditableText);
- }
-
- /** Cuts the text between two indices into the system clipboard */
- public void cut(int startIndex, int endIndex) {
- try {
- ((XAccessibleEditableText) unoObject).cutText(startIndex, endIndex);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Deletes the text between two indices */
- public void delete(int startIndex, int endIndex) {
- try {
- ((XAccessibleEditableText) unoObject).deleteText(startIndex, endIndex);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Returns the text range between two indices */
- public String getTextRange(int startIndex, int endIndex) {
- try {
- return unoObject.getTextRange(startIndex, endIndex);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return null;
- }
-
- /** Inserts the specified string at the given index */
- public void insertTextAtIndex(int index, String s){
- try {
- ((XAccessibleEditableText) unoObject).insertText(s, index);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Pastes the text form the system clipboard into the text starting at the specified index */
- public void paste(int startIndex) {
- try {
- ((XAccessibleEditableText) unoObject).pasteText(startIndex);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Replaces the text between two indices with the specified string */
- public void replaceText(int startIndex, int endIndex, String s) {
- try {
- ((XAccessibleEditableText) unoObject).replaceText(startIndex, endIndex, s);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Selects the text between two indices */
- public void selectText(int startIndex, int endIndex) {
- try {
- unoObject.setSelection(startIndex, endIndex);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Sets the attributes for the text between two indices */
- public void setAttributes(int startIndex, int endIndex, javax.swing.text.AttributeSet as) {
- java.util.ArrayList<PropertyValue> propertyValues = new java.util.ArrayList<PropertyValue>();
-
- // Convert Alignment attribute
- Object attribute = as.getAttribute(StyleConstants.Alignment);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "ParaAdjust";
-
- switch (StyleConstants.getAlignment(as)) {
- case StyleConstants.ALIGN_RIGHT:
- propertyValue.Value = ParagraphAdjust.RIGHT;
- break;
- case StyleConstants.ALIGN_CENTER:
- propertyValue.Value = ParagraphAdjust.CENTER;
- break;
- case StyleConstants.ALIGN_JUSTIFIED:
- propertyValue.Value = ParagraphAdjust.BLOCK;
- break;
- default:
- propertyValue.Value = ParagraphAdjust.LEFT;
- break;
- }
- propertyValues.add(propertyValue);
- }
-
- // Convert Background attribute
- attribute = as.getAttribute(StyleConstants.Background);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "CharBackColor";
- propertyValue.Value = new Integer(StyleConstants.getBackground(as).getRGB());
- propertyValues.add(propertyValue);
- }
-
- // FIXME: BidiLevel
-
- // Set Bold attribute
- attribute = as.getAttribute(StyleConstants.Bold);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "CharWeight";
- if (StyleConstants.isBold(as)) {
- propertyValue.Value = new Float(150);
- } else {
- propertyValue.Value = new Float(100);
- }
- propertyValues.add(propertyValue);
- }
-
- // FIXME: Java 1.4 ComponentAttribute, ComponentElementName, ComposedTextAttribute
-
- // Set FirstLineIndent attribute
- attribute = as.getAttribute(StyleConstants.FirstLineIndent);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "ParaFirstLineIndent";
- propertyValue.Value = new Double(StyleConstants.getFirstLineIndent(as) / toPointFactor);
- propertyValues.add(propertyValue);
- }
-
- // Set font family attribute
- attribute = as.getAttribute(StyleConstants.FontFamily);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "CharFontName";
- propertyValue.Value = new String(StyleConstants.getFontFamily(as));
- propertyValues.add(propertyValue);
- }
-
- // Set font size attribute
- attribute = as.getAttribute(StyleConstants.FontSize);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "CharHeight";
- propertyValue.Value = new Integer(StyleConstants.getFontSize(as));
- propertyValues.add(propertyValue);
- }
-
- // Map foreground color
- attribute = as.getAttribute(StyleConstants.Foreground);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "CharColor";
- propertyValue.Value = new Integer (StyleConstants.getForeground(as).getRGB());
- propertyValues.add(propertyValue);
- }
-
- // FIXME: IconAttribute, IconElementName
-
- // Set italic attribute
- attribute = as.getAttribute(StyleConstants.Italic);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "CharPosture";
-
- if (StyleConstants.isItalic(as)) {
- propertyValue.Value = FontSlant.ITALIC;
- } else {
- propertyValue.Value = FontSlant.DONTKNOW;
- }
- propertyValues.add(propertyValue);
- }
-
- // Set left indent attribute
- attribute = as.getAttribute(StyleConstants.LeftIndent);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "ParaFirstLeftMargin";
- propertyValue.Value = new Integer(new Double(StyleConstants.getLeftIndent(as) / toPointFactor).intValue());
- propertyValues.add(propertyValue);
- }
-
- // Set right indent attribute
- attribute = as.getAttribute(StyleConstants.RightIndent);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "ParaFirstRightMargin";
- propertyValue.Value = new Integer(new Double(StyleConstants.getRightIndent(as) / toPointFactor).intValue());
- propertyValues.add(propertyValue);
- }
-
- // Set line spacing attribute
- attribute = as.getAttribute(StyleConstants.LineSpacing);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "ParaLineSpacing";
- propertyValue.Value = new Integer(new Double(StyleConstants.getLineSpacing(as) / toPointFactor).intValue());
- propertyValues.add(propertyValue);
- }
-
- // FIXME: Java 1.4 NameAttribute, Orientation, ResolveAttribute
-
- // Set space above attribute
- attribute = as.getAttribute(StyleConstants.SpaceAbove);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "ParaTopMargin";
- propertyValue.Value = new Integer(new Double( StyleConstants.getSpaceAbove(as) / toPointFactor).intValue());
- propertyValues.add(propertyValue);
- }
-
- // Set space below attribute
- attribute = as.getAttribute(StyleConstants.SpaceBelow);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "ParaBottomMargin";
- propertyValue.Value = new Integer(new Double(StyleConstants.getSpaceBelow(as) / toPointFactor).intValue());
- propertyValues.add(propertyValue);
- }
-
- // Set strike through attribute
- attribute = as.getAttribute(StyleConstants.StrikeThrough);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "CharPosture";
- if (StyleConstants.isStrikeThrough(as)) {
- propertyValue.Value = new Short(FontStrikeout.SINGLE);
- } else {
- propertyValue.Value = new Short(FontStrikeout.NONE);
- }
- propertyValues.add(propertyValue);
- }
-
- // Set sub-/superscript attribute
- attribute = as.getAttribute(StyleConstants.Superscript);
- if (null == attribute) {
- attribute = as.getAttribute(StyleConstants.Subscript);
- }
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "CharEscapement";
-
- if (StyleConstants.isSuperscript(as)) {
- propertyValue.Value = new Short( "1" );
- } else if (StyleConstants.isSubscript(as)) {
- propertyValue.Value = new Short( "-1" );
- } else {
- propertyValue.Value = new Short( "0" );
- }
- propertyValues.add(propertyValue);
- }
-
- // Set tabset attribute
- attribute = as.getAttribute(StyleConstants.TabSet);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "ParaTabStops";
-
- javax.swing.text.TabSet tabSet = StyleConstants.getTabSet(as);
- java.util.ArrayList<TabStop> tabStops = new java.util.ArrayList<TabStop>(tabSet.getTabCount());
-
- for (int i = 0, max = tabSet.getTabCount(); i < max; i++) {
- javax.swing.text.TabStop tab = tabSet.getTab(i);
- com.sun.star.style.TabStop unoTab = new com.sun.star.style.TabStop();
-
- unoTab.Position = new Double(tab.getPosition() / toPointFactor).intValue();
-
- switch (tab.getAlignment()) {
- case javax.swing.text.TabStop.ALIGN_CENTER:
- unoTab.Alignment = TabAlign.CENTER;
- break;
- case javax.swing.text.TabStop.ALIGN_RIGHT:
- unoTab.Alignment = TabAlign.RIGHT;
- break;
- case javax.swing.text.TabStop.ALIGN_DECIMAL:
- unoTab.Alignment = TabAlign.DECIMAL;
- break;
- default:
- unoTab.Alignment = TabAlign.LEFT;
- break;
- }
-
- tabStops.add(unoTab);
- }
- propertyValue.Value = tabStops.toArray();
- propertyValues.add(propertyValue);
- }
-
- // Set underline attribute
- attribute = as.getAttribute(StyleConstants.Underline);
- if (null != attribute) {
- com.sun.star.beans.PropertyValue propertyValue = new com.sun.star.beans.PropertyValue();
- propertyValue.Name = "CharUnderline";
-
- if (StyleConstants.isUnderline(as)) {
- propertyValue.Value = new Short(FontUnderline.SINGLE);
- } else {
- propertyValue.Value = new Short(FontUnderline.NONE);
- }
- propertyValues.add(propertyValue);
- }
-
- try {
- ((XAccessibleEditableText) unoObject).setAttributes(startIndex, endIndex, (com.sun.star.beans.PropertyValue[]) propertyValues.toArray());
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Sets the text contents to the specified string */
- public void setTextContents(String s) {
- try {
- ((XAccessibleEditableText) unoObject).setText(s);
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleExtendedState.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleExtendedState.java
deleted file mode 100644
index 300b5a9b5fd8..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleExtendedState.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import javax.accessibility.AccessibleState;
-
-public class AccessibleExtendedState extends AccessibleState {
- public static final AccessibleState DEFUNCT;
- public static final AccessibleState INDETERMINATE;
- public static final AccessibleState MANAGES_DESCENDANTS;
- public static final AccessibleState SENSITIVE;
- public static final AccessibleState STALE;
-
- static {
- DEFUNCT = new AccessibleExtendedState("defunct");
-
- // JAVA 1.5: will come with manages_descendants and indeterminate
- INDETERMINATE = new AccessibleExtendedState("indeterminate");
- MANAGES_DESCENDANTS = new AccessibleExtendedState("managesDescendants");
-
- SENSITIVE = new AccessibleExtendedState("sensitive");
- STALE = new AccessibleExtendedState("stale");
- }
-
- protected AccessibleExtendedState(String key) {
- super(key);
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleHypertextImpl.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleHypertextImpl.java
deleted file mode 100644
index 24ab5efe0687..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleHypertextImpl.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import org.openoffice.java.accessibility.logging.*;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.uno.*;
-
-/** The AccessibleHypertextImpl mapps all calls to the java AccessibleHypertext
- * interface to the corresponding methods of the UNO XAccessibleHypertext
- * interface.
- */
-public class AccessibleHypertextImpl extends AccessibleTextImpl
- implements javax.accessibility.AccessibleHypertext {
-
- protected class Hyperlink extends javax.accessibility.AccessibleHyperlink {
- protected XAccessibleHyperlink unoObject;
-
- public Hyperlink(XAccessibleHyperlink xHyperlink) {
- unoObject = xHyperlink;
- }
-
- public int getStartIndex() {
- try {
- System.err.println("StartIndex: " + unoObject.getStartIndex());
- return unoObject.getStartIndex();
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- public Object getAccessibleActionObject(int param) {
- System.err.println("getActionObject");
- try {
- Object any = unoObject.getAccessibleActionObject(param);
- if (AnyConverter.isString(any)) {
- String url = AnyConverter.toString(any);
- if (null != url) {
- return new java.net.URL(url);
- }
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- } catch (java.net.MalformedURLException exception) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
-
- return null;
- }
-
- public int getEndIndex() {
- try {
- System.err.println("StartIndex: " + unoObject.getEndIndex());
- return unoObject.getEndIndex();
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- public Object getAccessibleActionAnchor(int param) {
- System.err.println("getActionAnchor");
- try {
- Object any = unoObject.getAccessibleActionObject(param);
- if (AnyConverter.isString(any)) {
- System.err.println("Anchor: " + AnyConverter.toString(any));
- return AnyConverter.toString(any);
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return null;
- }
-
- public boolean isValid() {
- return unoObject.isValid();
- }
-
- public boolean doAccessibleAction(int param) {
- try {
- return unoObject.doAccessibleAction(param);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return false;
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- public String getAccessibleActionDescription(int param) {
- try {
- return unoObject.getAccessibleActionDescription(param);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- }
- }
-
- public int getAccessibleActionCount() {
- try {
- return unoObject.getAccessibleActionCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
- }
-
- /** Creates new AccessibleHypertextImpl */
- public AccessibleHypertextImpl(XAccessibleHypertext xAccessibleHypertext) {
- if (Build.PRODUCT) {
- unoObject = xAccessibleHypertext;
- } else {
- String property = System.getProperty("AccessBridgeLogging");
- if ((property != null) && (property.indexOf("text") != -1)) {
- unoObject = new XAccessibleHypertextLog(xAccessibleHypertext);
- } else {
- unoObject = xAccessibleHypertext;
- }
- }
- }
-
- public static javax.accessibility.AccessibleText get(com.sun.star.uno.XInterface unoObject) {
- try {
- XAccessibleHypertext unoAccessibleHypertext = UnoRuntime.queryInterface(XAccessibleHypertext.class, unoObject);
- if (unoAccessibleHypertext != null) {
- return new AccessibleHypertextImpl(unoAccessibleHypertext);
- }
-
- XAccessibleText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleText.class, unoObject);
- if (unoAccessibleText != null) {
- return new AccessibleTextImpl(unoAccessibleText);
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return null;
- }
-
- public javax.accessibility.AccessibleHyperlink getLink(int param) {
- try {
- return new Hyperlink(((XAccessibleHypertext) unoObject).getHyperLink(param));
- }
-
- catch(com.sun.star.lang.IndexOutOfBoundsException exception) {
- throw new IndexOutOfBoundsException(exception.getMessage());
- }
- }
-
- public int getLinkCount() {
- try {
- return ((XAccessibleHypertext) unoObject).getHyperLinkCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- public int getLinkIndex(int param) {
- try {
- return ((XAccessibleHypertext) unoObject).getHyperLinkIndex(param);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return -1;
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleIconImpl.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleIconImpl.java
deleted file mode 100644
index 8e1239272ac4..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleIconImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.XAccessibleImage;
-
-/**
- */
-public class AccessibleIconImpl implements javax.accessibility.AccessibleIcon {
-
- XAccessibleImage unoAccessibleImage;
-
- public AccessibleIconImpl(XAccessibleImage xImage) {
- unoAccessibleImage = xImage;
- }
-
- /** Gets the description of the icon */
- public String getAccessibleIconDescription() {
- try {
- return unoAccessibleImage.getAccessibleImageDescription();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the height of the icon */
- public int getAccessibleIconHeight() {
- try {
- return unoAccessibleImage.getAccessibleImageHeight();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Gets the width of the icon */
- public int getAccessibleIconWidth() {
- try {
- return unoAccessibleImage.getAccessibleImageWidth();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Sets the description of the icon */
- public void setAccessibleIconDescription(String s) {
- // Not supported
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleKeyBinding.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleKeyBinding.java
deleted file mode 100644
index 560f5f8dacd4..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleKeyBinding.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.awt.KeyStroke;
-
-/**
- *
- */
-public class AccessibleKeyBinding extends Object implements javax.accessibility.AccessibleKeyBinding {
-
- XAccessibleKeyBinding unoAccessibleKeybinding;
-
- public AccessibleKeyBinding(XAccessibleKeyBinding unoKB) {
- unoAccessibleKeybinding = unoKB;
- }
-
- public static int convertModifiers(short s) {
- int modifiers = 0;
- if ((s & com.sun.star.awt.KeyModifier.SHIFT) != 0) {
- modifiers = modifiers | java.awt.event.KeyEvent.SHIFT_DOWN_MASK;
- }
-
- if ((s & com.sun.star.awt.KeyModifier.MOD1) != 0) {
- modifiers = modifiers | java.awt.event.KeyEvent.CTRL_DOWN_MASK;
- }
-
- if ((s & com.sun.star.awt.KeyModifier.MOD2) != 0) {
- modifiers = modifiers | java.awt.event.KeyEvent.ALT_DOWN_MASK;
- }
-
- if ((s & com.sun.star.awt.KeyModifier.MOD3) != 0) {
- modifiers = modifiers | java.awt.event.KeyEvent.META_DOWN_MASK;
- }
-
- return modifiers;
- }
-
- public static int convertKeyCode(short s) {
- int keycode = java.awt.event.KeyEvent.VK_UNDEFINED;
-
- switch(s) {
- case com.sun.star.awt.Key.NUM0:
- keycode = java.awt.event.KeyEvent.VK_0;
- break;
- case com.sun.star.awt.Key.NUM1:
- keycode = java.awt.event.KeyEvent.VK_1;
- break;
- case com.sun.star.awt.Key.NUM2:
- keycode = java.awt.event.KeyEvent.VK_2;
- break;
- case com.sun.star.awt.Key.NUM3:
- keycode = java.awt.event.KeyEvent.VK_3;
- break;
- case com.sun.star.awt.Key.NUM4:
- keycode = java.awt.event.KeyEvent.VK_4;
- break;
- case com.sun.star.awt.Key.NUM5:
- keycode = java.awt.event.KeyEvent.VK_5;
- break;
- case com.sun.star.awt.Key.NUM6:
- keycode = java.awt.event.KeyEvent.VK_6;
- break;
- case com.sun.star.awt.Key.NUM7:
- keycode = java.awt.event.KeyEvent.VK_7;
- break;
- case com.sun.star.awt.Key.NUM8:
- keycode = java.awt.event.KeyEvent.VK_8;
- break;
- case com.sun.star.awt.Key.NUM9:
- keycode = java.awt.event.KeyEvent.VK_9;
- break;
- case com.sun.star.awt.Key.A:
- keycode = java.awt.event.KeyEvent.VK_A;
- break;
- case com.sun.star.awt.Key.B:
- keycode = java.awt.event.KeyEvent.VK_B;
- break;
- case com.sun.star.awt.Key.C:
- keycode = java.awt.event.KeyEvent.VK_C;
- break;
- case com.sun.star.awt.Key.D:
- keycode = java.awt.event.KeyEvent.VK_D;
- break;
- case com.sun.star.awt.Key.E:
- keycode = java.awt.event.KeyEvent.VK_E;
- break;
- case com.sun.star.awt.Key.F:
- keycode = java.awt.event.KeyEvent.VK_F;
- break;
- case com.sun.star.awt.Key.G:
- keycode = java.awt.event.KeyEvent.VK_G;
- break;
- case com.sun.star.awt.Key.H:
- keycode = java.awt.event.KeyEvent.VK_H;
- break;
- case com.sun.star.awt.Key.I:
- keycode = java.awt.event.KeyEvent.VK_I;
- break;
- case com.sun.star.awt.Key.J:
- keycode = java.awt.event.KeyEvent.VK_J;
- break;
- case com.sun.star.awt.Key.K:
- keycode = java.awt.event.KeyEvent.VK_K;
- break;
- case com.sun.star.awt.Key.L:
- keycode = java.awt.event.KeyEvent.VK_L;
- break;
- case com.sun.star.awt.Key.M:
- keycode = java.awt.event.KeyEvent.VK_M;
- break;
- case com.sun.star.awt.Key.N:
- keycode = java.awt.event.KeyEvent.VK_N;
- break;
- case com.sun.star.awt.Key.O:
- keycode = java.awt.event.KeyEvent.VK_O;
- break;
- case com.sun.star.awt.Key.P:
- keycode = java.awt.event.KeyEvent.VK_P;
- break;
- case com.sun.star.awt.Key.Q:
- keycode = java.awt.event.KeyEvent.VK_Q;
- break;
- case com.sun.star.awt.Key.R:
- keycode = java.awt.event.KeyEvent.VK_R;
- break;
- case com.sun.star.awt.Key.S:
- keycode = java.awt.event.KeyEvent.VK_S;
- break;
- case com.sun.star.awt.Key.T:
- keycode = java.awt.event.KeyEvent.VK_T;
- break;
- case com.sun.star.awt.Key.U:
- keycode = java.awt.event.KeyEvent.VK_U;
- break;
- case com.sun.star.awt.Key.V:
- keycode = java.awt.event.KeyEvent.VK_V;
- break;
- case com.sun.star.awt.Key.W:
- keycode = java.awt.event.KeyEvent.VK_W;
- break;
- case com.sun.star.awt.Key.X:
- keycode = java.awt.event.KeyEvent.VK_X;
- break;
- case com.sun.star.awt.Key.Y:
- keycode = java.awt.event.KeyEvent.VK_Y;
- break;
- case com.sun.star.awt.Key.Z:
- keycode = java.awt.event.KeyEvent.VK_Z;
- break;
- case com.sun.star.awt.Key.F1:
- keycode = java.awt.event.KeyEvent.VK_F1;
- break;
- case com.sun.star.awt.Key.F2:
- keycode = java.awt.event.KeyEvent.VK_F2;
- break;
- case com.sun.star.awt.Key.F3:
- keycode = java.awt.event.KeyEvent.VK_F3;
- break;
- case com.sun.star.awt.Key.F4:
- keycode = java.awt.event.KeyEvent.VK_F4;
- break;
- case com.sun.star.awt.Key.F5:
- keycode = java.awt.event.KeyEvent.VK_F5;
- break;
- case com.sun.star.awt.Key.F6:
- keycode = java.awt.event.KeyEvent.VK_F6;
- break;
- case com.sun.star.awt.Key.F7:
- keycode = java.awt.event.KeyEvent.VK_F7;
- break;
- case com.sun.star.awt.Key.F8:
- keycode = java.awt.event.KeyEvent.VK_F8;
- break;
- case com.sun.star.awt.Key.F9:
- keycode = java.awt.event.KeyEvent.VK_F9;
- break;
- case com.sun.star.awt.Key.F10:
- keycode = java.awt.event.KeyEvent.VK_F10;
- break;
- case com.sun.star.awt.Key.F11:
- keycode = java.awt.event.KeyEvent.VK_F11;
- break;
- case com.sun.star.awt.Key.F12:
- keycode = java.awt.event.KeyEvent.VK_F12;
- break;
- case com.sun.star.awt.Key.F13:
- keycode = java.awt.event.KeyEvent.VK_F13;
- break;
- case com.sun.star.awt.Key.F14:
- keycode = java.awt.event.KeyEvent.VK_F14;
- break;
- case com.sun.star.awt.Key.F15:
- keycode = java.awt.event.KeyEvent.VK_F15;
- break;
- case com.sun.star.awt.Key.F16:
- keycode = java.awt.event.KeyEvent.VK_F16;
- break;
- case com.sun.star.awt.Key.F17:
- keycode = java.awt.event.KeyEvent.VK_F17;
- break;
- case com.sun.star.awt.Key.F18:
- keycode = java.awt.event.KeyEvent.VK_F18;
- break;
- case com.sun.star.awt.Key.F19:
- keycode = java.awt.event.KeyEvent.VK_F19;
- break;
- case com.sun.star.awt.Key.F20:
- keycode = java.awt.event.KeyEvent.VK_F20;
- break;
- case com.sun.star.awt.Key.F21:
- keycode = java.awt.event.KeyEvent.VK_F21;
- break;
- case com.sun.star.awt.Key.F22:
- keycode = java.awt.event.KeyEvent.VK_F22;
- break;
- case com.sun.star.awt.Key.F23:
- keycode = java.awt.event.KeyEvent.VK_F23;
- break;
- case com.sun.star.awt.Key.F24:
- keycode = java.awt.event.KeyEvent.VK_F24;
- break;
- case com.sun.star.awt.Key.DOWN:
- keycode = java.awt.event.KeyEvent.VK_DOWN;
- break;
- case com.sun.star.awt.Key.UP:
- keycode = java.awt.event.KeyEvent.VK_UP;
- break;
- case com.sun.star.awt.Key.LEFT:
- keycode = java.awt.event.KeyEvent.VK_LEFT;
- break;
- case com.sun.star.awt.Key.RIGHT:
- keycode = java.awt.event.KeyEvent.VK_RIGHT;
- break;
- case com.sun.star.awt.Key.HOME:
- keycode = java.awt.event.KeyEvent.VK_HOME;
- break;
- case com.sun.star.awt.Key.END:
- keycode = java.awt.event.KeyEvent.VK_END;
- break;
- case com.sun.star.awt.Key.PAGEUP:
- keycode = java.awt.event.KeyEvent.VK_PAGE_UP;
- break;
- case com.sun.star.awt.Key.PAGEDOWN:
- keycode = java.awt.event.KeyEvent.VK_PAGE_DOWN;
- break;
- case com.sun.star.awt.Key.RETURN:
- keycode = java.awt.event.KeyEvent.VK_ENTER;
- break;
- case com.sun.star.awt.Key.ESCAPE:
- keycode = java.awt.event.KeyEvent.VK_ESCAPE;
- break;
- case com.sun.star.awt.Key.TAB:
- keycode = java.awt.event.KeyEvent.VK_TAB;
- break;
- case com.sun.star.awt.Key.BACKSPACE:
- keycode = java.awt.event.KeyEvent.VK_BACK_SPACE;
- break;
- case com.sun.star.awt.Key.SPACE:
- keycode = java.awt.event.KeyEvent.VK_SPACE;
- break;
- case com.sun.star.awt.Key.INSERT:
- keycode = java.awt.event.KeyEvent.VK_INSERT;
- break;
- case com.sun.star.awt.Key.DELETE:
- keycode = java.awt.event.KeyEvent.VK_DELETE;
- break;
- case com.sun.star.awt.Key.ADD:
- keycode = java.awt.event.KeyEvent.VK_ADD;
- break;
- case com.sun.star.awt.Key.SUBTRACT:
- keycode = java.awt.event.KeyEvent.VK_SUBTRACT;
- break;
- case com.sun.star.awt.Key.MULTIPLY:
- keycode = java.awt.event.KeyEvent.VK_MULTIPLY;
- break;
- case com.sun.star.awt.Key.DIVIDE:
- keycode = java.awt.event.KeyEvent.VK_DIVIDE;
- break;
- case com.sun.star.awt.Key.POINT:
- keycode = java.awt.event.KeyEvent.VK_PERIOD;
- break;
- case com.sun.star.awt.Key.COMMA:
- keycode = java.awt.event.KeyEvent.VK_COMMA;
- break;
- case com.sun.star.awt.Key.LESS:
- keycode = java.awt.event.KeyEvent.VK_LESS;
- break;
- case com.sun.star.awt.Key.GREATER:
- keycode = java.awt.event.KeyEvent.VK_GREATER;
- break;
- case com.sun.star.awt.Key.EQUAL:
- keycode = java.awt.event.KeyEvent.VK_EQUALS;
- break;
- case com.sun.star.awt.Key.CUT:
- keycode = java.awt.event.KeyEvent.VK_CUT;
- break;
- case com.sun.star.awt.Key.COPY:
- keycode = java.awt.event.KeyEvent.VK_COPY;
- break;
- case com.sun.star.awt.Key.PASTE:
- keycode = java.awt.event.KeyEvent.VK_PASTE;
- break;
- case com.sun.star.awt.Key.UNDO:
- keycode = java.awt.event.KeyEvent.VK_UNDO;
- break;
- case com.sun.star.awt.Key.FIND:
- keycode = java.awt.event.KeyEvent.VK_FIND;
- break;
- case com.sun.star.awt.Key.PROPERTIES:
- keycode = java.awt.event.KeyEvent.VK_PROPS;
- break;
- case com.sun.star.awt.Key.HELP:
- keycode = java.awt.event.KeyEvent.VK_HELP;
- break;
- default:
- }
- return keycode;
- }
-
- /*
- * AccessibleKeyBinding
- */
-
- /** Returns a key binding for this object */
- public Object getAccessibleKeyBinding(int i) {
- try {
- KeyStroke[] keys = unoAccessibleKeybinding.getAccessibleKeyBinding(i);
- javax.swing.KeyStroke[] data = new javax.swing.KeyStroke[keys.length];
- for (int j=0; j < keys.length; j++) {
- int keyCode = convertKeyCode(keys[j].KeyCode);
- if (keyCode != java.awt.event.KeyEvent.VK_UNDEFINED) {
- data[j] = javax.swing.KeyStroke.getKeyStroke(keyCode, convertModifiers(keys[j].Modifiers));
- } else {
- data[j] = null;
- }
- }
-
- if (keys.length == 1) {
- return data[0];
- } else {
- return data;
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns the number of key bindings for this object */
- public int getAccessibleKeyBindingCount() {
- try {
- return unoAccessibleKeybinding.getAccessibleKeyBindingCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java
deleted file mode 100644
index 4023ee9b2c4a..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleObjectFactory.java
+++ /dev/null
@@ -1,534 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import java.awt.Component;
-import java.awt.EventQueue;
-import java.lang.ref.WeakReference;
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-import org.openoffice.java.accessibility.logging.XAccessibleEventLog;
-
-/**
-*/
-public class AccessibleObjectFactory {
- // This type is needed for conversions from/to uno Any
- public static final Type XAccessibleType = new Type(XAccessible.class);
-
- private static java.util.HashMap<String, WeakReference<Component>> objectList = new java.util.HashMap<String, WeakReference<Component>>();
- private static java.awt.FocusTraversalPolicy focusTraversalPolicy = new FocusTraversalPolicy();
-
- private static java.awt.EventQueue theEventQueue = java.awt.Toolkit.getDefaultToolkit().
- getSystemEventQueue();
-
- public static java.awt.EventQueue getEventQueue() {
- return theEventQueue;
- }
-
- public static void postFocusGained(java.awt.Component c) {
- getEventQueue().postEvent(new java.awt.event.FocusEvent(c, java.awt.event.FocusEvent.FOCUS_GAINED));
- }
-
- public static void postWindowGainedFocus(java.awt.Window w) {
- postWindowEvent(w, java.awt.event.WindowEvent.WINDOW_GAINED_FOCUS);
- }
-
- public static void postWindowLostFocus(java.awt.Window w) {
- postWindowEvent(w, java.awt.event.WindowEvent.WINDOW_LOST_FOCUS);
- }
-
- public static void postWindowActivated(java.awt.Window w) {
- postWindowEvent(w, java.awt.event.WindowEvent.WINDOW_ACTIVATED);
- }
-
- public static void postWindowDeactivated(java.awt.Window w) {
- postWindowEvent(w, java.awt.event.WindowEvent.WINDOW_DEACTIVATED);
- }
-
- public static void postWindowOpened(java.awt.Window w) {
- postWindowEvent(w, java.awt.event.WindowEvent.WINDOW_OPENED);
- }
-
- public static void postWindowClosed(java.awt.Window w) {
- postWindowEvent(w, java.awt.event.WindowEvent.WINDOW_CLOSED);
- }
-
- public static void invokeAndWait() {
- try {
- EventQueue.invokeAndWait( new java.lang.Runnable () {
- public void run() {
- }
- });
- } catch (java.lang.reflect.InvocationTargetException e) {
- } catch (java.lang.InterruptedException e) {
- }
- }
-
- private static void postWindowEvent(java.awt.Window w, int i) {
- theEventQueue.postEvent(new java.awt.event.WindowEvent(w, i));
- }
-
- public static java.awt.Component getAccessibleComponent(XAccessible xAccessible) {
- java.awt.Component c = null;
- if (xAccessible != null) {
- // Retrieve unique id for the original UNO object to be used as a hash key
- String oid = UnoRuntime.generateOid(xAccessible);
-
- // Check if we already have a wrapper object for this context
- synchronized (objectList) {
- WeakReference<java.awt.Component> r = objectList.get(oid);
- if(r != null) {
- c = r.get();
- }
- }
- }
- return c;
- }
-
- public static void addChild(java.awt.Container parent, Object any) {
- try {
- addChild(parent, (XAccessible) AnyConverter.toObject(XAccessibleType, any));
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- System.err.println(e.getClass().getName() + " caught: " + e.getMessage());
- }
- }
-
- public static void addChild(java.awt.Container parent, XAccessible child) {
- try {
- if (child != null) {
- XAccessibleContext childAC = child.getAccessibleContext();
- if (childAC != null) {
- XAccessibleStateSet stateSet = childAC.getAccessibleStateSet();
- if (stateSet != null) {
- java.awt.Component c = getAccessibleComponent(child);
-
- // Re-use existing wrapper if possible, create a new one otherwise
- if (c != null) {
- // Seems to be already in child list
- if (parent.equals(c.getParent()))
- return;
- // Update general component states
- c.setEnabled(stateSet.contains(AccessibleStateType.ENABLED));
- c.setVisible(stateSet.contains(AccessibleStateType.VISIBLE));
- } else {
- c = createAccessibleComponentImpl(child, childAC, stateSet);
- }
-
- if (c != null) {
- if (c instanceof java.awt.Container) {
- populateContainer((java.awt.Container) c, childAC);
- }
- parent.add(c);
- // Simulate focus gained event for new child
- if (stateSet.contains(AccessibleStateType.FOCUSED)) {
- postFocusGained(c);
- }
- }
- }
- }
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- System.err.println(e.getClass().getName() + " caught: " + e.getMessage());
- e.printStackTrace();
- }
- }
-
- protected static void removeChild(java.awt.Container parent, Object any) {
- try {
- XAccessible xAccessible = (XAccessible) AnyConverter.toObject(XAccessibleType, any);
- java.awt.Component c = getAccessibleComponent(xAccessible);
-
- if (c != null) {
- parent.remove(c);
-
- if (c instanceof java.awt.Container) {
- clearContainer((java.awt.Container) c);
- }
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- System.err.println(e.getClass().getName() + " caught: " + e.getMessage());
- }
- }
-
-
- /**
- * Removes all children from the container parent
- */
-
- protected static void clearContainer(java.awt.Container parent) {
- // Purge all children from this container
- int count = parent.getComponentCount();
- for (int i = 0; i < count; i++) {
- java.awt.Component c = parent.getComponent(i);
- if (c instanceof java.awt.Container) {
- clearContainer((java.awt.Container) c);
- }
- }
- parent.removeAll();
- }
-
-
- /**
- * Populates the given Container parent with wrapper objects for all children of parentAC. This method is
- * intended to be called when a container is added using a CHILDREN_CHANGED event.
- */
-
- protected static void populateContainer(java.awt.Container parent, XAccessibleContext parentAC) {
- if (parentAC != null) {
- try {
- int childCount = parentAC.getAccessibleChildCount();
- for (int i=0; i<childCount; i++) {
- addChild(parent, parentAC.getAccessibleChild(i));
- }
- } catch (java.lang.Exception e) {
- System.err.println(e.getClass().getName() + " caught: " + e.getMessage());
- e.printStackTrace();
- }
- }
- }
-
- /**
- * Populates the given Container parent with wrapper objects for all children of parentAC. This method is
- * intended to be called when a new window has been opened.
- */
- protected static void populateContainer(java.awt.Container parent, XAccessibleContext parentAC, java.awt.Window frame) {
- if (parentAC != null) {
- try {
- int childCount = parentAC.getAccessibleChildCount();
- for (int i=0; i<childCount; i++) {
- XAccessible child = parentAC.getAccessibleChild(i);
- if (child != null) {
- XAccessibleContext childAC = child.getAccessibleContext();
- java.awt.Component c = createAccessibleComponent(child, childAC, frame);
- if (c != null) {
- if (c instanceof java.awt.Container) {
- populateContainer((java.awt.Container) c, childAC, frame);
- }
- parent.add(c);
- }
- } else if (Build.DEBUG) {
- System.err.println("ignoring not accessible child " + i);
- }
- }
- }
-
- catch (java.lang.Exception e) {
- System.err.println(e.getClass().getName() + " caught: " + e.getMessage());
- e.printStackTrace();
- }
- }
- }
-
- protected static java.awt.Component createAccessibleComponent(XAccessible xAccessible) {
- try {
- XAccessibleContext xAccessibleContext = xAccessible.getAccessibleContext();
- if (xAccessibleContext != null) {
- return createAccessibleComponentImpl(xAccessible, xAccessibleContext, xAccessibleContext.getAccessibleStateSet());
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- System.err.println(e.getClass().getName() + " caught: " + e.getMessage());
- e.printStackTrace();
- }
- return null;
- }
-
- protected static java.awt.Component createAccessibleComponent(XAccessible xAccessible, XAccessibleContext xAccessibleContext,
- java.awt.Window frame) {
- if (xAccessibleContext != null) {
- try {
- XAccessibleStateSet xAccessibleStateSet = xAccessibleContext.getAccessibleStateSet();
- java.awt.Component c = createAccessibleComponentImpl(xAccessible, xAccessibleContext, xAccessibleStateSet);
- if (c != null) {
- // Set this component as initial component
- if (xAccessibleStateSet.contains(AccessibleStateType.FOCUSED)) {
- if (frame instanceof NativeFrame) {
- ((NativeFrame) frame).setInitialComponent(c);
- }
- }
- return c;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- System.err.println(e.getClass().getName() + " caught: " + e.getMessage());
- e.printStackTrace();
- }
- }
- return null;
- }
-
- protected static java.awt.Component createAccessibleComponentImpl(XAccessible xAccessible, XAccessibleContext xAccessibleContext,
- XAccessibleStateSet xAccessibleStateSet) {
- java.awt.Component c = null;
- short role = xAccessibleContext.getAccessibleRole();
- switch (role) {
- case AccessibleRole.CANVAS:
- c = new Container(javax.accessibility.AccessibleRole.CANVAS,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.CHECK_BOX:
- c = new CheckBox(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.COMBO_BOX:
- c = new ComboBox(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.DOCUMENT:
- c = new Container(javax.accessibility.AccessibleRole.CANVAS,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.EMBEDDED_OBJECT:
- c = new Container(javax.accessibility.AccessibleRole.PANEL,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.END_NOTE:
- c = new Container(javax.accessibility.AccessibleRole.PANEL,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.FILLER:
- c = new Container(javax.accessibility.AccessibleRole.FILLER,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.FOOTNOTE:
- c = new Container(javax.accessibility.AccessibleRole.PANEL,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.FOOTER:
- c = new Container(javax.accessibility.AccessibleRole.PANEL,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.GRAPHIC:
- c = new Container(javax.accessibility.AccessibleRole.PANEL,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.HEADER:
- c = new Container(javax.accessibility.AccessibleRole.PANEL,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.ICON:
- c = new Icon(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.LABEL:
- c = new Label(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.LAYERED_PANE:
- c = new Container(javax.accessibility.AccessibleRole.LAYERED_PANE,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.LIST:
- if (xAccessibleStateSet.contains(AccessibleStateType.MANAGES_DESCENDANTS)) {
- c = new List(xAccessible, xAccessibleContext);
- } else {
- c = new Container(javax.accessibility.AccessibleRole.LIST,
- xAccessible, xAccessibleContext);
- }
- break;
- case AccessibleRole.MENU:
- c = new Menu(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.MENU_BAR:
- c = new MenuContainer(javax.accessibility.AccessibleRole.MENU_BAR, xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.MENU_ITEM:
- c = new MenuItem(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.POPUP_MENU:
- c = new MenuContainer(javax.accessibility.AccessibleRole.POPUP_MENU, xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.OPTION_PANE:
- c = new Container(javax.accessibility.AccessibleRole.OPTION_PANE,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.PAGE_TAB:
- c = new Container(javax.accessibility.AccessibleRole.PAGE_TAB, xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.PAGE_TAB_LIST:
- c = new Container(javax.accessibility.AccessibleRole.PAGE_TAB_LIST, xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.PARAGRAPH:
- case AccessibleRole.HEADING:
- c = new Paragraph(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.PANEL:
- c = new Container(javax.accessibility.AccessibleRole.PANEL,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.PUSH_BUTTON:
- c = new Button(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.RADIO_BUTTON:
- c = new RadioButton(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.ROOT_PANE:
- c = new Container(javax.accessibility.AccessibleRole.ROOT_PANE,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.SCROLL_BAR:
- c = new ScrollBar(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.SCROLL_PANE:
- c = new Container(javax.accessibility.AccessibleRole.SCROLL_PANE,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.SEPARATOR:
- c = new Separator(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.SHAPE:
- c = new Container(javax.accessibility.AccessibleRole.CANVAS,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.SPLIT_PANE:
- c = new Container(javax.accessibility.AccessibleRole.SPLIT_PANE,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.STATUS_BAR:
- c = new Container(javax.accessibility.AccessibleRole.STATUS_BAR,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.COLUMN_HEADER:
- case AccessibleRole.TABLE:
- if (xAccessibleStateSet.contains(AccessibleStateType.MANAGES_DESCENDANTS)) {
- c = new Table(xAccessible, xAccessibleContext,
- xAccessibleStateSet.contains(AccessibleStateType.MULTI_SELECTABLE));
- } else {
- c = new Container(javax.accessibility.AccessibleRole.TABLE,
- xAccessible, xAccessibleContext);
- }
- break;
- case AccessibleRole.TABLE_CELL:
- if( xAccessibleContext.getAccessibleChildCount() > 0 )
- c = new Container(javax.accessibility.AccessibleRole.PANEL,
- xAccessible, xAccessibleContext);
- else
- c = new Label(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.TEXT:
- c = new TextComponent(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.TEXT_FRAME:
- c = new Container(javax.accessibility.AccessibleRole.PANEL,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.TOGGLE_BUTTON:
- c = new ToggleButton(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.TOOL_BAR:
- c = new Container(javax.accessibility.AccessibleRole.TOOL_BAR,
- xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.TOOL_TIP:
- c = new ToolTip(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.TREE:
- c = new Tree(xAccessible, xAccessibleContext);
- break;
- case AccessibleRole.VIEW_PORT:
- c = new Container(javax.accessibility.AccessibleRole.VIEWPORT,
- xAccessible, xAccessibleContext);
- break;
- default:
- System.err.println("Unmapped accessible object " + role);
- System.err.println("usually mapped to " + AccessibleRoleAdapter.getAccessibleRole(role));
- c = new Container(AccessibleRoleAdapter.getAccessibleRole(role),
- xAccessible, xAccessibleContext);
- break;
- }
- if (c != null) {
- // Add the newly created object to the cache list
- synchronized (objectList) {
- objectList.put(c.toString(), new WeakReference<Component>(c));
- if (Build.DEBUG) {
-// System.out.println("Object cache now contains " + objectList.size() + " objects.");
- }
- }
-
- AccessibleStateAdapter.setComponentState(c, xAccessibleStateSet);
-
- if (! Build.PRODUCT) {
- String property = System.getProperty("AccessBridgeLogging");
- if ((property != null) && (property.indexOf("event") != -1)) {
- XAccessibleEventLog.addEventListener(xAccessibleContext, c);
- }
- }
- }
-
- return c;
- }
-
- protected static void disposing(java.awt.Component c) {
- if (c != null) {
- synchronized (objectList) {
- objectList.remove(c.toString());
- }
- }
- }
-
- public static java.awt.Window getTopWindow(XAccessible xAccessible) {
- XAccessibleContext xAccessibleContext = xAccessible.getAccessibleContext();
-
- if (xAccessibleContext != null) {
- short role = xAccessibleContext.getAccessibleRole();
- XAccessibleStateSet xAccessibleStateSet = xAccessibleContext.getAccessibleStateSet();
- XAccessibleComponent xAccessibleComponent = UnoRuntime.queryInterface(XAccessibleComponent.class, xAccessibleContext);
-
- java.awt.Window w;
- if (role == AccessibleRole.DIALOG) {
- w = new Dialog(new Application(),
- xAccessibleContext.getAccessibleName(),
- xAccessibleStateSet.contains(AccessibleStateType.MODAL),
- xAccessibleComponent);
- } else if (role == AccessibleRole.ALERT) {
- w = new Alert(new Application(),
- xAccessibleContext.getAccessibleName(),
- xAccessibleStateSet.contains(AccessibleStateType.MODAL),
- xAccessibleComponent);
- } else if (role == AccessibleRole.FRAME) {
- w = new Frame(xAccessibleContext.getAccessibleName(),
- xAccessibleComponent);
- } else if (role == AccessibleRole.WINDOW) {
- java.awt.Window activeWindow =
- java.awt.KeyboardFocusManager.getCurrentKeyboardFocusManager().getActiveWindow();
- if (activeWindow != null) {
- w = new Window(activeWindow, xAccessibleComponent);
- } else {
- if (Build.DEBUG) {
- System.err.println("no active frame found for Window: " + role);
- }
- return null;
- }
- } else {
- if (Build.DEBUG) {
- System.err.println("invalid role for toplevel window: " + role);
- }
- return null;
- }
- populateContainer(w, xAccessibleContext, w);
- w.setFocusTraversalPolicy(focusTraversalPolicy);
- w.setVisible(true);
-
- // Make the new window the focused one if it has an initialy focused object set.
- java.awt.Component c = ((NativeFrame) w).getInitialComponent();
- if (c != null) {
- postWindowGainedFocus(w);
- }
- return w;
- }
-
- return null;
- }
-}
-
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleRoleAdapter.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleRoleAdapter.java
deleted file mode 100644
index b0b7ea45c9c9..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleRoleAdapter.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.XAccessible;
-import com.sun.star.accessibility.XAccessibleContext;
-
-/** This class maps the AccessibleRole(s) of the UNO accessibility API
- * to the corresponding javax.accessibility objects.
- */
-public abstract class AccessibleRoleAdapter {
-
- /* This array is used as a mapping between the UNO AccessibleRole
- * and the AccessibleRole objects of the Java accessibility API.
- */
- public static final javax.accessibility.AccessibleRole[] data = {
- javax.accessibility.AccessibleRole.UNKNOWN,
- javax.accessibility.AccessibleRole.ALERT,
- javax.accessibility.AccessibleRole.COLUMN_HEADER,
- javax.accessibility.AccessibleRole.CANVAS,
- javax.accessibility.AccessibleRole.CHECK_BOX,
- javax.accessibility.AccessibleRole.CHECK_BOX, // CHECK_MENU_ITEM
- javax.accessibility.AccessibleRole.COLOR_CHOOSER,
- javax.accessibility.AccessibleRole.COMBO_BOX,
- javax.accessibility.AccessibleRole.DATE_EDITOR,
- javax.accessibility.AccessibleRole.DESKTOP_ICON,
- javax.accessibility.AccessibleRole.DESKTOP_PANE,
- javax.accessibility.AccessibleRole.DIRECTORY_PANE,
- javax.accessibility.AccessibleRole.DIALOG,
- javax.accessibility.AccessibleRole.CANVAS, // DOCUMENT
- javax.accessibility.AccessibleRole.PANEL, // EMBEDDED_OBJECT
- javax.accessibility.AccessibleRole.PANEL, // ENDNOTE
- javax.accessibility.AccessibleRole.FILE_CHOOSER,
- javax.accessibility.AccessibleRole.FILLER,
- javax.accessibility.AccessibleRole.FONT_CHOOSER,
- javax.accessibility.AccessibleRole.FOOTER,
- javax.accessibility.AccessibleRole.PANEL, // FOOTNOTE
- javax.accessibility.AccessibleRole.FRAME,
- javax.accessibility.AccessibleRole.GLASS_PANE,
- javax.accessibility.AccessibleRole.PANEL, // GRAPHIC
- javax.accessibility.AccessibleRole.GROUP_BOX,
- javax.accessibility.AccessibleRole.HEADER,
- javax.accessibility.AccessibleRole.TEXT, // HEADING
- javax.accessibility.AccessibleRole.HYPERLINK,
- javax.accessibility.AccessibleRole.ICON,
- javax.accessibility.AccessibleRole.INTERNAL_FRAME,
- javax.accessibility.AccessibleRole.LABEL,
- javax.accessibility.AccessibleRole.LAYERED_PANE,
- javax.accessibility.AccessibleRole.LIST,
- javax.accessibility.AccessibleRole.LABEL, // LIST_ITEM - required by Zoomtext
- javax.accessibility.AccessibleRole.MENU,
- javax.accessibility.AccessibleRole.MENU_BAR,
- javax.accessibility.AccessibleRole.MENU_ITEM,
- javax.accessibility.AccessibleRole.OPTION_PANE,
- javax.accessibility.AccessibleRole.PAGE_TAB,
- javax.accessibility.AccessibleRole.PAGE_TAB_LIST,
- javax.accessibility.AccessibleRole.PANEL,
- javax.accessibility.AccessibleRole.PARAGRAPH,
- javax.accessibility.AccessibleRole.PASSWORD_TEXT,
- javax.accessibility.AccessibleRole.POPUP_MENU,
- javax.accessibility.AccessibleRole.PUSH_BUTTON,
- javax.accessibility.AccessibleRole.PROGRESS_BAR,
- javax.accessibility.AccessibleRole.RADIO_BUTTON,
- javax.accessibility.AccessibleRole.RADIO_BUTTON, // RADIO_MENU_ITEM
- javax.accessibility.AccessibleRole.ROW_HEADER,
- javax.accessibility.AccessibleRole.ROOT_PANE,
- javax.accessibility.AccessibleRole.SCROLL_BAR,
- javax.accessibility.AccessibleRole.SCROLL_PANE,
- javax.accessibility.AccessibleRole.CANVAS, // SHAPE
- javax.accessibility.AccessibleRole.SEPARATOR,
- javax.accessibility.AccessibleRole.SLIDER,
- javax.accessibility.AccessibleRole.SPIN_BOX,
- javax.accessibility.AccessibleRole.SPLIT_PANE,
- javax.accessibility.AccessibleRole.STATUS_BAR,
- javax.accessibility.AccessibleRole.TABLE,
- javax.accessibility.AccessibleRole.LABEL, // TABLE_CELL - required by ZoomText
- javax.accessibility.AccessibleRole.TEXT,
- javax.accessibility.AccessibleRole.PANEL, // TEXT_FRAME
- javax.accessibility.AccessibleRole.TOGGLE_BUTTON,
- javax.accessibility.AccessibleRole.TOOL_BAR,
- javax.accessibility.AccessibleRole.TOOL_TIP,
- javax.accessibility.AccessibleRole.TREE,
- javax.accessibility.AccessibleRole.VIEWPORT,
- javax.accessibility.AccessibleRole.WINDOW,
- javax.accessibility.AccessibleRole.RADIO_BUTTON, // BUTTON_DROPDOWN
- javax.accessibility.AccessibleRole.RADIO_BUTTON, // BUTTON_MENU
- javax.accessibility.AccessibleRole.PANEL, // CAPTION
- javax.accessibility.AccessibleRole.PANEL, // CHART
- javax.accessibility.AccessibleRole.EDITBAR,
- javax.accessibility.AccessibleRole.PANEL, // FORM
- javax.accessibility.AccessibleRole.PANEL, // IMAGE_MAP
- javax.accessibility.AccessibleRole.PANEL, // NOTE
- javax.accessibility.AccessibleRole.PANEL, // PAGE
- javax.accessibility.AccessibleRole.RULER,
- javax.accessibility.AccessibleRole.PANEL, // SECTION
- javax.accessibility.AccessibleRole.LABEL, // TREE_ITEM
- javax.accessibility.AccessibleRole.TABLE // TREE_TABLE
- };
-
- public static javax.accessibility.AccessibleRole getAccessibleRole(short role) {
- if(role < data.length) {
- if(data[role] == null) {
- System.err.println("Unmapped role: " + role);
- }
- return data[role];
- }
- // FIXME: remove debug out
- System.err.println("Unmappable role: " + role);
- return null;
- }
-
- public static javax.accessibility.AccessibleRole getAccessibleRole(XAccessible unoAccessible) {
- try {
- XAccessibleContext unoAccessibleContext = unoAccessible.getAccessibleContext();
- if (unoAccessibleContext != null) {
- return getAccessibleRole(unoAccessibleContext.getAccessibleRole());
- }
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return javax.accessibility.AccessibleRole.UNKNOWN;
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleSelectionImpl.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleSelectionImpl.java
deleted file mode 100644
index 80d07fd2dcf1..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleSelectionImpl.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-
-class AccessibleSelectionImpl implements javax.accessibility.AccessibleSelection {
- XAccessibleSelection unoAccessibleSelection;
-
- AccessibleSelectionImpl(XAccessibleSelection xAccessibleSelection) {
- unoAccessibleSelection = xAccessibleSelection;
- }
-
- /** Returns an Accessible representing the specified selected child of the object */
- public javax.accessibility.Accessible getAccessibleSelection(int i) {
- try {
- return (javax.accessibility.Accessible) AccessibleObjectFactory.getAccessibleComponent(
- unoAccessibleSelection.getSelectedAccessibleChild(i));
- } catch (com.sun.star.uno.Exception e) {
- return null;
- }
- }
-
- /** Adds the specified Accessible child of the object to the object's selection */
- public void addAccessibleSelection(int i) {
- try {
- unoAccessibleSelection.selectAccessibleChild(i);
- } catch (com.sun.star.uno.Exception e) {
- }
- }
-
- /** Clears the selection in the object, so that no children in the object are selected */
- public void clearAccessibleSelection() {
- try {
- unoAccessibleSelection.clearAccessibleSelection();
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Returns the number of Accessible children currently selected */
- public int getAccessibleSelectionCount() {
- try {
- return unoAccessibleSelection.getSelectedAccessibleChildCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Determines if the current child of this object is selected */
- public boolean isAccessibleChildSelected(int i) {
- try {
- return unoAccessibleSelection.isAccessibleChildSelected(i);
- } catch (com.sun.star.uno.Exception e) {
- return false;
- }
- }
-
- /** Removes the specified child of the object from the object's selection */
- public void removeAccessibleSelection(int i) {
- try {
- unoAccessibleSelection.deselectAccessibleChild(i);
- } catch (com.sun.star.uno.Exception e) {
- }
- }
-
- /** Causes every child of the object to be selected if the object supports multiple selection */
- public void selectAllAccessibleSelection() {
- try {
- unoAccessibleSelection.selectAllAccessibleChildren();
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleStateAdapter.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleStateAdapter.java
deleted file mode 100644
index cd8373fb3d5b..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleStateAdapter.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import javax.accessibility.AccessibleState;
-import javax.accessibility.AccessibleStateSet;
-
-import com.sun.star.uno.AnyConverter;
-import com.sun.star.accessibility.AccessibleStateType;
-import com.sun.star.accessibility.XAccessibleStateSet;
-
-public class AccessibleStateAdapter {
-
- private static final AccessibleState[] stateTypeMap = {
- null,
- AccessibleState.ACTIVE,
- AccessibleState.ARMED,
- AccessibleState.BUSY,
- AccessibleState.CHECKED,
- AccessibleExtendedState.DEFUNCT,
- AccessibleState.EDITABLE,
- AccessibleState.ENABLED,
- AccessibleState.EXPANDABLE,
- AccessibleState.EXPANDED,
- AccessibleState.FOCUSABLE,
- AccessibleState.FOCUSED,
- AccessibleState.HORIZONTAL,
- AccessibleState.ICONIFIED,
- AccessibleExtendedState.INDETERMINATE,
- AccessibleExtendedState.MANAGES_DESCENDANTS,
- AccessibleState.MODAL,
- AccessibleState.MULTI_LINE,
- AccessibleState.MULTISELECTABLE,
- AccessibleState.OPAQUE,
- AccessibleState.PRESSED,
- AccessibleState.RESIZABLE,
- AccessibleState.SELECTABLE,
- AccessibleState.SELECTED,
- AccessibleExtendedState.SENSITIVE,
- AccessibleState.SHOWING,
- AccessibleState.SINGLE_LINE,
- AccessibleExtendedState.STALE,
- AccessibleState.TRANSIENT,
- AccessibleState.VERTICAL,
- AccessibleState.VISIBLE
- };
-
- private static void printToplevelStateMessage(AccessibleState s, java.awt.Component c) {
- System.err.println("*** ERROR *** " + s + " state is a toplevel window state " + c);
- }
-
- private static String getDisplayName(java.awt.Component c) {
- javax.accessibility.Accessible a = (javax.accessibility.Accessible) c;
- if( a != null) {
- javax.accessibility.AccessibleContext ac = a.getAccessibleContext();
- return "[" + ac.getAccessibleRole() + "] " + ac.getAccessibleName();
- } else {
- return c.toString();
- }
- }
-
- private static void printOutOfSyncMessage(AccessibleState s, java.awt.Component c, boolean enabled) {
- System.err.println("*** ERROR *** " + s + " state out of sync (UNO state set: " + !enabled + ", Java component state: " + enabled + ") for " + getDisplayName(c));
- }
-
- public static AccessibleState getAccessibleState(Object any) {
- try {
- if (AnyConverter.isShort(any)) {
- return getAccessibleState(AnyConverter.toShort(any));
- }
- return null;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- return null;
- }
- }
-
- public static AccessibleState getAccessibleState(short unoStateType) {
- if (unoStateType > 0 && unoStateType < stateTypeMap.length) {
- return stateTypeMap[unoStateType];
- }
- return null;
- }
-
- public static AccessibleStateSet getDefunctStateSet() {
- AccessibleStateSet ass = new AccessibleStateSet();
- ass.add(AccessibleExtendedState.DEFUNCT);
- return ass;
- }
-
- public static void setComponentState(java.awt.Component c,
- XAccessibleStateSet xAccessibleStateSet) {
-
- try {
- if (xAccessibleStateSet != null) {
- // Set the boundings of the component if it is visible ..
- if (!xAccessibleStateSet.contains(AccessibleStateType.VISIBLE)) {
- c.setVisible(false);
- }
- // Set the components' enabled state ..
- if (!xAccessibleStateSet.contains(AccessibleStateType.ENABLED)) {
- c.setEnabled(false);
- }
- // Set the components' focusable state ..
- if (!xAccessibleStateSet.contains(AccessibleStateType.FOCUSABLE)) {
- c.setFocusable(false);
- }
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- public static AccessibleStateSet getAccessibleStateSet(java.awt.Component c,
- XAccessibleStateSet xAccessibleStateSet) {
-
- try {
- if (xAccessibleStateSet != null) {
- AccessibleStateSet as = new AccessibleStateSet();
- short[] unoStateTypes = xAccessibleStateSet.getStates();
- for (int i=0; i<unoStateTypes.length; i++) {
- if (unoStateTypes[i] > 0 &&
- unoStateTypes[i] < stateTypeMap.length) {
- as.add(stateTypeMap[unoStateTypes[i]]);
- }
- }
-
- // Note: COLLAPSED does not exists in the UAA.
- if (as.contains(AccessibleState.EXPANDABLE) &&
- ! as.contains(AccessibleState.EXPANDED)) {
- as.add(AccessibleState.COLLAPSED);
- }
-
- // Sync office and Java FOCUSED state
- boolean isFocusInSync;
- if (c.isFocusOwner()) {
- isFocusInSync = !as.add(AccessibleState.FOCUSED);
- } else {
- isFocusInSync = !as.remove(AccessibleState.FOCUSED);
- }
-
- // Sync office and Java ACTIVE state
- boolean isActiveInSync;
- if (c instanceof java.awt.Window && ((java.awt.Window) c).isActive()) {
- isActiveInSync = !as.add(AccessibleState.ACTIVE);
- } else {
- isActiveInSync = !as.remove(AccessibleState.ACTIVE);
- }
-
- // Report out-of-sync messages
- if (!Build.PRODUCT) {
- if (!isFocusInSync) {
- printOutOfSyncMessage(AccessibleState.FOCUSED, c, c.isFocusOwner());
- }
- if (!isActiveInSync) {
- printOutOfSyncMessage(AccessibleState.ACTIVE, c, ((java.awt.Window) c).isActive());
- }
- if (as.contains(AccessibleState.ENABLED) != c.isEnabled()) {
- printOutOfSyncMessage(AccessibleState.ENABLED, c, c.isEnabled());
- }
- if (as.contains(AccessibleState.FOCUSABLE) != c.isFocusable()) {
- printOutOfSyncMessage(AccessibleState.FOCUSABLE, c, c.isFocusable());
- }
- if (as.contains(AccessibleState.SHOWING) != c.isShowing()) {
- printOutOfSyncMessage(AccessibleState.SHOWING, c, c.isShowing());
- }
- if (as.contains(AccessibleState.VISIBLE) != c.isVisible()) {
- printOutOfSyncMessage(AccessibleState.VISIBLE, c, c.isVisible());
- }
-
- // The following states are for toplevel windows only
- if (! (c instanceof java.awt.Window)) {
- if (as.contains(AccessibleState.ACTIVE)) {
- printToplevelStateMessage(AccessibleState.ACTIVE, c);
- }
- if (as.contains(AccessibleState.ICONIFIED)) {
- printToplevelStateMessage(AccessibleState.ICONIFIED, c);
- }
- if (as.contains(AccessibleState.MODAL)) {
- printToplevelStateMessage(AccessibleState.MODAL, c);
- }
- }
- }
- return as;
- }
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return getDefunctStateSet();
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl.java
deleted file mode 100644
index 92c10de8432e..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl.java
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.awt.*;
-import com.sun.star.style.*;
-import com.sun.star.uno.*;
-
-import org.openoffice.java.accessibility.logging.*;
-
-import java.text.BreakIterator;
-import javax.accessibility.AccessibleText;
-
-import javax.swing.text.StyleConstants;
-
-/** The GenericAccessibleEditableText mapps the calls to the java AccessibleEditableText
- * interface to the corresponding methods of the UNO XAccessibleEditableText interface.
- */
-public class AccessibleTextImpl implements javax.accessibility.AccessibleText {
- final static double toPointFactor = 1 / ((7 / 10) + 34.5);
- final static String[] attributeList = {
- "ParaAdjust", "CharBackColor", "CharWeight", "ParaFirstLineIndent",
- "CharFontName", "CharHeight", "CharColor", "CharPosture",
- "ParaLeftMargin", "ParaLineSpacing", "ParaTopMargin", "ParaBottomMargin",
- "CharStrikeout", "CharEscapement", "ParaTabStops", "CharUnderline"
- };
-
- final static String[] localeAttributeList = {
- "CharLocale", "CharLocaleAsian", "CharLocaleComplex"
- };
-
- XAccessibleText unoObject;
- private javax.swing.text.TabSet tabSet = null;
- private javax.swing.text.TabStop[] tabStops = null;
- private static Type TextSegmentType = new Type(TextSegment.class);
- private static Type UnoLocaleType = new Type(com.sun.star.lang.Locale.class);
-
- /** Creates new GenericAccessibleEditableText object */
- public AccessibleTextImpl(XAccessibleText xAccessibleText) {
-
- if (Build.PRODUCT) {
- unoObject = xAccessibleText;
- } else {
- String property = System.getProperty("AccessBridgeLogging");
- if ((property != null) && (property.indexOf("text") != -1)) {
- unoObject = new XAccessibleTextLog(xAccessibleText);
- } else {
- unoObject = xAccessibleText;
- }
- }
- }
-
- public AccessibleTextImpl() {
- }
-
- public static javax.accessibility.AccessibleText get(com.sun.star.uno.XInterface unoObject) {
- try {
- XAccessibleText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleText.class, unoObject);
- if (unoAccessibleText != null) {
- return new AccessibleTextImpl(unoAccessibleText);
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return null;
- }
-
- protected static Object convertTextSegment(Object any) {
- try {
- if (AnyConverter.isObject(any)) {
- TextSegment ts = (TextSegment)
- AnyConverter.toObject(TextSegmentType, any);
- if (ts != null) {
- // Since there is nothing like a "range" object in the JAA yet,
- // the Object[3] is a private negotiation with the JABG
- Object[] array = { new Integer(ts.SegmentStart),
- new Integer(ts.SegmentEnd), ts.SegmentText };
- return array;
- }
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
-
- return null;
- }
-
- /** Returns the locale object.
- *
- * Since switching the UI language only takes effect on the next
- * office start, UI elements can return a cached value here - given
- * that Java UNO initializes the default locale correctly, this is
- * the perfect place to grab this cached values.
- *
- * However, since there are more sophisticated components with
- * potentially more than one locale, we first check for the
- * CharLocale[Asian|Complex] property.
- */
-
- protected java.util.Locale getLocale(int index) {
- try {
- com.sun.star.beans.PropertyValue[] propertyValues =
- unoObject.getCharacterAttributes(index, localeAttributeList);
-
- if (null != propertyValues) {
- for (int i = 0; i < propertyValues.length; i++) {
- com.sun.star.lang.Locale unoLocale = (com.sun.star.lang.Locale)
- AnyConverter.toObject(UnoLocaleType, propertyValues[i]);
- if (unoLocale != null) {
- return new java.util.Locale(unoLocale.Language, unoLocale.Country);
- }
- }
- }
-
- return java.util.Locale.getDefault();
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- return java.util.Locale.getDefault();
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return java.util.Locale.getDefault();
- }
- }
-
-
- /** Returns the string after a given index
- *
- * The Java word iterator has a different understanding of what
- * a word is than the word iterator used by OOo, so we use the
- * Java iterators to ensure maximal compatibility with Java.
- */
- public String getAfterIndex(int part, int index) {
- switch (part) {
- case AccessibleText.CHARACTER:
- try {
- String s = unoObject.getText();
- return s.substring(index+1, index+2);
- } catch (IndexOutOfBoundsException e) {
- return null;
- }
- case AccessibleText.WORD:
- try {
- String s = unoObject.getText();
- BreakIterator words = BreakIterator.getWordInstance(getLocale(index));
- words.setText(s);
- int start = words.following(index);
- if (start == BreakIterator.DONE || start >= s.length()) {
- return null;
- }
- int end = words.following(start);
- if (end == BreakIterator.DONE || end >= s.length()) {
- return null;
- }
- return s.substring(start, end);
- } catch (IllegalArgumentException e) {
- return null;
- } catch (IndexOutOfBoundsException e) {
- return null;
- }
- case AccessibleText.SENTENCE:
- try {
- String s = unoObject.getText();
- BreakIterator sentence =
- BreakIterator.getSentenceInstance(getLocale(index));
- sentence.setText(s);
- int start = sentence.following(index);
- if (start == BreakIterator.DONE || start >= s.length()) {
- return null;
- }
- int end = sentence.following(start);
- if (end == BreakIterator.DONE || end >= s.length()) {
- return null;
- }
- return s.substring(start, end);
- } catch (IllegalArgumentException e) {
- return null;
- } catch (IndexOutOfBoundsException e) {
- return null;
- }
- case 4:
- try {
- TextSegment ts = unoObject.getTextBehindIndex(index, AccessibleTextType.LINE);
- return ts.SegmentText;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- // Workaround for #104847#
- if (index > 0 && getCharCount() == index) {
- return getAfterIndex(part, index - 1);
- }
- return null;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- return null;
- }
- case 5:
- try {
- TextSegment ts = unoObject.getTextBehindIndex(index, AccessibleTextType.ATTRIBUTE_RUN);
- return ts.SegmentText;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- return null;
- }
- default:
- return null;
- }
- }
-
- /** Returns the zero-based offset of the caret */
- public int getCaretPosition() {
- try {
- return unoObject.getCaretPosition();
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- /** Returns the start offset within the selected text */
- public int getSelectionStart() {
- try {
- int index = unoObject.getSelectionStart();
-
- if (index == -1) {
- index = getCaretPosition();
- }
-
- return index;
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- protected void setAttribute(javax.swing.text.MutableAttributeSet as,
- com.sun.star.beans.PropertyValue property) {
- try {
- // Map alignment attribute
- if (property.Name.equals("ParaAdjust")) {
- ParagraphAdjust adjust = null;
-
- if (property.Value instanceof ParagraphAdjust) {
- adjust = (ParagraphAdjust) property.Value;
- } else if (property.Value instanceof Any) {
- adjust = (ParagraphAdjust) AnyConverter.toObject(new Type(
- ParagraphAdjust.class), property.Value);
- } else {
- adjust = ParagraphAdjust.fromInt(AnyConverter.toInt(
- property.Value));
- }
-
- if (adjust != null) {
- if (adjust.equals(ParagraphAdjust.LEFT)) {
- StyleConstants.setAlignment(as,
- StyleConstants.ALIGN_LEFT);
- } else if (adjust.equals(ParagraphAdjust.RIGHT)) {
- StyleConstants.setAlignment(as,
- StyleConstants.ALIGN_RIGHT);
- } else if (adjust.equals(ParagraphAdjust.CENTER)) {
- StyleConstants.setAlignment(as,
- StyleConstants.ALIGN_CENTER);
- } else if (adjust.equals(ParagraphAdjust.BLOCK) ||
- adjust.equals(ParagraphAdjust.STRETCH)) {
- StyleConstants.setAlignment(as,
- StyleConstants.ALIGN_JUSTIFIED);
- }
- } else if (Build.DEBUG) {
- System.err.println(
- "Invalid property value for key ParaAdjust: " +
- property.Value.getClass().getName());
- }
-
- // Map background color
- } else if (property.Name.equals("CharBackColor")) {
- StyleConstants.setBackground(as,
- new java.awt.Color(AnyConverter.toInt(property.Value)));
-
- // FIXME: BidiLevel
- // Set bold attribute
- } else if (property.Name.equals("CharWeight")) {
- boolean isBold = AnyConverter.toFloat(property.Value) > 125;
- StyleConstants.setBold(as, isBold);
-
- // FIXME: Java 1.4 ComponentAttribute, ComponentElementName, ComposedTextAttribute
- // Set FirstLineIndent attribute
- } else if (property.Name.equals("ParaFirstLineIndent")) {
- StyleConstants.setFirstLineIndent(as,
- (float) (toPointFactor * AnyConverter.toInt(property.Value)));
-
- // Set font family attribute
- } else if (property.Name.equals("CharFontName")) {
- StyleConstants.setFontFamily(as, AnyConverter.toString(property.Value));
-
- // Set font size attribute
- } else if (property.Name.equals("CharHeight")) {
- StyleConstants.setFontSize(as,
- (int) AnyConverter.toFloat(property.Value));
-
- // Map foreground color
- } else if (property.Name.equals("CharColor")) {
- StyleConstants.setForeground(as,
- new java.awt.Color(AnyConverter.toInt(property.Value)));
-
- // FIXME: IconAttribute, IconElementName
- // Set italic attribute
- } else if (property.Name.equals("CharPosture")) {
- FontSlant fs = null;
-
- if (property.Value instanceof FontSlant) {
- fs = (FontSlant) property.Value;
- } else if (property.Value instanceof Any) {
- fs = (FontSlant) AnyConverter.toObject(new Type(
- FontSlant.class), property.Value);
- }
-
- if (fs != null) {
- StyleConstants.setItalic(as, FontSlant.ITALIC.equals(fs));
- }
-
- // Set left indent attribute
- } else if (property.Name.equals("ParaLeftMargin")) {
- StyleConstants.setLeftIndent(as,
- (float) (toPointFactor * AnyConverter.toInt(property.Value)));
-
- // Set right indent attribute
- } else if (property.Name.equals("ParaRightMargin")) {
- StyleConstants.setRightIndent(as,
- (float) (toPointFactor * AnyConverter.toInt(property.Value)));
- }
- // Set line spacing attribute
- else if (property.Name.equals("ParaLineSpacing")) {
- LineSpacing ls = null;
-
- if (property.Value instanceof LineSpacing) {
- ls = (LineSpacing) property.Value;
- } else if (property.Value instanceof Any) {
- ls = (LineSpacing) AnyConverter.toObject(new Type(
- LineSpacing.class), property.Value);
- }
-
- if (ls != null) {
- StyleConstants.setLineSpacing(as,
- (float) (toPointFactor * ls.Height));
- }
- }
- // FIXME: Java 1.4 NameAttribute, Orientation, ResolveAttribute
- // Set space above attribute
- else if (property.Name.equals("ParaTopMargin")) {
- StyleConstants.setSpaceAbove(as,
- (float) (toPointFactor * AnyConverter.toInt(property.Value)));
- }
- // Set space below attribute
- else if (property.Name.equals("ParaBottomMargin")) {
- StyleConstants.setSpaceBelow(as,
- (float) (toPointFactor * AnyConverter.toInt(property.Value)));
-
- // Set strike through attribute
- } else if (property.Name.equals("CharStrikeout")) {
- boolean isStrikeThrough = (FontStrikeout.NONE != AnyConverter.toShort(property.Value));
- StyleConstants.setStrikeThrough(as, isStrikeThrough);
-
- // Set sub-/superscript attribute
- } else if (property.Name.equals("CharEscapement")) {
- short value = AnyConverter.toShort(property.Value);
-
- if (value > 0) {
- StyleConstants.setSuperscript(as, true);
- } else if (value < 0) {
- StyleConstants.setSubscript(as, true);
- }
-
- // Set tabset attribute
- } else if (property.Name.equals("ParaTabStops")) {
- TabStop[] unoTabStops = (TabStop[]) AnyConverter.toArray(property.Value);
- javax.swing.text.TabStop[] tabStops = new javax.swing.text.TabStop[unoTabStops.length];
-
- for (int index2 = 0; index2 < unoTabStops.length; index2++) {
- float pos = (float) (toPointFactor * unoTabStops[index2].Position);
-
- if (unoTabStops[index2].Alignment.equals(TabAlign.LEFT)) {
- tabStops[index2] = new javax.swing.text.TabStop(pos,
- javax.swing.text.TabStop.ALIGN_LEFT,
- javax.swing.text.TabStop.LEAD_NONE);
- } else if (unoTabStops[index2].Alignment.equals(
- TabAlign.CENTER)) {
- tabStops[index2] = new javax.swing.text.TabStop(pos,
- javax.swing.text.TabStop.ALIGN_CENTER,
- javax.swing.text.TabStop.LEAD_NONE);
- } else if (unoTabStops[index2].Alignment.equals(
- TabAlign.RIGHT)) {
- tabStops[index2] = new javax.swing.text.TabStop(pos,
- javax.swing.text.TabStop.ALIGN_RIGHT,
- javax.swing.text.TabStop.LEAD_NONE);
- } else if (unoTabStops[index2].Alignment.equals(
- TabAlign.DECIMAL)) {
- tabStops[index2] = new javax.swing.text.TabStop(pos,
- javax.swing.text.TabStop.ALIGN_DECIMAL,
- javax.swing.text.TabStop.LEAD_NONE);
- } else {
- tabStops[index2] = new javax.swing.text.TabStop(pos);
- }
- }
-
- // Re-use tabSet object if possible to make AttributeSet.equals work
- if ((this.tabSet == null) ||
- !java.util.Arrays.equals(tabStops, this.tabStops)) {
- this.tabStops = tabStops;
- this.tabSet = new javax.swing.text.TabSet(tabStops);
- }
-
- StyleConstants.setTabSet(as, this.tabSet);
-
- // Set underline attribute
- } else if (property.Name.equals("CharUnderline")) {
- boolean isUnderline = (FontUnderline.NONE != AnyConverter.toShort(property.Value));
- StyleConstants.setUnderline(as, isUnderline);
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- if (Build.DEBUG) {
- System.err.println("*** ERROR *** " + e.getClass().getName() +
- " caught for property " + property.Name + ": " +
- e.getMessage());
- System.err.println(" value is of type " +
- property.Value.getClass().getName());
- }
- }
- }
-
- /** Returns the AttributSet for a given character at a given index */
- public javax.swing.text.AttributeSet getCharacterAttribute(int index) {
- try {
- com.sun.star.beans.PropertyValue[] propertyValues = unoObject.getCharacterAttributes(index,
- attributeList);
- javax.swing.text.SimpleAttributeSet attributeSet = new javax.swing.text.SimpleAttributeSet();
-
- if (null != propertyValues) {
- for (int i = 0; i < propertyValues.length; i++) {
- setAttribute(attributeSet, propertyValues[i]);
- }
- }
-
- return attributeSet;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- if ((index > 0) && (getCharCount() == index)) {
- return getCharacterAttribute(index - 1);
- }
- return null;
- }
- }
-
- /** Given a point in local coordinates, return the zero-based index of the character under that point */
- public int getIndexAtPoint(java.awt.Point point) {
- try {
- return unoObject.getIndexAtPoint(new Point(point.x, point.y));
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- /** Returns the end offset within the selected text */
- public int getSelectionEnd() {
- try {
- int index = unoObject.getSelectionEnd();
-
- if (index == -1) {
- index = getCaretPosition();
- }
-
- return index;
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- /** Returns the string before a given index
- *
- * The Java word iterator has a different understanding of what
- * a word is than the word iterator used by OOo, so we use the
- * Java iterators to ensure maximal compatibility with Java.
- */
- public java.lang.String getBeforeIndex(int part, int index) {
- switch (part) {
- case AccessibleText.CHARACTER:
- try {
- String s = unoObject.getText();
- return s.substring(index-1, index);
- } catch (IndexOutOfBoundsException e) {
- return null;
- }
- case AccessibleText.WORD:
- try {
- String s = unoObject.getText();
- BreakIterator words = BreakIterator.getWordInstance(getLocale(index));
- words.setText(s);
- int end = words.following(index);
- end = words.previous();
- int start = words.previous();
- if (start == BreakIterator.DONE) {
- return null;
- }
- return s.substring(start, end);
- } catch (IllegalArgumentException e) {
- return null;
- } catch (IndexOutOfBoundsException e) {
- return null;
- }
- case AccessibleText.SENTENCE:
- try {
- String s = unoObject.getText();
- BreakIterator sentence =
- BreakIterator.getSentenceInstance(getLocale(index));
- sentence.setText(s);
- int end = sentence.following(index);
- end = sentence.previous();
- int start = sentence.previous();
- if (start == BreakIterator.DONE) {
- return null;
- }
- return s.substring(start, end);
- } catch (IllegalArgumentException e) {
- return null;
- } catch (IndexOutOfBoundsException e) {
- return null;
- }
- case 4:
- try {
- TextSegment ts = unoObject.getTextBeforeIndex(index, AccessibleTextType.LINE);
- return ts.SegmentText;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- // Workaround for #104847#
- if (index > 0 && getCharCount() == index) {
- return getBeforeIndex(part, index - 1);
- }
- return null;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- return null;
- }
- case 5:
- try {
- TextSegment ts = unoObject.getTextBeforeIndex(index, AccessibleTextType.ATTRIBUTE_RUN);
- return ts.SegmentText;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- return null;
- }
- default:
- return null;
- }
- }
-
-
- /** Returns the string at a given index
- *
- * The Java word iterator has a different understanding of what
- * a word is than the word iterator used by OOo, so we use the
- * Java iterators to ensure maximal compatibility with Java.
- */
- public java.lang.String getAtIndex(int part, int index) {
- switch (part) {
- case AccessibleText.CHARACTER:
- try {
- String s = unoObject.getText();
- return s.substring(index, index + 1);
- } catch (IndexOutOfBoundsException e) {
- return null;
- }
- case AccessibleText.WORD:
- try {
- String s = unoObject.getText();
- BreakIterator words = BreakIterator.getWordInstance(getLocale(index));
- words.setText(s);
- int end = words.following(index);
- return s.substring(words.previous(), end);
- } catch (IllegalArgumentException e) {
- return null;
- } catch (IndexOutOfBoundsException e) {
- return null;
- }
- case AccessibleText.SENTENCE:
- try {
- String s = unoObject.getText();
- BreakIterator sentence =
- BreakIterator.getSentenceInstance(getLocale(index));
- sentence.setText(s);
- int end = sentence.following(index);
- return s.substring(sentence.previous(), end);
- } catch (IllegalArgumentException e) {
- return null;
- } catch (IndexOutOfBoundsException e) {
- return null;
- }
- case 4:
- try {
- TextSegment ts = unoObject.getTextAtIndex(index, AccessibleTextType.LINE);
- return ts.SegmentText;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- // Workaround for #104847#
- if (index > 0 && getCharCount() == index) {
- return getAtIndex(part, index - 1);
- }
- return null;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- return null;
- }
- case 5:
- try {
- TextSegment ts = unoObject.getTextAtIndex(index, AccessibleTextType.ATTRIBUTE_RUN);
- return ts.SegmentText;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- return null;
- }
-
- default:
- return null;
- }
- }
-
- /** Returns the number of characters (valid indicies) */
- public int getCharCount() {
- try {
- return unoObject.getCharacterCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- }
-
- return 0;
- }
-
- /** Returns the portion of the text that is selected */
- public java.lang.String getSelectedText() {
- try {
- return unoObject.getSelectedText();
- } catch (com.sun.star.uno.RuntimeException e) {
- }
-
- return null;
- }
-
- /** Determines the bounding box of the character at the given index into the string */
- public java.awt.Rectangle getCharacterBounds(int index) {
- try {
- Rectangle unoRect = unoObject.getCharacterBounds(index);
- return new java.awt.Rectangle(unoRect.X, unoRect.Y, unoRect.Width, unoRect.Height);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- if ((index > 0) && (getCharCount() == index)) {
- return getCharacterBounds(index - 1);
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
-
- return new java.awt.Rectangle();
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleValueImpl.java b/accessibility/bridge/org/openoffice/java/accessibility/AccessibleValueImpl.java
deleted file mode 100644
index 32722e340c16..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/AccessibleValueImpl.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.XAccessibleValue;
-import com.sun.star.uno.AnyConverter;
-
-/** The AccessibleValueImpl mappes the calls to the java AccessibleValue
- * interface to the corresponding methods of the UNO XAccessibleValue interface
- */
-public class AccessibleValueImpl implements javax.accessibility.AccessibleValue {
- protected XAccessibleValue unoObject;
-
- /** Creates new AccessibleValueImpl */
- public AccessibleValueImpl(XAccessibleValue xAccessibleValue) {
- unoObject = xAccessibleValue;
- }
-
- public static java.lang.Number toNumber(java.lang.Object any) {
- try {
- if(AnyConverter.isByte(any)) {
- return new Byte(AnyConverter.toByte(any));
- } else if (AnyConverter.isShort(any)) {
- return new Short(AnyConverter.toShort(any));
- } else if (AnyConverter.isInt(any)) {
- return new Integer(AnyConverter.toInt(any));
- } else if (AnyConverter.isLong(any)) {
- return new Long(AnyConverter.toLong(any));
- } else if (AnyConverter.isFloat(any)) {
- return new Float(AnyConverter.toFloat(any));
- } else if (AnyConverter.isDouble(any)) {
- return new Double(AnyConverter.toDouble(any));
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
-
- return null;
- }
-
- public java.lang.Number getMinimumAccessibleValue() {
- try {
- return toNumber(unoObject.getMinimumValue());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public java.lang.Number getCurrentAccessibleValue() {
- try {
- return toNumber(unoObject.getCurrentValue());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public java.lang.Number getMaximumAccessibleValue() {
- try {
- return toNumber(unoObject.getMaximumValue());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public boolean setCurrentAccessibleValue(java.lang.Number number) {
- try {
- return unoObject.setCurrentValue(number);
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Alert.java b/accessibility/bridge/org/openoffice/java/accessibility/Alert.java
deleted file mode 100644
index 578251592a5d..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Alert.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import javax.accessibility.AccessibleRole;
-import com.sun.star.accessibility.*;
-
-public class Alert extends Dialog {
-
- protected Alert(java.awt.Frame owner, XAccessibleComponent xAccessibleComponent) {
- super(owner, xAccessibleComponent);
- }
-
- protected Alert(java.awt.Frame owner, String name, XAccessibleComponent xAccessibleComponent) {
- super(owner, name, xAccessibleComponent);
- }
-
- protected Alert(java.awt.Frame owner, String name, boolean modal, XAccessibleComponent xAccessibleComponent) {
- super(owner, name, modal, xAccessibleComponent);
- }
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- accessibleContext = new AccessibleAlert();
- accessibleContext.setAccessibleName(getTitle());
- }
- return accessibleContext;
- }
-
- protected class AccessibleAlert extends AccessibleDialog {
-
- protected AccessibleAlert() {
- super();
- }
-
- public AccessibleRole getAccessibleRole() {
- return AccessibleRole.ALERT;
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Application.java b/accessibility/bridge/org/openoffice/java/accessibility/Application.java
deleted file mode 100644
index 2705bf29c48d..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Application.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import javax.accessibility.Accessible;
-import javax.accessibility.AccessibleContext;
-
-public class Application extends java.awt.Frame implements Accessible {
-
- protected AccessibleContext accessibleContext = null;
-
- protected Application() {
- super();
- }
-
- public boolean isShowing() {
- return true;
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Button.java b/accessibility/bridge/org/openoffice/java/accessibility/Button.java
deleted file mode 100644
index e0895add40a9..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Button.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-
-class Button extends AbstractButton implements javax.accessibility.Accessible {
-
- public Button(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleButtonListener();
- }
-
- protected class AccessibleButtonListener
- extends AccessibleUNOComponentListener {
- protected AccessibleButtonListener() {
- super();
- }
-
- protected javax.accessibility.AccessibleContext getContext( Object any ) {
- try {
- XAccessible xAccessible = (XAccessible)
- AnyConverter.toObject( AccessibleObjectFactory.XAccessibleType, any );
-
- javax.accessibility.Accessible accessible =
- (javax.accessibility.Accessible) Button.this.getComponent( xAccessible );
-
- return accessible.getAccessibleContext();
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- return null;
- }
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.CHILD:
- java.awt.Component c = getComponent(unoAccessible);
-
- Object values[] = { null, null };
-
- if (AnyConverter.isObject(event.OldValue)) {
- values[0] = getContext( event.OldValue );
- }
-
- if (AnyConverter.isObject(event.NewValue)) {
- values[1] = getContext( event.NewValue);
- }
-
- firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- values[0], values[1]);
- break;
-
- default:
- super.notifyEvent(event);
- }
- }
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleButton();
- }
-
- protected java.awt.Component getComponent(XAccessible unoAccessible) {
- java.awt.Component c = AccessibleObjectFactory.getAccessibleComponent(unoAccessible);
-
- if (c == null) {
- c = AccessibleObjectFactory.createAccessibleComponent(unoAccessible);
-
- if (c instanceof javax.accessibility.Accessible) {
- ((javax.accessibility.Accessible) c).getAccessibleContext()
- .setAccessibleParent(this);
- }
-
- if( c instanceof java.awt.Container ) {
- AccessibleObjectFactory.populateContainer((java.awt.Container) c, unoAccessible.getAccessibleContext() );
- }
- }
-
- return c;
- }
-
- protected class AccessibleButton extends AccessibleAbstractButton {
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.PUSH_BUTTON;
- }
-
- /** Returns the number of accessible children of the object */
- public int getAccessibleChildrenCount() {
- try {
- return unoAccessibleContext.getAccessibleChildCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the specified Accessible child of the object */
- public synchronized javax.accessibility.Accessible getAccessibleChild( int i) {
- try {
- return (javax.accessibility.Accessible) getComponent( unoAccessibleContext.getAccessibleChild(i) );
- } catch (com.sun.star.uno.RuntimeException e) {
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- }
- return null;
- }
-
- /*
- * AccessibleComponent
- */
-
- /** Returns the Accessible child, if one exists, contained at the local coordinate Point */
- public javax.accessibility.Accessible getAccessibleAt(java.awt.Point p) {
- try {
- java.awt.Component c = getComponent(unoAccessibleComponent.getAccessibleAtPoint(
- new com.sun.star.awt.Point(p.x, p.y)));
-
- return (javax.accessibility.Accessible) c;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/CheckBox.java b/accessibility/bridge/org/openoffice/java/accessibility/CheckBox.java
deleted file mode 100644
index db12c24bc7e5..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/CheckBox.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-
-class CheckBox extends ToggleButton {
-
- public CheckBox(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleCheckBox();
- }
-
- protected class AccessibleCheckBox extends AccessibleToggleButton {
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.CHECK_BOX;
- }
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/ComboBox.java b/accessibility/bridge/org/openoffice/java/accessibility/ComboBox.java
deleted file mode 100644
index a23967ca9dd9..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/ComboBox.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.uno.*;
-
-
-/**
- */
-public class ComboBox extends Container {
- private XAccessibleAction unoAccessibleAction = null;
-
- public ComboBox(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(javax.accessibility.AccessibleRole.COMBO_BOX, xAccessible,
- xAccessibleContext);
- }
-
- /** Appends the specified component to the end of this container */
- public java.awt.Component add(java.awt.Component c) {
- // List should be always the first child
- if (c instanceof List) {
- return super.add(c, 0);
- } else {
- return super.add(c);
- }
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleComboBox();
- }
-
- protected class AccessibleComboBox extends AccessibleContainer
- implements javax.accessibility.AccessibleAction {
- /**
- * Though the class is abstract, this should be called by all sub-classes
- */
- protected AccessibleComboBox() {
- super();
- }
-
- /*
- * AccessibleContext
- */
-
- /** Gets the AccessibleAction associated with this object that supports one or more actions */
- public javax.accessibility.AccessibleAction getAccessibleAction() {
- if (unoAccessibleAction == null) {
- unoAccessibleAction = UnoRuntime.queryInterface(XAccessibleAction.class,
- unoAccessibleContext);
-
- if (unoAccessibleAction == null) {
- return null;
- }
- }
-
- return this;
- }
-
- /*
- * AccessibleAction
- */
-
- /** Performs the specified Action on the object */
- public boolean doAccessibleAction(int param) {
- if (param == 0) {
- try {
- return unoAccessibleAction.doAccessibleAction(0);
- } catch (com.sun.star.uno.Exception e) {
- }
- }
-
- return false;
- }
-
- /** Returns a description of the specified action of the object */
- public java.lang.String getAccessibleActionDescription(int param) {
- return javax.swing.UIManager.getString("ComboBox.togglePopupText");
- }
-
- /** Returns the number of accessible actions available in this object */
- public int getAccessibleActionCount() {
- return 1;
- }
- }
-
- /**
- * Returns whether this Component can be focused.
- *
- * @return <code>true</code> if this Component is focusable;
- * <code>false</code> otherwise.
- * @see #setFocusable
- * @since 1.4
- */
- public boolean isFocusable() {
- return true;
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Component.java b/accessibility/bridge/org/openoffice/java/accessibility/Component.java
deleted file mode 100644
index 821d2e9e099a..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Component.java
+++ /dev/null
@@ -1,728 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import java.awt.EventQueue;
-
-import javax.accessibility.AccessibleContext;
-import javax.accessibility.AccessibleState;
-
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-
-public abstract class Component extends java.awt.Component {
- public static final Type RectangleType = new Type(com.sun.star.awt.Rectangle.class);
- public static final Type SelectionType = new Type(com.sun.star.awt.Selection.class);
-
- protected XAccessible unoAccessible;
- protected XAccessibleContext unoAccessibleContext;
- protected XAccessibleComponent unoAccessibleComponent;
-
- protected boolean disposed = false;
-
- protected Component(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super();
- unoAccessible = xAccessible;
- unoAccessibleContext = xAccessibleContext;
- unoAccessibleComponent = UnoRuntime.queryInterface(XAccessibleComponent.class, xAccessibleContext);
- // Add the event listener right away, because the global focus notification doesn't
- // work yet ..
- XAccessibleEventBroadcaster broadcaster = UnoRuntime.queryInterface(XAccessibleEventBroadcaster.class,
- unoAccessibleComponent);
- if (broadcaster != null) {
- broadcaster.addAccessibleEventListener(createEventListener());
- }
- }
-
- /**
- * Determines whether this <code>Component</code> is showing on screen.
- * This means that the component must be visible, and it must be in a
- * <code>container</code> that is visible and showing.
- * @see #addNotify
- * @see #removeNotify
- * @since JDK1.0
- */
- public boolean isShowing() {
- if (isVisible()) {
- java.awt.Container parent = getParent();
- return (parent == null) || parent.isShowing();
- }
- return false;
- }
-
- /**
- * Makes this <code>Component</code> displayable by connecting it to a
- * native screen resource.
- * This method is called internally by the toolkit and should
- * not be called directly by programs.
- * @see #isDisplayable
- * @see #removeNotify
- * @since JDK1.0
- */
- public void addNotify() {
- }
-
- /**
- * Makes this <code>Component</code> undisplayable by destroying it native
- * screen resource.
- * This method is called by the toolkit internally and should
- * not be called directly by programs.
- * @see #isDisplayable
- * @see #addNotify
- * @since JDK1.0
- */
- public void removeNotify() {
- }
-
- /*
- * Fake the java focus handling. This is necessary to keep OOo focus
- * in sync with the java focus. See java.awt.DefaultKeyboardFocusManager
- * for implementation details.
- **/
-
- /** Requests focus for this object */
- public void requestFocus() {
- }
-
- /** Requests focus for this object */
- public boolean requestFocus(boolean temporary) {
- // Must be a no-op to make focus handling work
- return true;
- }
-
- /** Requests the focus for this object in the containing window */
- public boolean requestFocusInWindow() {
- return requestFocusInWindow(false);
- }
-
- /** Requests the focus for this object in the containing window */
- protected boolean requestFocusInWindow(boolean temporary) {
- if (isFocusable() && isVisible()) {
- getEventQueue().postEvent(new java.awt.event.FocusEvent(this, java.awt.event.FocusEvent.FOCUS_GAINED, temporary));
- return true;
- }
- return false;
- }
-
- public Object[] getAccessibleComponents(Object[] targetSet) {
- try {
- java.util.ArrayList<java.awt.Component> list = new java.util.ArrayList<java.awt.Component>(targetSet.length);
- for (int i=0; i < targetSet.length; i++) {
- java.awt.Component c = AccessibleObjectFactory.getAccessibleComponent(
- UnoRuntime.queryInterface(XAccessible.class, targetSet[i]));
- if (c != null) {
- list.add(c);
- }
- }
- list.trimToSize();
- return list.toArray();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- protected java.awt.EventQueue getEventQueue() {
- return java.awt.Toolkit.getDefaultToolkit().getSystemEventQueue();
- }
-
- protected class PropertyChangeBroadcaster implements Runnable {
- String propertyName;
- Object oldValue;
- Object newValue;
-
- public PropertyChangeBroadcaster(String name, Object param1, Object param2) {
- propertyName = name;
- oldValue = param1;
- newValue = param2;
- }
-
- public void run() {
- // Because this code is executed in the DispatchThread, it is better to catch every
- // exception that might occur
- try {
- AccessibleContext ac = accessibleContext;
- if (ac != null) {
- ac.firePropertyChange(propertyName, oldValue, newValue);
- }
- } catch (java.lang.Exception e) {
- if (Build.DEBUG) {
- System.err.println(e.getClass().getName() + " caught propagating " + propertyName + " event: " + e.getMessage());
- e.printStackTrace();
- }
- }
- }
- }
-
- protected void firePropertyChange(String property, Object oldValue, Object newValue) {
- EventQueue.invokeLater(new PropertyChangeBroadcaster(property, oldValue, newValue));
- }
-
- protected void fireStatePropertyChange(AccessibleState state, boolean set) {
- PropertyChangeBroadcaster broadcaster;
-
-// if (Build.DEBUG) {
-// System.err.println("[" + AccessibleRoleAdapter.getAccessibleRole(unoAccessibleContext.getAccessibleRole()) + "] " +
-// unoAccessibleContext.getAccessibleName() + " is " + (set ? "now " : "no longer ") + state);
-// }
-
- if (set) {
- broadcaster = new PropertyChangeBroadcaster(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, state);
- } else {
- broadcaster = new PropertyChangeBroadcaster(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- state, null);
- }
- EventQueue.invokeLater(broadcaster);
- }
-
- /**
- * Update the proxy objects appropriatly on property change events
- */
- protected class AccessibleUNOComponentListener implements XAccessibleEventListener {
-
- protected AccessibleUNOComponentListener() {
- }
-
- protected void setComponentState(short state, boolean enable) {
- switch (state) {
- case AccessibleStateType.ACTIVE:
- // Only frames should be active
- break;
- case AccessibleStateType.ARMED:
- fireStatePropertyChange(AccessibleState.ARMED, enable);
- break;
- case AccessibleStateType.CHECKED:
- fireStatePropertyChange(AccessibleState.CHECKED, enable);
- break;
- case AccessibleStateType.ENABLED:
- setEnabled(enable);
- // Since we can't access awt.Componet.accessibleContext, we need to fire
- // this event manually ..
- fireStatePropertyChange(AccessibleState.ENABLED, enable);
- break;
- case AccessibleStateType.FOCUSED:
- getEventQueue().postEvent(new java.awt.event.FocusEvent(
- Component.this, enable ?
- java.awt.event.FocusEvent.FOCUS_GAINED :
- java.awt.event.FocusEvent.FOCUS_LOST));
- break;
- case AccessibleStateType.PRESSED:
- fireStatePropertyChange(AccessibleState.PRESSED, enable);
- break;
- case AccessibleStateType.SELECTED:
- fireStatePropertyChange(AccessibleState.SELECTED, enable);
- break;
- case AccessibleStateType.SENSITIVE:
- // This state equals ENABLED in OOo (but not in Gtk+) and does not exist in Java 1.5
- break;
- case AccessibleStateType.SHOWING:
-// fireStatePropertyChange(AccessibleState.SHOWING, enable);
- break;
- case AccessibleStateType.VISIBLE:
- Component.this.setVisible(enable);
- break;
- default:
- if (Build.DEBUG) {
- System.err.println("[component]: " + getName() + "unexpected state change " + state);
- }
- break;
- }
- }
-
- /** Updates the accessible name and fires the appropriate PropertyChangedEvent */
- protected void handleNameChangedEvent(Object any) {
- try {
- // This causes the property change event to be fired in the VCL thread
- // context. If this causes problems, it has to be deligated to the java
- // dispatch thread ..
- if (accessibleContext != null) {
- accessibleContext.setAccessibleName(AnyConverter.toString(any));
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Updates the accessible description and fires the appropriate PropertyChangedEvent */
- protected void handleDescriptionChangedEvent(Object any) {
- try {
- // This causes the property change event to be fired in the VCL thread
- // context. If this causes problems, it has to be deligated to the java
- // dispatch thread ..
- if (accessibleContext != null) {
- accessibleContext.setAccessibleDescription(AnyConverter.toString(any));
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Updates the internal states and fires the appropriate PropertyChangedEvent */
- protected void handleStateChangedEvent(Object any1, Object any2) {
- try {
- if (AnyConverter.isShort(any1)) {
- setComponentState(AnyConverter.toShort(any1), false);
- }
-
- if (AnyConverter.isShort(any2)) {
- setComponentState(AnyConverter.toShort(any2), true);
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
-
- if ( !disposed ) {
-
- switch (event.EventId) {
- case AccessibleEventId.ACTION_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_ACTION_PROPERTY,
- toNumber(event.OldValue), toNumber(event.NewValue));
- break;
- case AccessibleEventId.NAME_CHANGED:
- // Set the accessible name for the corresponding context, which will fire a property
- // change event itself
- handleNameChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.DESCRIPTION_CHANGED:
- // Set the accessible description for the corresponding context, which will fire a property
- // change event itself - so do not set propertyName !
- handleDescriptionChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.CHILD:
- if (Build.DEBUG) {
- System.out.println("Unexpected child event for object of role " + getAccessibleContext().getAccessibleRole());
- }
- break;
- case AccessibleEventId.STATE_CHANGED:
- // Update the internal state set and fire the appropriate PropertyChangedEvent
- handleStateChangedEvent(event.OldValue, event.NewValue);
- break;
- case AccessibleEventId.VISIBLE_DATA_CHANGED:
- case AccessibleEventId.BOUNDRECT_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY, null, null);
- break;
- case AccessibleEventId.TEXT_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_TEXT_PROPERTY,
- AccessibleTextImpl.convertTextSegment(event.OldValue),
- AccessibleTextImpl.convertTextSegment(event.NewValue));
- break;
- /*
- * the Java AccessBridge for GNOME maps SELECTION_PROPERTY change events
- * for objects of role TEXT to object:text-selection-changed
- */
- case AccessibleEventId.TEXT_SELECTION_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY, null, null);
- break;
- case AccessibleEventId.CARET_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_CARET_PROPERTY, toNumber(event.OldValue), toNumber(event.NewValue));
- break;
- case AccessibleEventId.VALUE_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_VALUE_PROPERTY, toNumber(event.OldValue), toNumber(event.NewValue));
- default:
- // Warn about unhandled events
- if(Build.DEBUG) {
- System.out.println(this + ": unhandled accessibility event id=" + event.EventId);
- }
- }
- }
- }
-
- /** Called by OpenOffice process to notify that the UNO component is disposing */
- public void disposing(com.sun.star.lang.EventObject eventObject) {
- disposed = true;
- AccessibleObjectFactory.disposing(Component.this);
- }
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleUNOComponentListener();
- }
-
- protected javax.accessibility.AccessibleContext accessibleContext = null;
-
- /** This method actually creates the AccessibleContext object returned by
- * getAccessibleContext().
- */
- protected javax.accessibility.AccessibleContext createAccessibleContext() {
- return null;
- }
-
- /** Returns the AccessibleContext associated with this object */
- public final javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- try {
- AccessibleContext ac = createAccessibleContext();
- if (ac != null) {
- // Set accessible name and description here to avoid
- // unnecessary property change events later ..
- ac.setAccessibleName(unoAccessibleContext.getAccessibleName());
- ac.setAccessibleDescription(unoAccessibleContext.getAccessibleDescription());
- accessibleContext = ac;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
- return accessibleContext;
- }
-
- protected abstract class AccessibleUNOComponent extends java.awt.Component.AccessibleAWTComponent
- implements javax.accessibility.AccessibleExtendedComponent {
-
- protected java.awt.event.ComponentListener accessibleComponentHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when shown/hidden..
- */
- protected class AccessibleComponentHandler implements java.awt.event.ComponentListener {
- public void componentHidden(java.awt.event.ComponentEvent e) {
- AccessibleUNOComponent.this.firePropertyChange(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- AccessibleState.VISIBLE, null);
- }
-
- public void componentShown(java.awt.event.ComponentEvent e) {
- AccessibleUNOComponent.this.firePropertyChange(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, AccessibleState.VISIBLE);
- }
-
- public void componentMoved(java.awt.event.ComponentEvent e) {
- }
-
- public void componentResized(java.awt.event.ComponentEvent e) {
- }
- } // inner class AccessibleComponentHandler
-
- protected java.awt.event.FocusListener accessibleFocusHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when focus events happen
- */
- protected class AccessibleFocusHandler implements java.awt.event.FocusListener {
- public void focusGained(java.awt.event.FocusEvent event) {
- AccessibleUNOComponent.this.firePropertyChange(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, AccessibleState.FOCUSED);
- if (Build.DEBUG) {
- System.err.println("[" + getAccessibleRole() + "] " + getAccessibleName() + " is now focused");
- }
- }
- public void focusLost(java.awt.event.FocusEvent event) {
- AccessibleUNOComponent.this.firePropertyChange(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- AccessibleState.FOCUSED, null);
- if (Build.DEBUG) {
- System.err.println("[" + getAccessibleRole() + "] " + getAccessibleName() + " is no longer focused");
- }
- }
- } // inner class AccessibleFocusHandler
-
- protected int propertyChangeListenerCount = 0;
-
- /**
- * Add a PropertyChangeListener to the listener list.
- *
- * @param listener The PropertyChangeListener to be added
- */
- public void addPropertyChangeListener(java.beans.PropertyChangeListener listener) {
- if (propertyChangeListenerCount++ == 0) {
- accessibleComponentHandler = new AccessibleComponentHandler();
- Component.this.addComponentListener(accessibleComponentHandler);
-
- accessibleFocusHandler = new AccessibleFocusHandler();
- Component.this.addFocusListener(accessibleFocusHandler);
- }
- super.addPropertyChangeListener(listener);
- }
-
- /**
- * Remove a PropertyChangeListener from the listener list.
- * This removes a PropertyChangeListener that was registered
- * for all properties.
- *
- * @param listener The PropertyChangeListener to be removed
- */
- public void removePropertyChangeListener(java.beans.PropertyChangeListener listener) {
- if (--propertyChangeListenerCount == 0) {
- Component.this.removeComponentListener(accessibleComponentHandler);
- accessibleComponentHandler = null;
-
- Component.this.removeFocusListener(accessibleFocusHandler);
- accessibleFocusHandler = null;
- }
- super.removePropertyChangeListener(listener);
- }
-
- /**
- * Gets the current state set of this object.
- *
- * @return an instance of <code>AccessibleStateSet</code>
- * containing the current state set of the object
- * @see AccessibleState
- */
- public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
- if (disposed)
- return AccessibleStateAdapter.getDefunctStateSet();
-
- try {
- return AccessibleStateAdapter.getAccessibleStateSet(Component.this,
- unoAccessibleContext.getAccessibleStateSet());
- } catch (com.sun.star.uno.RuntimeException e) {
- return AccessibleStateAdapter.getDefunctStateSet();
- }
- }
-
- /** Gets the locale of the component */
- public java.util.Locale getLocale() throws java.awt.IllegalComponentStateException {
- try {
- com.sun.star.lang.Locale unoLocale = unoAccessible.getAccessibleContext().getLocale();
- return new java.util.Locale(unoLocale.Language, unoLocale.Country);
- } catch (IllegalAccessibleComponentStateException e) {
- throw new java.awt.IllegalComponentStateException(e.getMessage());
- } catch (com.sun.star.uno.RuntimeException e) {
- return java.util.Locale.getDefault();
- }
- }
-
- /*
- * AccessibleExtendedComponent
- */
-
- /** Returns the background color of the object */
- public java.awt.Color getBackground() {
- try {
- return new java.awt.Color(unoAccessibleComponent.getBackground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setBackground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- /** Returns the foreground color of the object */
- public java.awt.Color getForeground() {
- try {
- return new java.awt.Color(unoAccessibleComponent.getForeground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setForeground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Cursor getCursor() {
- // Not supported by UNO accessibility API
- return null;
- }
-
- public void setCursor(java.awt.Cursor cursor) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Font getFont() {
- // FIXME
- return null;
- }
-
- public void setFont(java.awt.Font f) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.FontMetrics getFontMetrics(java.awt.Font f) {
- // FIXME
- return null;
- }
-
- public boolean isEnabled() {
- return Component.this.isEnabled();
- }
-
- public void setEnabled(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isVisible() {
- return Component.this.isVisible();
- }
-
- public void setVisible(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isShowing() {
- return Component.this.isShowing();
- }
-
- public boolean contains(java.awt.Point p) {
- try {
- return unoAccessibleComponent.containsPoint(new com.sun.star.awt.Point(p.x, p.y));
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Returns the location of the object on the screen. */
- public java.awt.Point getLocationOnScreen() {
- try {
- com.sun.star.awt.Point unoPoint = unoAccessibleComponent.getLocationOnScreen();
-// if (Build.DEBUG) {
-// System.err.println("Returning location on screen( " + unoPoint.X + ", " + unoPoint.Y + " )" );
-// }
- return new java.awt.Point(unoPoint.X, unoPoint.Y);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the location of this component in the form of a point specifying the component's top-left corner */
- public java.awt.Point getLocation() {
- try {
- com.sun.star.awt.Point unoPoint = unoAccessibleComponent.getLocation();
- return new java.awt.Point( unoPoint.X, unoPoint.Y );
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Rectangle unoRect = unoAccessibleComponent.getBounds();
- return new java.awt.Rectangle(unoRect.X, unoRect.Y, unoRect.Width, unoRect.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Size unoSize = unoAccessibleComponent.getSize();
- return new java.awt.Dimension(unoSize.Width, unoSize.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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
- }
-
- public javax.accessibility.Accessible getAccessibleAt(java.awt.Point p) {
- // Not supported by this implementation
- return null;
- }
-
- public boolean isFocusTraversable() {
- return Component.this.isFocusable();
- }
-
- public void requestFocus() {
- unoAccessibleComponent.grabFocus();
- }
-
- public String getToolTipText() {
- try {
- XAccessibleExtendedComponent unoAccessibleExtendedComponent = UnoRuntime.queryInterface(XAccessibleExtendedComponent.class, unoAccessibleComponent);
- if (unoAccessibleExtendedComponent != null) {
- return unoAccessibleExtendedComponent.getToolTipText();
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- return null;
- }
-
- public String getTitledBorderText() {
- try {
- XAccessibleExtendedComponent unoAccessibleExtendedComponent = UnoRuntime.queryInterface(XAccessibleExtendedComponent.class, unoAccessibleComponent);
- if (unoAccessibleExtendedComponent != null) {
- return unoAccessibleExtendedComponent.getTitledBorderText();
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- return null;
- }
-
- public javax.accessibility.AccessibleKeyBinding getAccessibleKeyBinding() {
- try {
- XAccessibleAction unoAccessibleAction = UnoRuntime.queryInterface(XAccessibleAction.class, unoAccessibleComponent);
- if (unoAccessibleAction != null) {
- XAccessibleKeyBinding unoAccessibleKeyBinding = unoAccessibleAction.getAccessibleActionKeyBinding(0);
- if (unoAccessibleKeyBinding != null) {
- return new AccessibleKeyBinding(unoAccessibleKeyBinding);
- }
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- return null;
- }
- }
-
- // Extract a number from a UNO any
- public static java.lang.Number toNumber(java.lang.Object any) {
- try {
- if (AnyConverter.isByte(any)) {
- return new Byte(AnyConverter.toByte(any));
- } else if (AnyConverter.isShort(any)) {
- return new Short(AnyConverter.toShort(any));
- } else if (AnyConverter.isInt(any)) {
- return new Integer(AnyConverter.toInt(any));
- } else if (AnyConverter.isLong(any)) {
- return new Long(AnyConverter.toLong(any));
- } else if (AnyConverter.isFloat(any)) {
- return new Float(AnyConverter.toFloat(any));
- } else if (AnyConverter.isDouble(any)) {
- return new Double(AnyConverter.toDouble(any));
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- throw new IllegalArgumentException(e.getMessage());
- }
- return null;
- }
-
- public String toString() {
- return UnoRuntime.generateOid(unoAccessible);
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Container.java b/accessibility/bridge/org/openoffice/java/accessibility/Container.java
deleted file mode 100644
index 4b447c9c2f92..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Container.java
+++ /dev/null
@@ -1,754 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import java.awt.Component;
-import java.awt.EventQueue;
-
-import javax.accessibility.AccessibleContext;
-import javax.accessibility.AccessibleState;
-
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-
-public class Container extends java.awt.Container implements javax.accessibility.Accessible {
-
- protected XAccessible unoAccessible;
- protected XAccessibleContext unoAccessibleContext;
- protected XAccessibleComponent unoAccessibleComponent = null;
-
- protected javax.accessibility.AccessibleRole accessibleRole;
- protected javax.accessibility.AccessibleText accessibleText;
- protected boolean disposed = false;
-
- protected Container(javax.accessibility.AccessibleRole role,
- XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- accessibleRole = role;
- unoAccessible = xAccessible;
- unoAccessibleContext = xAccessibleContext;
- unoAccessibleComponent = UnoRuntime.queryInterface(XAccessibleComponent.class,
- xAccessibleContext);
-
- // Add the event listener right away, because the global focus notification doesn't
- // work yet ..
- XAccessibleEventBroadcaster broadcaster = UnoRuntime.queryInterface(XAccessibleEventBroadcaster.class,
- unoAccessibleContext);
- if (broadcaster != null) {
- broadcaster.addAccessibleEventListener(createEventListener());
- }
- }
-
- /**
- * Determines whether this <code>Container</code> is showing on screen.
- * This means that the component must be visible, and it must be in a
- * <code>container</code> that is visible and showing.
- * @see #addNotify
- * @see #removeNotify
- * @since JDK1.0
- */
- public boolean isShowing() {
- if (isVisible()) {
- java.awt.Container parent = getParent();
- return (parent == null) || parent.isShowing();
- }
- return false;
- }
-
- /**
- * Makes this <code>Container</code> displayable by connecting it to a
- * native screen resource.
- * This method is called internally by the toolkit and should
- * not be called directly by programs.
- * @see #isDisplayable
- * @see #removeNotify
- * @since JDK1.0
- */
- public void addNotify() {
- }
-
- /**
- * Makes this <code>Container</code> undisplayable by destroying it native
- * screen resource.
- * This method is called by the toolkit internally and should
- * not be called directly by programs.
- * @see #isDisplayable
- * @see #addNotify
- * @since JDK1.0
- */
- public void removeNotify() {
- }
-
- /*
- * Fake the java focus handling. This is necessary to keep OOo focus
- * in sync with the java focus. See java.awt.DefaultKeyboardFocusManager
- * for implementation details.
- **/
-
- /** Requests focus for this object */
- public void requestFocus() {
- }
-
- /** Requests focus for this object */
- public boolean requestFocus(boolean temporary) {
- // Must be a no-op to make focus handling work
- return true;
- }
-
- /** Requests the focus for this object in the containing window */
- public boolean requestFocusInWindow() {
- return requestFocusInWindow(false);
- }
-
- /** Requests the focus for this object in the containing window */
- protected boolean requestFocusInWindow(boolean temporary) {
- if (isFocusable() && isVisible()) {
- getEventQueue().postEvent(new java.awt.event.FocusEvent(this, java.awt.event.FocusEvent.FOCUS_GAINED, temporary));
- return true;
- }
- return false;
- }
-
- public Object[] getAccessibleComponents(Object[] targetSet) {
- try {
- java.util.ArrayList<Component> list = new java.util.ArrayList<Component>(targetSet.length);
- for (int i=0; i < targetSet.length; i++) {
- java.awt.Component c = AccessibleObjectFactory.getAccessibleComponent(
- UnoRuntime.queryInterface(XAccessible.class, targetSet[i]));
- if (c != null) {
- list.add(c);
- }
- }
- list.trimToSize();
- return list.toArray();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- protected java.awt.EventQueue getEventQueue() {
- return java.awt.Toolkit.getDefaultToolkit().getSystemEventQueue();
- }
-
- protected class PropertyChangeBroadcaster implements Runnable {
- String propertyName;
- Object oldValue;
- Object newValue;
-
- public PropertyChangeBroadcaster(String name, Object param1, Object param2) {
- propertyName = name;
- oldValue = param1;
- newValue = param2;
- }
-
- public void run() {
- // Because this code is executed in the DispatchThread, it is better tocatch every
- // exception that might occur
- try {
- AccessibleContext ac = Container.this.accessibleContext;
- if (ac != null) {
- ac.firePropertyChange(propertyName, oldValue, newValue);
- }
- } catch (java.lang.Exception e) {
- if (Build.DEBUG) {
- System.err.println(e.getClass().getName() + " caught propagating " + propertyName + " event: " + e.getMessage());
- e.printStackTrace();
- }
- }
- }
- }
-
- protected void firePropertyChange(String property, Object oldValue, Object newValue) {
- EventQueue.invokeLater(new PropertyChangeBroadcaster(property, oldValue, newValue));
- }
-
- protected void fireStatePropertyChange(AccessibleState state, boolean set) {
- PropertyChangeBroadcaster broadcaster;
- if (set) {
- broadcaster = new PropertyChangeBroadcaster(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, state);
- } else {
- broadcaster = new PropertyChangeBroadcaster(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- state, null);
- }
- EventQueue.invokeLater(broadcaster);
- }
-
- /**
- * Update the proxy objects appropriatly on property change events
- */
- protected class AccessibleContainerListener implements XAccessibleEventListener {
-
- protected AccessibleContainerListener() {
- }
-
- protected java.awt.EventQueue getEventQueue() {
- return java.awt.Toolkit.getDefaultToolkit().getSystemEventQueue();
- }
-
- protected void setComponentState(short state, boolean enable) {
- switch (state) {
- case AccessibleStateType.ACTIVE:
- // Only frames should be active
- break;
- case AccessibleStateType.ENABLED:
- setEnabled(enable);
- // Since we can't access awt.Componet.accessibleContext, we need to fire
- // this event manually ..
- fireStatePropertyChange(AccessibleState.ENABLED, enable);
- break;
- case AccessibleStateType.FOCUSED:
- getEventQueue().postEvent(new java.awt.event.FocusEvent(
- Container.this, enable ?
- java.awt.event.FocusEvent.FOCUS_GAINED :
- java.awt.event.FocusEvent.FOCUS_LOST));
- break;
- case AccessibleStateType.SELECTED:
- fireStatePropertyChange(AccessibleState.SELECTED, enable);
- break;
- case AccessibleStateType.SENSITIVE:
- // This state equals ENABLED in OOo (but not in Gtk+) and does not exist in Java 1.5
- break;
- case AccessibleStateType.SHOWING:
- case AccessibleStateType.VISIBLE:
- setVisible(enable);
- break;
- default:
- if (Build.DEBUG) {
- System.err.println(Container.this + "unexpected state change " + state);
- }
- break;
- }
- }
- /** Updates the accessible name and fires the appropriate PropertyChangedEvent */
- protected void handleNameChangedEvent(Object any) {
- try {
- // This causes the property change event to be fired in the VCL thread
- // context. If this causes problems, it has to be deligated to the java
- // dispatch thread ..
- if (accessibleContext != null) {
- accessibleContext.setAccessibleName(AnyConverter.toString(any));
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Updates the accessible description and fires the appropriate PropertyChangedEvent */
- protected void handleDescriptionChangedEvent(Object any) {
- try {
- // This causes the property change event to be fired in the VCL thread
- // context. If this causes problems, it has to be deligated to the java
- // dispatch thread ..
- if (accessibleContext != null) {
- accessibleContext.setAccessibleDescription(AnyConverter.toString(any));
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Updates the internal states and fires the appropriate PropertyChangedEvent */
- protected void handleStateChangedEvent(Object any1, Object any2) {
- try {
- if (AnyConverter.isShort(any1)) {
- setComponentState(AnyConverter.toShort(any1), false);
- }
-
- if (AnyConverter.isShort(any2)) {
- setComponentState(AnyConverter.toShort(any2), true);
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /* This event is only necessary because some objects in the office don't know their parent
- * and are therefor unable to revoke and re-insert themselves.
- */
- protected void handleAllChildrenChangedEvent() {
- javax.accessibility.Accessible parent = (javax.accessibility.Accessible) getParent();
- if (parent != null) {
- javax.accessibility.AccessibleContext parentAC = parent.getAccessibleContext();
- if (parentAC != null) {
-
- parentAC.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- Container.this,
- null);
-
- AccessibleObjectFactory.clearContainer(Container.this);
- AccessibleObjectFactory.populateContainer(Container.this, unoAccessibleContext);
-
- parentAC.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- null,
- Container.this);
- }
- }
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
-
- if ( !disposed ) {
-
- switch (event.EventId) {
- case AccessibleEventId.NAME_CHANGED:
- // Set the accessible name for the corresponding context, which will fire a property
- // change event itself
- handleNameChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.DESCRIPTION_CHANGED:
- // Set the accessible description for the corresponding context, which will fire a property
- // change event itself - so do not set propertyName !
- handleDescriptionChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.STATE_CHANGED:
- // Update the internal state set and fire the appropriate PropertyChangedEvent
- handleStateChangedEvent(event.OldValue, event.NewValue);
- break;
- case AccessibleEventId.TEXT_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_TEXT_PROPERTY,
- AccessibleTextImpl.convertTextSegment(event.OldValue),
- AccessibleTextImpl.convertTextSegment(event.NewValue));
- break;
- case AccessibleEventId.CHILD:
- if (AnyConverter.isObject(event.OldValue)) {
- AccessibleObjectFactory.removeChild(Container.this, event.OldValue);
- } else if (AnyConverter.isObject(event.NewValue)) {
- AccessibleObjectFactory.addChild(Container.this, event.NewValue);
- }
- break;
- case AccessibleEventId.VISIBLE_DATA_CHANGED:
- case AccessibleEventId.BOUNDRECT_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY, null, null);
- break;
- /*
- * the Java AccessBridge for GNOME maps SELECTION_PROPERTY change events
- * for objects of role TEXT to object:text-selection-changed
- */
- case AccessibleEventId.TEXT_SELECTION_CHANGED:
- case AccessibleEventId.SELECTION_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY, null, null);
- break;
- case AccessibleEventId.INVALIDATE_ALL_CHILDREN:
- handleAllChildrenChangedEvent();
- break;
- default:
- // Warn about unhandled events
- if(Build.DEBUG) {
- System.out.println(this + ": unhandled accessibility event id=" + event.EventId);
- }
- }
- }
- }
-
- /** Called by OpenOffice process to notify that the UNO component is disposing */
- public void disposing(com.sun.star.lang.EventObject eventObject) {
- disposed = true;
- AccessibleObjectFactory.disposing(Container.this);
- }
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleContainerListener();
- }
-
- protected javax.accessibility.AccessibleContext accessibleContext = null;
-
- /** This method actually creates the AccessibleContext object returned by
- * getAccessibleContext().
- */
- protected javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleContainer();
- }
-
- /** Returns the AccessibleContext associated with this object */
- public final javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- try {
- AccessibleContext ac = createAccessibleContext();
- if (ac != null) {
- // Set accessible name and description here to avoid
- // unnecessary property change events later ..
- ac.setAccessibleName(unoAccessibleContext.getAccessibleName());
- ac.setAccessibleDescription(unoAccessibleContext.getAccessibleDescription());
- accessibleContext = ac;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
- return accessibleContext;
- }
-
- protected class AccessibleContainer extends java.awt.Container.AccessibleAWTContainer {
-
- protected AccessibleContainer() {
- /* Since getAccessibleText() is heavily used by the java access
- * bridge for gnome and the gnome at-tools, we do a query interface
- * here and remember the result.
- */
- accessibleText = AccessibleTextImpl.get(unoAccessibleContext);
- }
-
- protected AccessibleContainer(boolean query) {
- /* This constructor is explicitly for subclasses that implement
- * AccessibleHypertext and therefor the default constructor would
- * bring unnecessary overhead.
- */
- }
-
- protected java.awt.event.ComponentListener accessibleComponentHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when shown/hidden..
- */
- protected class AccessibleComponentHandler implements java.awt.event.ComponentListener {
- public void componentHidden(java.awt.event.ComponentEvent e) {
- AccessibleContainer.this.firePropertyChange(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- AccessibleState.VISIBLE, null);
- }
-
- public void componentShown(java.awt.event.ComponentEvent e) {
- AccessibleContainer.this.firePropertyChange(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, AccessibleState.VISIBLE);
- }
-
- public void componentMoved(java.awt.event.ComponentEvent e) {
- }
-
- public void componentResized(java.awt.event.ComponentEvent e) {
- }
- } // inner class AccessibleContainerHandler
-
- protected java.awt.event.FocusListener accessibleFocusHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when focus events happen
- */
- protected class AccessibleFocusHandler implements java.awt.event.FocusListener {
- public void focusGained(java.awt.event.FocusEvent event) {
- AccessibleContainer.this.firePropertyChange(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, AccessibleState.FOCUSED);
- if (Build.DEBUG) {
- System.err.println("[" + getAccessibleRole() + "] " + getAccessibleName() + " is now focused");
- }
- }
- public void focusLost(java.awt.event.FocusEvent event) {
- AccessibleContainer.this.firePropertyChange(
- AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- AccessibleState.FOCUSED, null);
- if (Build.DEBUG) {
- System.err.println("[" + getAccessibleRole() + "] " + getAccessibleName() + " is no longer focused");
- }
- }
- } // inner class AccessibleFocusHandler
-
- protected java.awt.event.ContainerListener accessibleContainerHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when children added/removed.
- */
-
- protected class AccessibleContainerHandler implements java.awt.event.ContainerListener {
- public void componentAdded(java.awt.event.ContainerEvent e) {
- java.awt.Component c = e.getChild();
- if (c != null && c instanceof javax.accessibility.Accessible) {
- AccessibleContainer.this.firePropertyChange(
- AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- null, ((javax.accessibility.Accessible) c).getAccessibleContext());
- }
- }
- public void componentRemoved(java.awt.event.ContainerEvent e) {
- java.awt.Component c = e.getChild();
- if (c != null && c instanceof javax.accessibility.Accessible) {
- AccessibleContainer.this.firePropertyChange(
- AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- ((javax.accessibility.Accessible) c).getAccessibleContext(), null);
- }
- }
- }
-
- protected int propertyChangeListenerCount = 0;
-
- /**
- * Add a PropertyChangeListener to the listener list.
- *
- * @param listener The PropertyChangeListener to be added
- */
- public void addPropertyChangeListener(java.beans.PropertyChangeListener listener) {
- if (propertyChangeListenerCount++ == 0) {
- accessibleFocusHandler = new AccessibleFocusHandler();
- Container.this.addFocusListener(accessibleFocusHandler);
-
- accessibleContainerHandler = new AccessibleContainerHandler();
- Container.this.addContainerListener(accessibleContainerHandler);
-
- accessibleComponentHandler = new AccessibleComponentHandler();
- Container.this.addComponentListener(accessibleComponentHandler);
- }
- super.addPropertyChangeListener(listener);
- }
-
- /**
- * Remove a PropertyChangeListener from the listener list.
- * This removes a PropertyChangeListener that was registered
- * for all properties.
- *
- * @param listener The PropertyChangeListener to be removed
- */
- public void removePropertyChangeListener(java.beans.PropertyChangeListener listener) {
- if (--propertyChangeListenerCount == 0) {
- Container.this.removeComponentListener(accessibleComponentHandler);
- accessibleComponentHandler = null;
-
- Container.this.removeContainerListener(accessibleContainerHandler);
- accessibleContainerHandler = null;
-
- Container.this.removeFocusListener(accessibleFocusHandler);
- accessibleFocusHandler = null;
- }
- super.removePropertyChangeListener(listener);
- }
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return accessibleRole;
- }
-
- /** Gets the AccessibleText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleText getAccessibleText() {
-
- if (disposed)
- return null;
-
- return accessibleText;
- }
-
- /**
- * Gets the current state set of this object.
- *
- * @return an instance of <code>AccessibleStateSet</code>
- * containing the current state set of the object
- * @see AccessibleState
- */
- public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
- if (disposed)
- return AccessibleStateAdapter.getDefunctStateSet();
-
- try {
- return AccessibleStateAdapter.getAccessibleStateSet(Container.this,
- unoAccessibleContext.getAccessibleStateSet());
- } catch (com.sun.star.uno.RuntimeException e) {
- return AccessibleStateAdapter.getDefunctStateSet();
- }
- }
-
- /** Returns the AccessibleSelection interface for this object */
- public javax.accessibility.AccessibleSelection getAccessibleSelection() {
- try {
- XAccessibleSelection unoAccessibleSelection = UnoRuntime.queryInterface(XAccessibleSelection.class, unoAccessibleContext);
- if (unoAccessibleSelection != null) {
- return new AccessibleSelectionImpl(unoAccessibleSelection);
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
-
- return null;
- }
-
- /** Gets the locale of the component */
- public java.util.Locale getLocale() throws java.awt.IllegalComponentStateException {
- try {
- com.sun.star.lang.Locale unoLocale = unoAccessible.getAccessibleContext().getLocale();
- return new java.util.Locale(unoLocale.Language, unoLocale.Country);
- } catch (IllegalAccessibleComponentStateException e) {
- throw new java.awt.IllegalComponentStateException(e.getMessage());
- } catch (com.sun.star.uno.RuntimeException e) {
- return super.getLocale();
- }
- }
-
- /*
- * AccessibleComponent
- */
-
- /** Returns the background color of the object */
- public java.awt.Color getBackground() {
- try {
- return new java.awt.Color(unoAccessibleComponent.getBackground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setBackground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- /** Returns the foreground color of the object */
- public java.awt.Color getForeground() {
- try {
- return new java.awt.Color(unoAccessibleComponent.getForeground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setForeground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Cursor getCursor() {
- // Not supported by UNO accessibility API
- return null;
- }
-
- public void setCursor(java.awt.Cursor cursor) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Font getFont() {
- // FIXME
- return null;
- }
-
- public void setFont(java.awt.Font f) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.FontMetrics getFontMetrics(java.awt.Font f) {
- // FIXME
- return null;
- }
-
- public boolean isEnabled() {
- return Container.this.isEnabled();
- }
-
- public void setEnabled(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isVisible() {
- return Container.this.isVisible();
- }
-
- public void setVisible(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isShowing() {
- return Container.this.isShowing();
- }
-
- public boolean contains(java.awt.Point p) {
- try {
- return unoAccessibleComponent.containsPoint(new com.sun.star.awt.Point(p.x, p.y));
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Returns the location of the object on the screen. */
- public java.awt.Point getLocationOnScreen() {
- try {
- com.sun.star.awt.Point unoPoint = unoAccessibleComponent.getLocationOnScreen();
- return new java.awt.Point(unoPoint.X, unoPoint.Y);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the location of this component in the form of a point specifying the component's top-left corner */
- public java.awt.Point getLocation() {
- try {
- com.sun.star.awt.Point unoPoint = unoAccessibleComponent.getLocation();
- return new java.awt.Point( unoPoint.X, unoPoint.Y );
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Rectangle unoRect = unoAccessibleComponent.getBounds();
- return new java.awt.Rectangle(unoRect.X, unoRect.Y, unoRect.Width, unoRect.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Size unoSize = unoAccessibleComponent.getSize();
- return new java.awt.Dimension(unoSize.Width, unoSize.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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) {
- try {
- java.awt.Component c = AccessibleObjectFactory.getAccessibleComponent(
- unoAccessibleComponent.getAccessibleAtPoint(new com.sun.star.awt.Point(p.x, p.y)));
-
- return (javax.accessibility.Accessible) c;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public boolean isFocusTraversable() {
- return Container.this.isFocusable();
- }
-
- public void requestFocus() {
- unoAccessibleComponent.grabFocus();
- }
- }
-
- public String toString() {
- return UnoRuntime.generateOid(unoAccessible);
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/DescendantManager.java b/accessibility/bridge/org/openoffice/java/accessibility/DescendantManager.java
deleted file mode 100644
index 4e0aaaf1787a..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/DescendantManager.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.uno.UnoRuntime;
-
-
-public abstract class DescendantManager extends Component {
- protected XAccessibleSelection unoAccessibleSelection = null;
- protected javax.accessibility.Accessible activeDescendant = null;
- protected boolean multiselectable = false;
-
- protected DescendantManager(XAccessible xAccessible,
- XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- protected DescendantManager(XAccessible xAccessible,
- XAccessibleContext xAccessibleContext, boolean multiselectable) {
- super(xAccessible, xAccessibleContext);
- this.multiselectable = multiselectable;
- }
-
- /**
- * Update the proxy objects appropriatly on property change events
- */
- protected class AccessibleDescendantManagerListener
- extends AccessibleUNOComponentListener {
- protected AccessibleDescendantManagerListener() {
- unoAccessibleSelection = UnoRuntime.queryInterface(XAccessibleSelection.class,
- unoAccessibleContext);
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.SELECTION_CHANGED:
- firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY,
- null, null);
-
- break;
-
- default:
- super.notifyEvent(event);
- }
- }
- }
-
- protected abstract class AccessibleDescendantManager
- extends AccessibleUNOComponent
- implements javax.accessibility.AccessibleSelection {
- protected AccessibleDescendantManager() {
- unoAccessibleSelection = UnoRuntime.queryInterface(XAccessibleSelection.class,
- unoAccessibleContext);
- }
-
- /*
- * AccessibleContext
- */
-
- /** Returns the number of accessible children of the object */
- public int getAccessibleChildrenCount() {
- try {
- return unoAccessibleContext.getAccessibleChildCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the AccessibleSelection interface for this object */
- public javax.accessibility.AccessibleSelection getAccessibleSelection() {
- return (unoAccessibleSelection != null) ? this : null;
- }
-
- /*
- * AccessibleSelection
- */
-
- /** Adds the specified Accessible child of the object to the object's selection */
- public void addAccessibleSelection(int i) {
- try {
- unoAccessibleSelection.selectAccessibleChild(i);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Clears the selection in the object, so that no children in the object are selected */
- public void clearAccessibleSelection() {
- try {
- unoAccessibleSelection.clearAccessibleSelection();
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Returns the number of Accessible children currently selected */
- public int getAccessibleSelectionCount() {
- try {
- return unoAccessibleSelection.getSelectedAccessibleChildCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Determines if the current child of this object is selected */
- public boolean isAccessibleChildSelected(int i) {
- try {
- return unoAccessibleSelection.isAccessibleChildSelected(i);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return false;
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Removes the specified child of the object from the object's selection */
- public void removeAccessibleSelection(int i) {
- try {
- unoAccessibleSelection.deselectAccessibleChild(i);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Causes every child of the object to be selected if the object supports multiple selection */
- public void selectAllAccessibleSelection() {
- try {
- unoAccessibleSelection.selectAllAccessibleChildren();
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Dialog.java b/accessibility/bridge/org/openoffice/java/accessibility/Dialog.java
deleted file mode 100644
index a9b2d51a42de..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Dialog.java
+++ /dev/null
@@ -1,642 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-
-public class Dialog extends java.awt.Dialog implements javax.accessibility.Accessible, NativeFrame {
- protected XAccessibleComponent unoAccessibleComponent;
-
- boolean opened = false;
- boolean visible = false;
- boolean active = false;
-
- java.awt.EventQueue eventQueue = null;
-
- protected Dialog(java.awt.Frame owner, XAccessibleComponent xAccessibleComponent) {
- super(owner);
- initialize(xAccessibleComponent);
- }
-
- protected Dialog(java.awt.Frame owner, String name, XAccessibleComponent xAccessibleComponent) {
- super(owner, name);
- initialize(xAccessibleComponent);
- }
-
- protected Dialog(java.awt.Frame owner, String name, boolean modal, XAccessibleComponent xAccessibleComponent) {
- super(owner, name, modal);
- initialize(xAccessibleComponent);
- }
-
- private void initialize(XAccessibleComponent xAccessibleComponent) {
- unoAccessibleComponent = xAccessibleComponent;
- eventQueue = java.awt.Toolkit.getDefaultToolkit().getSystemEventQueue();
- XAccessibleEventBroadcaster broadcaster = UnoRuntime.queryInterface(XAccessibleEventBroadcaster.class,
- xAccessibleComponent);
- if (broadcaster != null) {
- broadcaster.addAccessibleEventListener(new AccessibleDialogListener());
- }
- }
-
- java.awt.Component initialComponent = null;
-
- public java.awt.Component getInitialComponent() {
- return initialComponent;
- }
-
- public void setInitialComponent(java.awt.Component c) {
- initialComponent = c;
- }
-
- public Integer getHWND() {
- return null;
- }
-
- /**
- * Determines whether this <code>Component</code> is showing on screen.
- * This means that the component must be visible, and it must be in a
- * <code>container</code> that is visible and showing.
- * @see #addNotify
- * @see #removeNotify
- * @since JDK1.0
- */
- public boolean isShowing() {
- if (isVisible()) {
- java.awt.Container parent = getParent();
- return (parent == null) || parent.isShowing();
- }
- return false;
- }
-
- /**
- * Makes this <code>Component</code> displayable by connecting it to a
- * native screen resource.
- * This method is called internally by the toolkit and should
- * not be called directly by programs.
- * @see #isDisplayable
- * @see #removeNotify
- * @since JDK1.0
- */
- public void addNotify() {
-// createHierarchyEvents(0, null, null, 0, false);
- }
-
- /**
- * Makes this <code>Component</code> undisplayable by destroying it native
- * screen resource.
- * This method is called by the toolkit internally and should
- * not be called directly by programs.
- * @see #isDisplayable
- * @see #addNotify
- * @since JDK1.0
- */
- public void removeNotify() {
- }
-
- /**
- * Determines if the object is visible. Note: this means that the
- * object intends to be visible; however, it may not in fact be
- * showing on the screen because one of the objects that this object
- * is contained by is not visible. To determine if an object is
- * showing on the screen, use <code>isShowing</code>.
- *
- * @return true if object is visible; otherwise, false
- */
- public boolean isVisible(){
- return visible;
- }
-
- /**
- * Determines whether this component is displayable. A component is
- * displayable when it is connected to a native screen resource.
- * <p>
- * A component is made displayable either when it is added to
- * a displayable containment hierarchy or when its containment
- * hierarchy is made displayable.
- * A containment hierarchy is made displayable when its ancestor
- * window is either packed or made visible.
- * <p>
- * A component is made undisplayable either when it is removed from
- * a displayable containment hierarchy or when its containment hierarchy
- * is made undisplayable. A containment hierarchy is made
- * undisplayable when its ancestor window is disposed.
- *
- * @return <code>true</code> if the component is displayable
- */
- public boolean isDisplayable() {
- return true;
- }
-
- /**
- * Shows or hides this component depending on the value of parameter
- * <code>b</code>.
- * @param b if <code>true</code>, shows this component;
- * otherwise, hides this component
- * @see #isVisible
- * @since JDK1.1
- */
- public void setVisible(boolean b) {
- if (visible != b){
- visible = b;
- if (b) {
- // If it is the first show, fire WINDOW_OPENED event
- if (!opened) {
- postWindowEvent(java.awt.event.WindowEvent.WINDOW_OPENED);
- opened = true;
- }
- postComponentEvent(java.awt.event.ComponentEvent.COMPONENT_SHOWN);
- } else {
- postComponentEvent(java.awt.event.ComponentEvent.COMPONENT_HIDDEN);
- }
- }
- }
-
- public void dispose() {
- setVisible(false);
- postWindowEvent(java.awt.event.WindowEvent.WINDOW_CLOSED);
- }
-
- protected void postWindowEvent(int i) {
- eventQueue.postEvent(new java.awt.event.WindowEvent(this, i));
- }
-
- protected void postComponentEvent(int i) {
- eventQueue.postEvent(new java.awt.event.ComponentEvent(this, i));
- }
-
- /**
- * Update the proxy objects appropriatly on property change events
- */
- protected class AccessibleDialogListener implements XAccessibleEventListener {
-
- protected AccessibleDialogListener() {
- }
-
- protected void setComponentState(short state, boolean enable) {
- switch (state) {
- case AccessibleStateType.ACTIVE:
- active = enable;
- if (enable) {
- AccessibleObjectFactory.postWindowActivated(Dialog.this);
- } else {
- AccessibleObjectFactory.postWindowLostFocus(Dialog.this);
- }
- break;
- case AccessibleStateType.ICONIFIED:
- postWindowEvent(enable ?
- java.awt.event.WindowEvent.WINDOW_ICONIFIED :
- java.awt.event.WindowEvent.WINDOW_DEICONIFIED);
- break;
- case AccessibleStateType.VISIBLE:
- Dialog.this.setVisible(enable);
- break;
- default:
- if (Build.DEBUG) {
- System.err.println("[dialog]: " + getTitle() + "unexpected state change " + state);
- }
- break;
- }
- }
-
- /** Updates the accessible name and fires the appropriate PropertyChangedEvent */
- protected void handleNameChangedEvent(Object any) {
- try {
- String title = AnyConverter.toString(any);
- setTitle(title);
- // This causes the property change event to be fired in the VCL thread
- // context. If this causes problems, it has to be deligated to the java
- // dispatch thread ..
- javax.accessibility.AccessibleContext ac = accessibleContext;
- if (ac!= null) {
- ac.setAccessibleName(title);
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Updates the accessible description and fires the appropriate PropertyChangedEvent */
- protected void handleDescriptionChangedEvent(Object any) {
- try {
- // This causes the property change event to be fired in the VCL thread
- // context. If this causes problems, it has to be deligated to the java
- // dispatch thread ..
- javax.accessibility.AccessibleContext ac = accessibleContext;
- if (ac!= null) {
- ac.setAccessibleDescription(AnyConverter.toString(any));
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Updates the internal states and fires the appropriate PropertyChangedEvent */
- protected void handleStateChangedEvent(Object any1, Object any2) {
- try {
- if (AnyConverter.isShort(any1)) {
- setComponentState(AnyConverter.toShort(any1), false);
- }
-
- if (AnyConverter.isShort(any2)) {
- setComponentState(AnyConverter.toShort(any2), true);
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Fires a visible data property change event */
- protected void handleVisibleDataEvent() {
- javax.accessibility.AccessibleContext ac = accessibleContext;
- if (ac != null) {
- ac.firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY, null, null);
- }
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.NAME_CHANGED:
- // Set the accessible name for the corresponding context, which will fire a property
- // change event itself
- handleNameChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.DESCRIPTION_CHANGED:
- // Set the accessible description for the corresponding context, which will fire a property
- // change event itself - so do not set propertyName !
- handleDescriptionChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.STATE_CHANGED:
- // Update the internal state set and fire the appropriate PropertyChangedEvent
- handleStateChangedEvent(event.OldValue, event.NewValue);
- break;
- case AccessibleEventId.CHILD:
- if (AnyConverter.isObject(event.OldValue)) {
- AccessibleObjectFactory.removeChild(Dialog.this, event.OldValue);
- } else if (AnyConverter.isObject(event.NewValue)) {
- AccessibleObjectFactory.addChild(Dialog.this, event.NewValue);
- }
- break;
- case AccessibleEventId.VISIBLE_DATA_CHANGED:
- case AccessibleEventId.BOUNDRECT_CHANGED:
- handleVisibleDataEvent();
- break;
- default:
- // Warn about unhandled events
- if(Build.DEBUG) {
- System.out.println(this + ": unhandled accessibility event id=" + event.EventId);
- }
- }
- }
-
- /** Called by OpenOffice process to notify that the UNO component is disposing */
- public void disposing(com.sun.star.lang.EventObject eventObject) {
- }
- }
-
- javax.accessibility.AccessibleContext accessibleContext = null;
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- accessibleContext = new AccessibleDialog();
- accessibleContext.setAccessibleName(getTitle());
- }
- return accessibleContext;
- }
-
- protected class AccessibleDialog extends java.awt.Dialog.AccessibleAWTDialog {
- protected AccessibleDialog() {
- super();
- }
-
- protected java.awt.event.ComponentListener accessibleComponentHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when shown/hidden..
- */
- protected class AccessibleComponentHandler implements java.awt.event.ComponentListener {
- public void componentHidden(java.awt.event.ComponentEvent e) {
- AccessibleDialog.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- javax.accessibility.AccessibleState.VISIBLE, null);
- }
-
- public void componentShown(java.awt.event.ComponentEvent e) {
- AccessibleDialog.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, javax.accessibility.AccessibleState.VISIBLE);
- }
-
- public void componentMoved(java.awt.event.ComponentEvent e) {
- }
-
- public void componentResized(java.awt.event.ComponentEvent e) {
- }
- } // inner class AccessibleComponentHandler
-
- protected java.awt.event.WindowListener accessibleWindowHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when window events happen
- */
- protected class AccessibleWindowHandler implements java.awt.event.WindowListener {
- /** Invoked when the Window is set to be the active Window. */
- public void windowActivated(java.awt.event.WindowEvent e) {
- AccessibleDialog.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, javax.accessibility.AccessibleState.ACTIVE);
- if (Build.DEBUG) {
- System.err.println("[Dialog] " + getTitle() + " is now active");
- }
- }
-
- /** Invoked when a window has been closed as the result of calling dispose on the window. */
- public void windowClosed(java.awt.event.WindowEvent e) {
- if (Build.DEBUG) {
- System.err.println("[Dialog] " + getTitle() + " has been closed");
- }
- }
-
- /** Invoked when the user attempts to close the window from the window's system menu. */
- public void windowClosing(java.awt.event.WindowEvent e) {
- if (Build.DEBUG) {
- System.err.println("[Dialog] " + getTitle() + " is closing");
- }
- }
-
- /** Invoked when a Window is no longer the active Window. */
- public void windowDeactivated(java.awt.event.WindowEvent e) {
- AccessibleDialog.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- javax.accessibility.AccessibleState.ACTIVE, null);
- if (Build.DEBUG) {
- System.err.println("[Dialog] " + getTitle() + " is no longer active");
- }
- }
-
- /** Invoked when a window is changed from a minimized to a normal state. */
- public void windowDeiconified(java.awt.event.WindowEvent e) {
- if (Build.DEBUG) {
- System.err.println("[Dialog] " + getTitle() + " has been deiconified");
- }
- }
-
- /** Invoked when a window is changed from a normal to a minimized state. */
- public void windowIconified(java.awt.event.WindowEvent e) {
- if (Build.DEBUG) {
- System.err.println("[Dialog] " + getTitle() + " has been iconified");
- }
- }
-
- /** Invoked the first time a window is made visible. */
- public void windowOpened(java.awt.event.WindowEvent e) {
- if (Build.DEBUG) {
- System.err.println("[Dialog] " + getTitle() + " has been opened");
- }
- }
-
- } // inner class AccessibleWindowHandler
-
- protected java.awt.event.ContainerListener accessibleContainerHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when children added/removed.
- */
-
- protected class AccessibleContainerHandler implements java.awt.event.ContainerListener {
- public void componentAdded(java.awt.event.ContainerEvent e) {
- java.awt.Component c = e.getChild();
- if (c != null && c instanceof javax.accessibility.Accessible) {
- AccessibleDialog.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- null, ((javax.accessibility.Accessible) c).getAccessibleContext());
- }
- }
- public void componentRemoved(java.awt.event.ContainerEvent e) {
- java.awt.Component c = e.getChild();
- if (c != null && c instanceof javax.accessibility.Accessible) {
- AccessibleDialog.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- ((javax.accessibility.Accessible) c).getAccessibleContext(), null);
- }
- }
- }
-
- protected int propertyChangeListenerCount = 0;
-
- /**
- * Add a PropertyChangeListener to the listener list.
- *
- * @param listener The PropertyChangeListener to be added
- */
- public void addPropertyChangeListener(java.beans.PropertyChangeListener listener) {
- if (propertyChangeListenerCount++ == 0) {
- accessibleWindowHandler = new AccessibleWindowHandler();
- Dialog.this.addWindowListener(accessibleWindowHandler);
-
- accessibleContainerHandler = new AccessibleContainerHandler();
- Dialog.this.addContainerListener(accessibleContainerHandler);
-
- accessibleComponentHandler = new AccessibleComponentHandler();
- Dialog.this.addComponentListener(accessibleComponentHandler);
- }
- super.addPropertyChangeListener(listener);
- }
-
- /**
- * Remove a PropertyChangeListener from the listener list.
- * This removes a PropertyChangeListener that was registered
- * for all properties.
- *
- * @param listener The PropertyChangeListener to be removed
- */
- public void removePropertyChangeListener(java.beans.PropertyChangeListener listener) {
- if (--propertyChangeListenerCount == 0) {
- Dialog.this.removeComponentListener(accessibleComponentHandler);
- accessibleComponentHandler = null;
-
- Dialog.this.removeContainerListener(accessibleContainerHandler);
- accessibleContainerHandler = null;
-
- Dialog.this.removeWindowListener(accessibleWindowHandler);
- accessibleWindowHandler = null;
- }
- super.removePropertyChangeListener(listener);
- }
-
- /*
- * AccessibleComponent
- */
-
- /** Returns the background color of the object */
- public java.awt.Color getBackground() {
- try {
- return new java.awt.Color(unoAccessibleComponent.getBackground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setBackground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- /** Returns the foreground color of the object */
- public java.awt.Color getForeground() {
- try {
- return new java.awt.Color(unoAccessibleComponent.getForeground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setForeground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Cursor getCursor() {
- // Not supported by UNO accessibility API
- return null;
- }
-
- public void setCursor(java.awt.Cursor cursor) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Font getFont() {
- // FIXME
- return null;
- }
-
- public void setFont(java.awt.Font f) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.FontMetrics getFontMetrics(java.awt.Font f) {
- // FIXME
- return null;
- }
-
- public boolean isEnabled() {
- return Dialog.this.isEnabled();
- }
-
- public void setEnabled(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isVisible() {
- return Dialog.this.isVisible();
- }
-
- public void setVisible(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isShowing() {
- return Dialog.this.isShowing();
- }
-
- public boolean contains(java.awt.Point p) {
- try {
- return unoAccessibleComponent.containsPoint(new com.sun.star.awt.Point(p.x, p.y));
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Returns the location of the object on the screen. */
- public java.awt.Point getLocationOnScreen() {
- try {
- com.sun.star.awt.Point unoPoint = unoAccessibleComponent.getLocationOnScreen();
- return new java.awt.Point(unoPoint.X, unoPoint.Y);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the location of this component in the form of a point specifying the component's top-left corner */
- public java.awt.Point getLocation() {
- try {
- com.sun.star.awt.Point unoPoint = unoAccessibleComponent.getLocation();
- return new java.awt.Point( unoPoint.X, unoPoint.Y );
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Rectangle unoRect = unoAccessibleComponent.getBounds();
- return new java.awt.Rectangle(unoRect.X, unoRect.Y, unoRect.Width, unoRect.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Size unoSize = unoAccessibleComponent.getSize();
- return new java.awt.Dimension(unoSize.Width, unoSize.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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) {
- try {
- java.awt.Component c = AccessibleObjectFactory.getAccessibleComponent(
- unoAccessibleComponent.getAccessibleAtPoint(new com.sun.star.awt.Point(p.x, p.y)));
-
- return (javax.accessibility.Accessible) c;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public boolean isFocusTraversable() {
- return Dialog.this.isFocusable();
- }
-
- public void requestFocus() {
- unoAccessibleComponent.grabFocus();
- }
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/FocusTraversalPolicy.java b/accessibility/bridge/org/openoffice/java/accessibility/FocusTraversalPolicy.java
deleted file mode 100644
index 5da2803fab45..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/FocusTraversalPolicy.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-
-public class FocusTraversalPolicy extends java.awt.FocusTraversalPolicy {
-
- protected javax.accessibility.Accessible getSelectedAccessibleChild(javax.accessibility.Accessible a) {
- javax.accessibility.AccessibleContext ac = a.getAccessibleContext();
- if (ac != null) {
- javax.accessibility.AccessibleSelection as = ac.getAccessibleSelection();
- if (as != null) {
- return as.getAccessibleSelection(0);
- }
- }
- return null;
- }
-
- /** Returns the Component that should receive the focus after aComponent */
- public java.awt.Component getComponentAfter(java.awt.Container focusCycleRoot,
- java.awt.Component aComponent) {
- return null;
- }
-
- /** Returns the Component that should receive the focus before aComponent */
- public java.awt.Component getComponentBefore(java.awt.Container focusCycleRoot,
- java.awt.Component aComponent) {
- return null;
- }
-
- /** Returns the default Component to focus */
- public java.awt.Component getDefaultComponent(java.awt.Container focusCycleRoot) {
- // getDefaultComponent must not return null for Windows to make them focusable.
- if (focusCycleRoot instanceof NativeFrame) {
- java.awt.Component c = ((NativeFrame) focusCycleRoot).getInitialComponent();
- if (c != null) {
- return c;
- }
- }
-
- if (focusCycleRoot instanceof javax.accessibility.Accessible) {
- return (java.awt.Component) getSelectedAccessibleChild((javax.accessibility.Accessible) focusCycleRoot);
- }
- return null;
- }
-
- /** Returns the first Component in the traversal cycle */
- public java.awt.Component getFirstComponent(java.awt.Container focusCycleRoot) {
- return null;
- }
-
- /** Returns the Component that should receive the focus when a Window is made visible for the first time */
- public java.awt.Component getInitialComponent(java.awt.Window window) {
- if (window instanceof NativeFrame) {
- return ((NativeFrame) window).getInitialComponent();
- }
- return null;
- }
-
- /** Returns the last Component in the traversal cycle */
- public java.awt.Component getLastComponent(java.awt.Container focusCycleRoot) {
- return null;
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Frame.java b/accessibility/bridge/org/openoffice/java/accessibility/Frame.java
deleted file mode 100644
index fe927cbc1670..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Frame.java
+++ /dev/null
@@ -1,659 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-
-public class Frame extends java.awt.Frame implements javax.accessibility.Accessible, NativeFrame {
- protected XAccessibleComponent unoAccessibleComponent;
-
- boolean opened = false;
- boolean visible = false;
- boolean active = false;
-
- java.awt.EventQueue eventQueue = null;
-
- protected Frame(XAccessibleComponent xAccessibleComponent) {
- initialize(xAccessibleComponent);
- }
-
- protected Frame(String name, XAccessibleComponent xAccessibleComponent) {
- super(name);
- initialize(xAccessibleComponent);
- }
-
- private void initialize(XAccessibleComponent xAccessibleComponent) {
- unoAccessibleComponent = xAccessibleComponent;
- eventQueue = java.awt.Toolkit.getDefaultToolkit().getSystemEventQueue();
- XAccessibleEventBroadcaster broadcaster = UnoRuntime.queryInterface(XAccessibleEventBroadcaster.class,
- unoAccessibleComponent);
- if (broadcaster != null) {
- broadcaster.addAccessibleEventListener(new AccessibleFrameListener());
- }
- }
-
- java.awt.Component initialComponent = null;
-
- public java.awt.Component getInitialComponent() {
- return initialComponent;
- }
-
- public void setInitialComponent(java.awt.Component c) {
- initialComponent = c;
- }
-
- public Integer getHWND() {
- return null;
- }
-
- /**
- * Determines whether this <code>Component</code> is showing on screen.
- * This means that the component must be visible, and it must be in a
- * <code>container</code> that is visible and showing.
- * @see #addNotify
- * @see #removeNotify
- * @since JDK1.0
- */
- public boolean isShowing() {
- if (isVisible()) {
- java.awt.Container parent = getParent();
- return (parent == null) || parent.isShowing();
- }
- return false;
- }
-
- /**
- * Makes this <code>Component</code> displayable by connecting it to a
- * native screen resource.
- * This method is called internally by the toolkit and should
- * not be called directly by programs.
- * @see #isDisplayable
- * @see #removeNotify
- * @since JDK1.0
- */
- public void addNotify() {
-// createHierarchyEvents(0, null, null, 0, false);
- }
-
- /**
- * Makes this <code>Component</code> undisplayable by destroying it native
- * screen resource.
- * This method is called by the toolkit internally and should
- * not be called directly by programs.
- * @see #isDisplayable
- * @see #addNotify
- * @since JDK1.0
- */
- public void removeNotify() {
- }
-
- /**
- * Determines if the object is visible. Note: this means that the
- * object intends to be visible; however, it may not in fact be
- * showing on the screen because one of the objects that this object
- * is contained by is not visible. To determine if an object is
- * showing on the screen, use <code>isShowing</code>.
- *
- * @return true if object is visible; otherwise, false
- */
- public boolean isVisible(){
- return visible;
- }
-
- /**
- * Shows or hides this component depending on the value of parameter
- * <code>b</code>.
- * @param b if <code>true</code>, shows this component;
- * otherwise, hides this component
- * @see #isVisible
- * @since JDK1.1
- */
- public void setVisible(boolean b) {
- if (visible != b){
- visible = b;
- if (b) {
- // If it is the first show, fire WINDOW_OPENED event
- if (!opened) {
- postWindowEvent(java.awt.event.WindowEvent.WINDOW_OPENED);
- opened = true;
- }
- postComponentEvent(java.awt.event.ComponentEvent.COMPONENT_SHOWN);
- } else {
- postComponentEvent(java.awt.event.ComponentEvent.COMPONENT_HIDDEN);
- }
- }
- }
-
- public void dispose() {
- setVisible(false);
- postWindowEvent(java.awt.event.WindowEvent.WINDOW_CLOSED);
- }
-
- protected void postWindowEvent(int i) {
- eventQueue.postEvent(new java.awt.event.WindowEvent(this, i));
- }
-
- protected void postComponentEvent(int i) {
- eventQueue.postEvent(new java.awt.event.ComponentEvent(this, i));
- }
-
- /**
- * Update the proxy objects appropriatly on property change events
- */
- protected class AccessibleFrameListener implements XAccessibleEventListener {
-
- protected AccessibleFrameListener() {
- }
-
- // The only expected state changes are ACTIVE and VISIBLE
- protected void setComponentState(short state, boolean enable) {
- switch (state) {
- case AccessibleStateType.ACTIVE:
- active = enable;
- if (enable) {
- AccessibleObjectFactory.postWindowActivated(Frame.this);
- } else {
- AccessibleObjectFactory.postWindowLostFocus(Frame.this);
- }
- break;
- case AccessibleStateType.ICONIFIED:
- if (Build.DEBUG) {
- System.err.println("[frame]" + getTitle() + (enable ? " is now " : " is no longer ") + "iconified");
- }
- postWindowEvent(enable ?
- java.awt.event.WindowEvent.WINDOW_ICONIFIED :
- java.awt.event.WindowEvent.WINDOW_DEICONIFIED);
- break;
- case AccessibleStateType.VISIBLE:
- Frame.this.setVisible(enable);
- break;
- default:
- if (Build.DEBUG) {
- System.err.println("[frame]: " + getTitle() + "unexpected state change " + state);
- }
- break;
- }
- }
-
- /** Updates the accessible name and fires the appropriate PropertyChangedEvent */
- protected void handleNameChangedEvent(Object any) {
- try {
- String title = AnyConverter.toString(any);
- setTitle(title);
- // This causes the property change event to be fired in the VCL thread
- // context. If this causes problems, it has to be deligated to the java
- // dispatch thread ..
- javax.accessibility.AccessibleContext ac = accessibleContext;
- if (ac!= null) {
- ac.setAccessibleName(title);
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Updates the accessible description and fires the appropriate PropertyChangedEvent */
- protected void handleDescriptionChangedEvent(Object any) {
- try {
- // This causes the property change event to be fired in the VCL thread
- // context. If this causes problems, it has to be deligated to the java
- // dispatch thread ..
- javax.accessibility.AccessibleContext ac = accessibleContext;
- if (ac!= null) {
- ac.setAccessibleDescription(AnyConverter.toString(any));
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Updates the internal states and fires the appropriate PropertyChangedEvent */
- protected void handleStateChangedEvent(Object any1, Object any2) {
- try {
- if (AnyConverter.isShort(any1)) {
- setComponentState(AnyConverter.toShort(any1), false);
- }
-
- if (AnyConverter.isShort(any2)) {
- setComponentState(AnyConverter.toShort(any2), true);
- }
- }
-
- catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Fires a visible data property change event */
- protected void handleVisibleDataEvent() {
- javax.accessibility.AccessibleContext ac = accessibleContext;
- if (ac != null) {
- ac.firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY, null, null);
- }
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.NAME_CHANGED:
- // Set the accessible name for the corresponding context, which will fire a property
- // change event itself
- handleNameChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.DESCRIPTION_CHANGED:
- // Set the accessible description for the corresponding context, which will fire a property
- // change event itself - so do not set propertyName !
- handleDescriptionChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.STATE_CHANGED:
- // Update the internal state set and fire the appropriate PropertyChangedEvent
- handleStateChangedEvent(event.OldValue, event.NewValue);
- break;
- case AccessibleEventId.CHILD:
- if (AnyConverter.isObject(event.OldValue)) {
- AccessibleObjectFactory.removeChild(Frame.this, event.OldValue);
- } else if (AnyConverter.isObject(event.NewValue)) {
- AccessibleObjectFactory.addChild(Frame.this, event.NewValue);
- }
- break;
- case AccessibleEventId.VISIBLE_DATA_CHANGED:
- case AccessibleEventId.BOUNDRECT_CHANGED:
- handleVisibleDataEvent();
- break;
- default:
- // Warn about unhandled events
- if(Build.DEBUG) {
- System.out.println(this + ": unhandled accessibility event id=" + event.EventId);
- }
- }
- }
-
- /** Called by OpenOffice process to notify that the UNO component is disposing */
- public void disposing(com.sun.star.lang.EventObject eventObject) {
- }
- }
-
- protected javax.accessibility.AccessibleContext accessibleContext = null;
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- accessibleContext = new AccessibleFrame();
- accessibleContext.setAccessibleName(getTitle());
- }
- return accessibleContext;
- }
-
- protected class AccessibleFrame extends java.awt.Frame.AccessibleAWTFrame {
- protected AccessibleFrame() {
- super();
- }
-
- protected java.awt.event.ComponentListener accessibleComponentHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when shown/hidden..
- */
- protected class AccessibleComponentHandler implements java.awt.event.ComponentListener {
- public void componentHidden(java.awt.event.ComponentEvent e) {
- AccessibleFrame.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- javax.accessibility.AccessibleState.VISIBLE, null);
- }
-
- public void componentShown(java.awt.event.ComponentEvent e) {
- AccessibleFrame.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, javax.accessibility.AccessibleState.VISIBLE);
- }
-
- public void componentMoved(java.awt.event.ComponentEvent e) {
- }
-
- public void componentResized(java.awt.event.ComponentEvent e) {
- }
- } // inner class AccessibleComponentHandler
-
- protected java.awt.event.WindowListener accessibleWindowHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when window events happen
- */
- protected class AccessibleWindowHandler implements java.awt.event.WindowListener {
- /** Invoked when the Window is set to be the active Window. */
- public void windowActivated(java.awt.event.WindowEvent e) {
- AccessibleFrame.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, javax.accessibility.AccessibleState.ACTIVE);
- if (Build.DEBUG) {
- System.err.println("[frame] " + getTitle() + " is now active");
- }
- }
-
- /** Invoked when a window has been closed as the result of calling dispose on the window. */
- public void windowClosed(java.awt.event.WindowEvent e) {
- if (Build.DEBUG) {
- System.err.println("[frame] " + getTitle() + " has been closed");
- }
- }
-
- /** Invoked when the user attempts to close the window from the window's system menu. */
- public void windowClosing(java.awt.event.WindowEvent e) {
- if (Build.DEBUG) {
- System.err.println("[frame] " + getTitle() + " is closing");
- }
- }
-
- /** Invoked when a Window is no longer the active Window. */
- public void windowDeactivated(java.awt.event.WindowEvent e) {
- AccessibleFrame.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- javax.accessibility.AccessibleState.ACTIVE, null);
- if (Build.DEBUG) {
- System.err.println("[frame] " + getTitle() + " is no longer active");
- }
- }
-
- /** Invoked when a window is changed from a minimized to a normal state. */
- public void windowDeiconified(java.awt.event.WindowEvent e) {
- if (Build.DEBUG) {
- System.err.println("[frame] " + getTitle() + " is no longer iconified");
- }
- }
-
- /** Invoked when a window is changed from a normal to a minimized state. */
- public void windowIconified(java.awt.event.WindowEvent e) {
- if (Build.DEBUG) {
- System.err.println("[frame] " + getTitle() + " has been iconified");
- }
- }
-
- /** Invoked the first time a window is made visible. */
- public void windowOpened(java.awt.event.WindowEvent e) {
- if (Build.DEBUG) {
- System.err.println("[frame] " + getTitle() + " has been opened");
- }
- }
-
- } // inner class AccessibleWindowHandler
-
- protected java.awt.event.ContainerListener accessibleContainerHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when children added/removed.
- */
-
- protected class AccessibleContainerHandler implements java.awt.event.ContainerListener {
- public void componentAdded(java.awt.event.ContainerEvent e) {
- java.awt.Component c = e.getChild();
- if (c != null && c instanceof javax.accessibility.Accessible) {
- AccessibleFrame.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- null, ((javax.accessibility.Accessible) c).getAccessibleContext());
- }
- }
- public void componentRemoved(java.awt.event.ContainerEvent e) {
- java.awt.Component c = e.getChild();
- if (c != null && c instanceof javax.accessibility.Accessible) {
- AccessibleFrame.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- ((javax.accessibility.Accessible) c).getAccessibleContext(), null);
- }
- }
- }
-
- protected int propertyChangeListenerCount = 0;
-
- /**
- * Add a PropertyChangeListener to the listener list.
- *
- * @param listener The PropertyChangeListener to be added
- */
- public void addPropertyChangeListener(java.beans.PropertyChangeListener listener) {
- if (propertyChangeListenerCount++ == 0) {
- accessibleWindowHandler = new AccessibleWindowHandler();
- Frame.this.addWindowListener(accessibleWindowHandler);
-
- accessibleContainerHandler = new AccessibleContainerHandler();
- Frame.this.addContainerListener(accessibleContainerHandler);
-
- accessibleComponentHandler = new AccessibleComponentHandler();
- Frame.this.addComponentListener(accessibleComponentHandler);
- }
- super.addPropertyChangeListener(listener);
- }
-
- /**
- * Remove a PropertyChangeListener from the listener list.
- * This removes a PropertyChangeListener that was registered
- * for all properties.
- *
- * @param listener The PropertyChangeListener to be removed
- */
- public void removePropertyChangeListener(java.beans.PropertyChangeListener listener) {
- if (--propertyChangeListenerCount == 0) {
- Frame.this.removeComponentListener(accessibleComponentHandler);
- accessibleComponentHandler = null;
-
- Frame.this.removeContainerListener(accessibleContainerHandler);
- accessibleContainerHandler = null;
-
- Frame.this.removeWindowListener(accessibleWindowHandler);
- accessibleWindowHandler = null;
- }
- super.removePropertyChangeListener(listener);
- }
-
- /**
- * Get the state set of this object.
- *
- * @return an instance of AccessibleState containing the current state
- * of the object
- * @see javax.accessibility.AccessibleState
- */
- public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
- javax.accessibility.AccessibleStateSet states = super.getAccessibleStateSet();
- if ((getExtendedState() & java.awt.Frame.ICONIFIED) > 0) {
- states.add(javax.accessibility.AccessibleState.ICONIFIED);
- }
- return states;
- }
-
- /*
- * AccessibleComponent
- */
-
- /** Returns the background color of the object */
- public java.awt.Color getBackground() {
- try {
- return new java.awt.Color(unoAccessibleComponent.getBackground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setBackground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- /** Returns the foreground color of the object */
- public java.awt.Color getForeground() {
- try {
- return new java.awt.Color(unoAccessibleComponent.getForeground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setForeground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Cursor getCursor() {
- // Not supported by UNO accessibility API
- return null;
- }
-
- public void setCursor(java.awt.Cursor cursor) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Font getFont() {
- // FIXME
- return null;
- }
-
- public void setFont(java.awt.Font f) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.FontMetrics getFontMetrics(java.awt.Font f) {
- // FIXME
- return null;
- }
-
- public boolean isEnabled() {
- return Frame.this.isEnabled();
- }
-
- public void setEnabled(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isVisible() {
- return Frame.this.isVisible();
- }
-
- public void setVisible(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isShowing() {
- return Frame.this.isShowing();
- }
-
- public boolean contains(java.awt.Point p) {
- try {
- return unoAccessibleComponent.containsPoint(new com.sun.star.awt.Point(p.x, p.y));
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Returns the location of the object on the screen. */
- public java.awt.Point getLocationOnScreen() {
- try {
- com.sun.star.awt.Point unoPoint = unoAccessibleComponent.getLocationOnScreen();
- return new java.awt.Point(unoPoint.X, unoPoint.Y);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the location of this component in the form of a point specifying the component's top-left corner */
- public java.awt.Point getLocation() {
- try {
- com.sun.star.awt.Point unoPoint = unoAccessibleComponent.getLocation();
- return new java.awt.Point( unoPoint.X, unoPoint.Y );
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Rectangle unoRect = unoAccessibleComponent.getBounds();
- return new java.awt.Rectangle(unoRect.X, unoRect.Y, unoRect.Width, unoRect.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Size unoSize = unoAccessibleComponent.getSize();
- return new java.awt.Dimension(unoSize.Width, unoSize.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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) {
- try {
- java.awt.Component c = AccessibleObjectFactory.getAccessibleComponent(
- unoAccessibleComponent.getAccessibleAtPoint(new com.sun.star.awt.Point(p.x, p.y)));
-
- return (javax.accessibility.Accessible) c;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public boolean isFocusTraversable() {
- return Frame.this.isFocusable();
- }
-
- public void requestFocus() {
- unoAccessibleComponent.grabFocus();
- }
- }
-
- /**
- * Determines whether this component is displayable. A component is
- * displayable when it is connected to a native screen resource.
- * <p>
- * A component is made displayable either when it is added to
- * a displayable containment hierarchy or when its containment
- * hierarchy is made displayable.
- * A containment hierarchy is made displayable when its ancestor
- * window is either packed or made visible.
- * <p>
- * A component is made undisplayable either when it is removed from
- * a displayable containment hierarchy or when its containment hierarchy
- * is made undisplayable. A containment hierarchy is made
- * undisplayable when its ancestor window is disposed.
- *
- * @return <code>true</code> if the component is displayable
- */
- @Override
- public boolean isDisplayable() {
- return true;
- }
-
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Icon.java b/accessibility/bridge/org/openoffice/java/accessibility/Icon.java
deleted file mode 100644
index 9889fa39091c..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Icon.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.uno.*;
-
-
-/**
- */
-public class Icon extends Component implements javax.accessibility.Accessible {
- protected Icon(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleIcon();
- }
-
- protected class AccessibleIcon extends AccessibleUNOComponent {
- /**
- * Though the class is abstract, this should be called by all sub-classes
- */
- protected AccessibleIcon() {
- super();
- }
-
- /** Gets the AccessibleText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleIcon[] getAccessibleIcon() {
- try {
- XAccessibleImage unoAccessibleImage = UnoRuntime.queryInterface(XAccessibleImage.class,
- unoAccessibleComponent);
-
- if (unoAccessibleImage != null) {
- javax.accessibility.AccessibleIcon[] icons = {
- new AccessibleIconImpl(unoAccessibleImage)
- };
-
- return icons;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
-
- return null;
- }
-
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Label.java b/accessibility/bridge/org/openoffice/java/accessibility/Label.java
deleted file mode 100644
index 70e0628e9180..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Label.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.uno.*;
-
-
-/**
- */
-public class Label extends Component implements javax.accessibility.Accessible {
- protected Label(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleLabel();
- }
-
- protected class AccessibleLabel extends AccessibleUNOComponent {
- /**
- * Though the class is abstract, this should be called by all sub-classes
- */
- protected AccessibleLabel() {
- super();
- }
-
- /*
- * AccessibleContext
- */
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.LABEL;
- }
-
- /** Gets the AccessibleText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleText getAccessibleText() {
-
- if (disposed)
- return null;
-
- try {
- XAccessibleText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleText.class,
- unoAccessibleContext);
-
- if (unoAccessibleText != null) {
- return new AccessibleTextImpl(unoAccessibleText);
- } else {
- return null;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns the relation set of this object */
- public javax.accessibility.AccessibleRelationSet getAccessibleRelationSet() {
- try {
- XAccessibleRelationSet unoAccessibleRelationSet = unoAccessibleContext.getAccessibleRelationSet();
-
- if (unoAccessibleRelationSet == null) {
- return null;
- }
-
- javax.accessibility.AccessibleRelationSet relationSet = new javax.accessibility.AccessibleRelationSet();
- int count = unoAccessibleRelationSet.getRelationCount();
-
- for (int i = 0; i < count; i++) {
- AccessibleRelation unoAccessibleRelation = unoAccessibleRelationSet.getRelation(i);
-
- switch (unoAccessibleRelation.RelationType) {
- case AccessibleRelationType.LABEL_FOR:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.LABEL_FOR,
- getAccessibleComponents(
- unoAccessibleRelation.TargetSet)));
-
- break;
-
- case AccessibleRelationType.MEMBER_OF:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.MEMBER_OF,
- getAccessibleComponents(
- unoAccessibleRelation.TargetSet)));
-
- break;
-
- default:
- break;
- }
- }
-
- return relationSet;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/List.java b/accessibility/bridge/org/openoffice/java/accessibility/List.java
deleted file mode 100644
index cfa9e19f3924..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/List.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import javax.accessibility.AccessibleContext;
-import com.sun.star.uno.AnyConverter;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.accessibility.*;
-
-public class List extends DescendantManager implements javax.accessibility.Accessible {
-
- protected List(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- protected void setActiveDescendant(javax.accessibility.Accessible descendant) {
- javax.accessibility.Accessible oldAD = activeDescendant;
- activeDescendant = descendant;
- firePropertyChange(AccessibleContext.ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
- oldAD, descendant);
- }
-
- protected void setActiveDescendant(Object any) {
- javax.accessibility.Accessible descendant = null;
- try {
- if (AnyConverter.isObject(any)) {
- XAccessible unoAccessible = (XAccessible) AnyConverter.toObject(
- AccessibleObjectFactory.XAccessibleType, any);
- if (unoAccessible != null) {
- // FIXME: have to handle non transient objects here ..
- descendant = new ListItem(unoAccessible);
- if (Build.DEBUG) {
- try {
- if (Build.DEBUG) {
- System.err.println("[List] retrieved active descendant event: new descendant is " +
- unoAccessible.getAccessibleContext().getAccessibleName());
- }
- } catch (java.lang.NullPointerException e) {
- System.err.println("*** ERROR *** new active descendant not accessible");
- }
- }
- }
- }
- setActiveDescendant(descendant);
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- protected void add(XAccessible unoAccessible) {
- if (unoAccessible != null) {
- ListItem item = new ListItem(unoAccessible);
- // The AccessBridge for Windows expects an instance of AccessibleContext
- // as parameters
- firePropertyChange(AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- null, item.getAccessibleContext());
- }
- }
-
- protected void remove(XAccessible unoAccessible) {
- if (unoAccessible != null) {
- ListItem item = new ListItem(unoAccessible);
- // The AccessBridge for Windows expects an instance of AccessibleContext
- // as parameters
- firePropertyChange(AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- item.getAccessibleContext(), null);
- }
- }
-
- protected void add(Object any) {
- try {
- add((XAccessible) AnyConverter.toObject(AccessibleObjectFactory.XAccessibleType, any));
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- protected void remove(Object any) {
- try {
- remove((XAccessible) AnyConverter.toObject(AccessibleObjectFactory.XAccessibleType, any));
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /**
- * Update the proxy objects appropriatly on property change events
- */
- protected class AccessibleListListener extends AccessibleDescendantManagerListener {
-
- protected AccessibleListListener() {
- super();
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.ACTIVE_DESCENDANT_CHANGED:
- setActiveDescendant(event.NewValue);
- break;
- case AccessibleEventId.CHILD:
- if (AnyConverter.isObject(event.OldValue)) {
- remove(event.OldValue);
- }
- if (AnyConverter.isObject(event.NewValue)) {
- add(event.NewValue);
- }
- break;
- case AccessibleEventId.INVALIDATE_ALL_CHILDREN:
- // Since List items a transient a child events are mostly used
- // to attach/detach listeners, it is save to ignore it here
- break;
- default:
- super.notifyEvent(event);
- }
- }
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleListListener();
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleList();
- }
-
- protected class AccessibleList extends AccessibleDescendantManager {
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.LIST;
- }
-
- /** Returns the specified Accessible child of the object */
- public javax.accessibility.Accessible getAccessibleChild(int i) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleContext.getAccessibleChild(i);
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = List.this.activeDescendant;
- if ((activeDescendant instanceof ListItem) && xAccessible.equals(((ListItem) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new ListItem(xAccessible);
- }
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /*
- * AccessibleComponent
- */
-
- /** Returns the Accessible child, if one exists, contained at the local coordinate Point */
- public javax.accessibility.Accessible getAccessibleAt(java.awt.Point p) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleComponent.getAccessibleAtPoint(new com.sun.star.awt.Point(p.x, p.y));
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = List.this.activeDescendant;
- if ((activeDescendant instanceof ListItem) && xAccessible.equals(((ListItem) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new ListItem(xAccessible);
- }
- }
- return child;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /*
- * AccessibleSelection
- */
-
- /** Returns an Accessible representing the specified selected child of the object */
- public javax.accessibility.Accessible getAccessibleSelection(int i) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleSelection.getSelectedAccessibleChild(i);
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = List.this.activeDescendant;
- if ((activeDescendant instanceof ListItem) && xAccessible.equals(((ListItem) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new ListItem(xAccessible);
- }
- } else if (Build.DEBUG) {
- System.out.println(i + "th selected child is not accessible");
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- if (Build.DEBUG) {
- System.err.println("IndexOutOfBoundsException caught for AccessibleList.getAccessibleSelection(" + i + ")");
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
- }
-
- class ListItem extends java.awt.Component implements javax.accessibility.Accessible {
-
- protected XAccessible unoAccessible;
-
- public ListItem(XAccessible xAccessible) {
- unoAccessible = xAccessible;
- }
-
- public Object[] create(Object[] targetSet) {
- try {
- java.util.ArrayList<ListItem> list = new java.util.ArrayList<ListItem>(targetSet.length);
- for (int i=0; i < targetSet.length; i++) {
- XAccessible xAccessible = UnoRuntime.queryInterface(
- XAccessible.class, targetSet[i]);
- if (xAccessible != null) {
- list.add(new ListItem(xAccessible));
- }
- }
- list.trimToSize();
- return list.toArray();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- javax.accessibility.AccessibleContext accessibleContext = null;
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- try {
- XAccessibleContext xAccessibleContext = unoAccessible.getAccessibleContext();
- if (xAccessibleContext != null) {
- javax.accessibility.AccessibleContext ac = new AccessibleListItem(xAccessibleContext);
- ac.setAccessibleParent(List.this);
- accessibleContext = ac;
- AccessibleStateAdapter.setComponentState(this, xAccessibleContext.getAccessibleStateSet());
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
- return accessibleContext;
- }
-
- protected class AccessibleListItem extends javax.accessibility.AccessibleContext {
-
- XAccessibleContext unoAccessibleContext;
-
- public AccessibleListItem(XAccessibleContext xAccessibleContext) {
- unoAccessibleContext = xAccessibleContext;
- }
-
- /** Returns the accessible name of this object */
- public String getAccessibleName() {
- try {
- return unoAccessibleContext.getAccessibleName();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Sets the accessible name of this object */
- public void setAccessibleName(String name) {
- // Not supported
- }
-
- /** Returns the accessible name of this object */
- public String getAccessibleDescription() {
- try {
- return unoAccessibleContext.getAccessibleDescription();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Sets the accessible name of this object */
- public void setAccessibleDescription(String name) {
- // Not supported
- }
-
- /** Returns the accessible role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- try {
- javax.accessibility.AccessibleRole role = AccessibleRoleAdapter.getAccessibleRole(
- unoAccessibleContext.getAccessibleRole());
- return (role != null) ? role : javax.accessibility.AccessibleRole.LABEL;
- } catch(com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the locale of the component */
- public java.util.Locale getLocale() throws java.awt.IllegalComponentStateException {
- try {
- com.sun.star.lang.Locale unoLocale = unoAccessibleContext.getLocale();
- return new java.util.Locale(unoLocale.Language, unoLocale.Country);
- } catch (IllegalAccessibleComponentStateException e) {
- throw new java.awt.IllegalComponentStateException(e.getMessage());
- } catch (com.sun.star.uno.RuntimeException e) {
- return List.this.getLocale();
- }
- }
-
- /** Gets the 0-based index of this object in its accessible parent */
- public int getAccessibleIndexInParent() {
- try {
- return unoAccessibleContext.getAccessibleIndexInParent();
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- /** Returns the number of accessible children of the object. */
- public int getAccessibleChildrenCount() {
- try {
- return unoAccessibleContext.getAccessibleChildCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the specified Accessible child of the object. */
- public javax.accessibility.Accessible getAccessibleChild(int i) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleContext.getAccessibleChild(i);
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = List.this.activeDescendant;
- if ((activeDescendant instanceof ListItem) && ((ListItem) activeDescendant).unoAccessible.equals(xAccessible)) {
- child = activeDescendant;
- } else if (xAccessible != null) {
- child = new ListItem(xAccessible);
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /** Returns the state set of this object */
- public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
- try {
- return AccessibleStateAdapter.getAccessibleStateSet(ListItem.this,
- unoAccessibleContext.getAccessibleStateSet());
- } catch (com.sun.star.uno.RuntimeException e) {
- return AccessibleStateAdapter.getDefunctStateSet();
- }
- }
-
- /** Gets the AccessibleComponent associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleComponent getAccessibleComponent() {
- try {
- XAccessibleComponent unoAccessibleComponent = UnoRuntime.queryInterface(XAccessibleComponent.class, unoAccessibleContext);
- return (unoAccessibleComponent != null) ?
- new AccessibleComponentImpl(unoAccessibleComponent) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleAction associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleAction getAccessibleAction() {
- try {
- XAccessibleAction unoAccessibleAction = UnoRuntime.queryInterface(XAccessibleAction.class, unoAccessibleContext);
- return (unoAccessibleAction != null) ?
- new AccessibleActionImpl(unoAccessibleAction) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleText associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleText getAccessibleText() {
-
- if (disposed)
- return null;
-
- try {
- XAccessibleText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleText.class, unoAccessibleContext);
- return (unoAccessibleText != null) ?
- new AccessibleTextImpl(unoAccessibleText) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleValue associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleValue getAccessibleValue() {
- try {
- XAccessibleValue unoAccessibleValue = UnoRuntime.queryInterface(XAccessibleValue.class, unoAccessibleContext);
- return (unoAccessibleValue != null) ?
- new AccessibleValueImpl(unoAccessibleValue) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleIcon[] getAccessibleIcon() {
- try {
- XAccessibleImage unoAccessibleImage = UnoRuntime.queryInterface(XAccessibleImage.class, unoAccessibleContext);
- if (unoAccessibleImage != null) {
- javax.accessibility.AccessibleIcon[] icons = { new AccessibleIconImpl(unoAccessibleImage) };
- return icons;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return null;
- }
- }
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Menu.java b/accessibility/bridge/org/openoffice/java/accessibility/Menu.java
deleted file mode 100644
index 005657172b1d..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Menu.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import java.awt.Component;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.uno.AnyConverter;
-import com.sun.star.uno.UnoRuntime;
-
-
-public class Menu extends AbstractButton
- implements javax.accessibility.Accessible {
- private java.util.ArrayList<Component> children;
- protected XAccessibleSelection unoAccessibleSelection = null;
-
- protected Menu(XAccessible xAccessible,
- XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
-
- try {
- // Create a vector with the correct initial capacity
- int count = unoAccessibleContext.getAccessibleChildCount();
- children = new java.util.ArrayList<Component>(count);
-
- // Fill the vector with objects
- for (int i = 0; i < count; i++) {
- java.awt.Component c = getComponent(unoAccessibleContext.getAccessibleChild(i));
-
- if (c != null) {
- children.add(c);
- }
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- if (Build.DEBUG) {
- System.err.println(
- "RuntimeException caught during menu initialization: " +
- e.getMessage());
- }
-
- if (children == null) {
- children = new java.util.ArrayList<Component>(0);
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- }
- }
-
- protected synchronized void add(XAccessible unoAccessible) {
- // The AccessBridge for Windows expects an instance of AccessibleContext
- // as parameters
- java.awt.Component c = getComponent(unoAccessible);
-
- if (c != null) {
- try {
- children.add(unoAccessible.getAccessibleContext()
- .getAccessibleIndexInParent(), c);
- firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- null,
- ((javax.accessibility.Accessible) c).getAccessibleContext());
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
- }
-
- protected synchronized void remove(XAccessible unoAccessible) {
- // The AccessBridge for Windows expects an instance of AccessibleContext
- // as parameters
- java.awt.Component c = getComponent(unoAccessible);
-
- if (c != null) {
- try {
- children.remove(c);
- firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- ((javax.accessibility.Accessible) c).getAccessibleContext(),
- null);
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
- }
-
- protected void add(Object any) {
- try {
- add((XAccessible) AnyConverter.toObject(
- AccessibleObjectFactory.XAccessibleType, any));
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- protected void remove(Object any) {
- try {
- remove((XAccessible) AnyConverter.toObject(
- AccessibleObjectFactory.XAccessibleType, any));
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- protected synchronized int indexOf(Object child) {
- return children.indexOf(child);
- }
-
- protected java.awt.Component getComponent(XAccessible unoAccessible) {
- java.awt.Component c = AccessibleObjectFactory.getAccessibleComponent(unoAccessible);
-
- if (c == null) {
- c = AccessibleObjectFactory.createAccessibleComponent(unoAccessible);
-
- if (c instanceof javax.accessibility.Accessible) {
- ((javax.accessibility.Accessible) c).getAccessibleContext()
- .setAccessibleParent(this);
- }
- }
-
- return c;
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleMenuListener();
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleMenu();
- }
-
- /**
- * Update the proxy objects appropriatly on property change events
- */
- protected class AccessibleMenuListener
- extends AccessibleUNOComponentListener {
- protected AccessibleMenuListener() {
- super();
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.CHILD:
-
- if (AnyConverter.isObject(event.OldValue)) {
- remove(event.OldValue);
- }
-
- if (AnyConverter.isObject(event.NewValue)) {
- add(event.NewValue);
- }
-
- break;
-
- // #i56539# Java 1.5 does not fire ACCESSIBLE_SELECTION_PROPERTY for menus
- case AccessibleEventId.SELECTION_CHANGED:
- break;
-
- default:
- super.notifyEvent(event);
- }
- }
- }
-
- protected class AccessibleMenu extends AccessibleAbstractButton
- implements javax.accessibility.AccessibleSelection {
- protected AccessibleMenu() {
- unoAccessibleSelection = UnoRuntime.queryInterface(XAccessibleSelection.class,
- unoAccessibleContext);
- }
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.MENU;
- }
-
- /** Gets the 0-based index of this object in its accessible parent */
- public int getAccessibleIndexInParent() {
- if (getAccessibleParent() instanceof Menu) {
- return ((Menu) getAccessibleParent()).indexOf(Menu.this);
- } else {
- return super.getAccessibleIndexInParent();
- }
- }
-
- /** Returns the number of accessible children of the object */
- public synchronized int getAccessibleChildrenCount() {
- return children.size();
- }
-
- /** Returns the specified Accessible child of the object */
- public synchronized javax.accessibility.Accessible getAccessibleChild(
- int i) {
- try {
- if (i < children.size()) {
- return (javax.accessibility.Accessible) children.get(i);
- } else {
- return null;
- }
- } catch (ArrayIndexOutOfBoundsException e) {
- return null;
- }
- }
-
- /** Returns the AccessibleSelection interface for this object */
- public javax.accessibility.AccessibleSelection getAccessibleSelection() {
- // This method is called to determine the SELECTABLE state of every
- // child, so don't do the query interface here.
- return this;
- }
-
- /*
- * AccessibleComponent
- */
-
- /** Returns the Accessible child, if one exists, contained at the local coordinate Point */
- public javax.accessibility.Accessible getAccessibleAt(java.awt.Point p) {
- try {
- java.awt.Component c = AccessibleObjectFactory.getAccessibleComponent(unoAccessibleComponent.getAccessibleAtPoint(
- new com.sun.star.awt.Point(p.x, p.y)));
-
- return (javax.accessibility.Accessible) c;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /*
- * AccessibleSelection
- */
-
- /** Returns an Accessible representing the specified selected child of the object */
- public javax.accessibility.Accessible getAccessibleSelection(int i) {
- try {
- return (javax.accessibility.Accessible) getComponent(unoAccessibleSelection.getSelectedAccessibleChild(
- i));
- } catch (java.lang.Exception e) {
- /*
- * Possible exceptions are:
- * java.lang.NullPointerException
- * com.sun.star.uno.RuntimeException
- * com.sun.star.lang.IndexOutOfBoundsException
- */
- return null;
- }
- }
-
- /** Adds the specified Accessible child of the object to the object's selection */
- public void addAccessibleSelection(int i) {
- try {
- javax.accessibility.Accessible a = getAccessibleChild(i);
-
- // selecting menu items invokes the click action in Java 1.5
- if( a instanceof MenuItem )
- a.getAccessibleContext().getAccessibleAction().doAccessibleAction(0);
- else
- unoAccessibleSelection.selectAccessibleChild(i);
- } catch (java.lang.Exception e) {
- /*
- * Possible exceptions are:
- * java.lang.NullPointerException
- * com.sun.star.uno.RuntimeException
- * com.sun.star.lang.IndexOutOfBoundsException
- */
- }
- }
-
- /** Clears the selection in the object, so that no children in the object are selected */
- public void clearAccessibleSelection() {
- try {
- unoAccessibleSelection.clearAccessibleSelection();
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Returns the number of Accessible children currently selected */
- public int getAccessibleSelectionCount() {
- try {
- return unoAccessibleSelection.getSelectedAccessibleChildCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Determines if the current child of this object is selected */
- public boolean isAccessibleChildSelected(int i) {
- try {
- return unoAccessibleSelection.isAccessibleChildSelected(i);
- } catch (java.lang.Exception e) {
- /*
- * Possible exceptions are:
- * java.lang.NullPointerException
- * com.sun.star.uno.RuntimeException
- * com.sun.star.lang.IndexOutOfBoundsException
- */
- return false;
- }
- }
-
- /** Removes the specified child of the object from the object's selection */
- public void removeAccessibleSelection(int i) {
- if (isAccessibleChildSelected(i)) {
- clearAccessibleSelection();
- }
- }
-
- /** Causes every child of the object to be selected if the object supports multiple selection */
- public void selectAllAccessibleSelection() {
- // not supported
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/MenuContainer.java b/accessibility/bridge/org/openoffice/java/accessibility/MenuContainer.java
deleted file mode 100644
index 946ad27db9d6..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/MenuContainer.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-
-/**
- * Specialized container for MenuBar and Popup-Menu(s)
- * FIXME: join with Menu ?
- */
-public class MenuContainer extends Container implements javax.accessibility.Accessible {
-
- protected XAccessibleSelection unoAccessibleSelection = null;
-
- protected MenuContainer(javax.accessibility.AccessibleRole role, XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(role, xAccessible, xAccessibleContext);
- }
-
- protected class AccessibleMenuContainerListener extends AccessibleContainerListener {
-
- protected AccessibleMenuContainerListener() {
- super();
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
-
- // #i56539# Java 1.5 does not fire ACCESSIBLE_SELECTION_PROPERTY for menus
- case AccessibleEventId.SELECTION_CHANGED:
- break;
-
- default:
- super.notifyEvent(event);
- }
- }
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleMenuContainerListener();
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleMenuContainer();
- }
-
- protected class AccessibleMenuContainer extends AccessibleContainer implements javax.accessibility.AccessibleSelection {
-
- protected AccessibleMenuContainer() {
- unoAccessibleSelection = UnoRuntime.queryInterface(XAccessibleSelection.class,
- unoAccessibleContext);
- }
-
- /** Returns the AccessibleSelection interface for this object */
- public javax.accessibility.AccessibleSelection getAccessibleSelection() {
- return this;
- }
-
- /*
- * AccessibleSelection
- */
-
- /** Returns an Accessible representing the specified selected child of the object */
- public javax.accessibility.Accessible getAccessibleSelection(int i) {
- try {
- return (javax.accessibility.Accessible) AccessibleObjectFactory.getAccessibleComponent(
- unoAccessibleSelection.getSelectedAccessibleChild(i));
- } catch (com.sun.star.uno.Exception e) {
- return null;
- }
- }
-
- /** Adds the specified Accessible child of the object to the object's selection */
- public void addAccessibleSelection(int i) {
- try {
- javax.accessibility.Accessible a = getAccessibleChild(i);
-
- // selecting menu items invokes the click action in Java 1.5
- if( a instanceof MenuItem )
- a.getAccessibleContext().getAccessibleAction().doAccessibleAction(0);
- else
- unoAccessibleSelection.selectAccessibleChild(i);
- } catch (java.lang.Exception e) {
- /*
- * Possible exceptions are:
- * java.lang.NullPointerException
- * com.sun.star.uno.RuntimeException
- * com.sun.star.lang.IndexOutOfBoundsException
- */
- }
- }
-
- /** Clears the selection in the object, so that no children in the object are selected */
- public void clearAccessibleSelection() {
- try {
- unoAccessibleSelection.clearAccessibleSelection();
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Returns the number of Accessible children currently selected */
- public int getAccessibleSelectionCount() {
- try {
- return unoAccessibleSelection.getSelectedAccessibleChildCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Determines if the current child of this object is selected */
- public boolean isAccessibleChildSelected(int i) {
- try {
- return unoAccessibleSelection.isAccessibleChildSelected(i);
- } catch (java.lang.Exception e) {
- /*
- * Possible exceptions are:
- * java.lang.NullPointerException
- * com.sun.star.uno.RuntimeException
- * com.sun.star.lang.IndexOutOfBoundsException
- */
- return false;
- }
- }
-
- /** Removes the specified child of the object from the object's selection */
- public void removeAccessibleSelection(int i) {
- if (isAccessibleChildSelected(i)) {
- clearAccessibleSelection();
- }
- }
-
- /** Causes every child of the object to be selected if the object supports multiple selection */
- public void selectAllAccessibleSelection() {
- // not supported
- }
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/MenuItem.java b/accessibility/bridge/org/openoffice/java/accessibility/MenuItem.java
deleted file mode 100644
index 6e68b634fc3f..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/MenuItem.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.XAccessible;
-import com.sun.star.accessibility.XAccessibleContext;
-import com.sun.star.accessibility.XAccessibleEventListener;
-
-
-class MenuItem extends ToggleButton {
- public MenuItem(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- protected class AccessibleMenuItemListener extends AccessibleUNOComponentListener {
-
- protected AccessibleMenuItemListener() {
- }
-
- protected void setComponentState(short state, boolean enable) {
-
- // #i56538# menu items in Java 1.5 are ARMED, not SELECTED
- if( state == com.sun.star.accessibility.AccessibleStateType.SELECTED )
- fireStatePropertyChange(javax.accessibility.AccessibleState.ARMED, enable);
- else
- super.setComponentState(state, enable);
- }
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleMenuItemListener();
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleMenuItem();
- }
-
- protected class AccessibleMenuItem extends AccessibleToggleButton {
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.MENU_ITEM;
- }
-
- /** Gets the 0-based index of this object in its accessible parent */
- public int getAccessibleIndexInParent() {
- if (getAccessibleParent() instanceof Menu) {
- return ((Menu) getAccessibleParent()).indexOf(MenuItem.this);
- } else {
- return super.getAccessibleIndexInParent();
- }
- }
-
- /**
- * Gets the current state set of this object.
- *
- * @return an instance of <code>AccessibleStateSet</code>
- * containing the current state set of the object
- * @see javax.accessibility.AccessibleState
- */
- public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
- javax.accessibility.AccessibleStateSet stateSet = super.getAccessibleStateSet();
-
- // #i56538# menu items in Java do not have SELECTABLE ..
- stateSet.remove(javax.accessibility.AccessibleState.SELECTABLE);
-
- // .. and also ARMED instead of SELECTED
- if( stateSet.remove(javax.accessibility.AccessibleState.SELECTED) )
- stateSet.add(javax.accessibility.AccessibleState.ARMED);
-
- return stateSet;
- }
-
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/NativeFrame.java b/accessibility/bridge/org/openoffice/java/accessibility/NativeFrame.java
deleted file mode 100644
index d8e9d29cdbc0..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/NativeFrame.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-public interface NativeFrame {
- public java.awt.Component getInitialComponent();
- public void setInitialComponent(java.awt.Component c);
-// public Integer getHWND();
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Paragraph.java b/accessibility/bridge/org/openoffice/java/accessibility/Paragraph.java
deleted file mode 100644
index d339d751469a..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Paragraph.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import javax.accessibility.AccessibleContext;
-import javax.accessibility.AccessibleText;
-
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-
-/**
- */
-public class Paragraph extends Container implements javax.accessibility.Accessible {
-
- protected Paragraph(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(javax.accessibility.AccessibleRole.TEXT, xAccessible, xAccessibleContext);
- }
-
- protected class AccessibleParagraphListener extends AccessibleContainerListener {
-
- protected AccessibleParagraphListener() {
- super();
- }
-
- protected void setComponentState(short state, boolean enable) {
- switch (state) {
- case AccessibleStateType.EDITABLE:
- fireStatePropertyChange(javax.accessibility.AccessibleState.EDITABLE, enable);
- break;
- case AccessibleStateType.MULTI_LINE:
- fireStatePropertyChange(javax.accessibility.AccessibleState.MULTI_LINE, enable);
- break;
- case AccessibleStateType.SINGLE_LINE:
- break;
- default:
- super.setComponentState(state, enable);
- break;
- }
- }
-
-
- protected void handleVisibleDataChanged() {
- if (Paragraph.this.isFocusOwner()) {
- AccessibleContext ac = accessibleContext;
- if (ac != null) {
- AccessibleText at = ac.getAccessibleText();
- if (at != null) {
- int pos = at.getCaretPosition();
- // Simulating a caret event here should help at tools
- // that re not aware of the paragraph approach of OOo.
- firePropertyChange(AccessibleContext.ACCESSIBLE_CARET_PROPERTY,
- new Integer(-1), new Integer(pos));
- }
- }
- }
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.CARET_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_CARET_PROPERTY,
- Component.toNumber(event.OldValue),
- Component.toNumber(event.NewValue));
- break;
- case AccessibleEventId.VISIBLE_DATA_CHANGED:
- case AccessibleEventId.BOUNDRECT_CHANGED:
- // Whenever a paragraph gets inserted above the currently
- // focused one, this is the only event that will occur for.
- handleVisibleDataChanged();
- default:
- super.notifyEvent(event);
- break;
- }
- }
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleParagraphListener();
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleParagraph();
- }
-
- protected class AccessibleParagraph extends AccessibleContainer {
-
- protected AccessibleParagraph() {
- // Don't do the queryInterface on XAccessibleText already ..
- super(false);
- /* Since getAccessibleText() is heavily used by the java access
- * bridge for gnome and the gnome at-tools, we do a query interface
- * here and remember the result.
- */
- accessibleText = AccessibleHypertextImpl.get(unoAccessibleContext);
- }
-
- /*
- * AccessibleContext
- */
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.TEXT;
- }
-
- /** Gets the AccessibleEditableText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleEditableText getAccessibleEditableText() {
-
- if (disposed)
- return null;
-
- try {
- XAccessibleEditableText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleEditableText.class,
- unoAccessibleComponent);
- if (unoAccessibleText != null) {
- return new AccessibleEditableTextImpl(unoAccessibleText);
- } else {
- return null;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleAction associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleAction getAccessibleAction() {
- try {
- XAccessibleAction unoAccessibleAction = UnoRuntime.queryInterface(XAccessibleAction.class, unoAccessibleComponent);
- return (unoAccessibleAction != null) ?
- new AccessibleActionImpl(unoAccessibleAction) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns the relation set of this object */
- public javax.accessibility.AccessibleRelationSet getAccessibleRelationSet() {
- try {
- XAccessibleRelationSet unoAccessibleRelationSet =
- unoAccessible.getAccessibleContext().getAccessibleRelationSet();
- if (unoAccessibleRelationSet == null) {
- return super.getAccessibleRelationSet();
- }
-
- javax.accessibility.AccessibleRelationSet relationSet = new javax.accessibility.AccessibleRelationSet();
- int count = unoAccessibleRelationSet.getRelationCount();
- for (int i = 0; i < count; i++) {
- AccessibleRelation unoAccessibleRelation = unoAccessibleRelationSet.getRelation(i);
- switch (unoAccessibleRelation.RelationType) {
- case AccessibleRelationType.CONTROLLED_BY:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.CONTROLLED_BY,
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.CONTROLLER_FOR:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.CONTROLLER_FOR,
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.LABELED_BY:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.LABELED_BY,
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.MEMBER_OF:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.MEMBER_OF,
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.CONTENT_FLOWS_TO:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- "flowsTo",
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.CONTENT_FLOWS_FROM:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- "flowsFrom",
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- default:
- break;
- }
- }
- return relationSet;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return super.getAccessibleRelationSet();
- } catch (com.sun.star.uno.RuntimeException e) {
- return super.getAccessibleRelationSet();
- }
- }
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/RadioButton.java b/accessibility/bridge/org/openoffice/java/accessibility/RadioButton.java
deleted file mode 100644
index 2b07576ee03b..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/RadioButton.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-
-
-class RadioButton extends ToggleButton {
- public RadioButton(XAccessible xAccessible,
- XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleRadioButton();
- }
-
- protected class AccessibleRadioButton extends AccessibleToggleButton {
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.RADIO_BUTTON;
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/ScrollBar.java b/accessibility/bridge/org/openoffice/java/accessibility/ScrollBar.java
deleted file mode 100644
index 31f475876c4b..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/ScrollBar.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import javax.swing.SwingConstants;
-
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-
-/**
- */
-public class ScrollBar extends Component implements SwingConstants, javax.accessibility.Accessible {
-
- public ScrollBar(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleScrollBar();
- }
-
- protected class AccessibleScrollBar extends AccessibleUNOComponent implements
- javax.accessibility.AccessibleAction {
-
- protected XAccessibleAction unoAccessibleAction;
- protected int actionCount = 0;
-
- /**
- * Though the class is abstract, this should be called by all sub-classes
- */
- protected AccessibleScrollBar() {
- super();
- unoAccessibleAction = UnoRuntime.queryInterface(
- XAccessibleAction.class, unoAccessibleContext);
- if (unoAccessibleAction != null) {
- actionCount = unoAccessibleAction.getAccessibleActionCount();
- }
- }
-
- /*
- * AccessibleContext
- */
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.SCROLL_BAR;
- }
-
- /** Gets the AccessibleValue associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleValue getAccessibleValue() {
- try {
- XAccessibleValue unoAccessibleValue = UnoRuntime.queryInterface(XAccessibleValue.class, unoAccessibleContext);
- return (unoAccessibleValue != null) ?
- new AccessibleValueImpl(unoAccessibleValue) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleAction associated with this object that supports one or more actions */
- public javax.accessibility.AccessibleAction getAccessibleAction() {
- return this;
- }
-
- /*
- * AccessibleAction
- */
-
- /** Performs the specified Action on the object */
- public boolean doAccessibleAction(int param) {
- if (param < actionCount) {
- try {
- return unoAccessibleAction.doAccessibleAction(param);
- } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
- }
- }
- return false;
- }
-
- /** Returns a description of the specified action of the object */
- public java.lang.String getAccessibleActionDescription(int param) {
- if(param < actionCount) {
- try {
- return unoAccessibleAction.getAccessibleActionDescription(param);
- } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
- }
- }
- return null;
- }
-
- /** Returns the number of accessible actions available in this object */
- public int getAccessibleActionCount() {
- return actionCount;
- }
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Separator.java b/accessibility/bridge/org/openoffice/java/accessibility/Separator.java
deleted file mode 100644
index 4c92fed807c6..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Separator.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-import javax.swing.SwingConstants;
-
-
-/**
- */
-public class Separator extends Component implements SwingConstants,
- javax.accessibility.Accessible {
-
- public Separator(XAccessible xAccessible,
- XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- setFocusable(false);
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleSeparator();
- }
-
- protected class AccessibleSeparator extends AccessibleUNOComponent {
- /**
- * Though the class is abstract, this should be called by all sub-classes
- */
- protected AccessibleSeparator() {
- super();
- }
-
- /*
- * AccessibleContext
- */
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.SEPARATOR;
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Table.java b/accessibility/bridge/org/openoffice/java/accessibility/Table.java
deleted file mode 100644
index 5896082287b8..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Table.java
+++ /dev/null
@@ -1,709 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.uno.AnyConverter;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.accessibility.*;
-
-public class Table extends DescendantManager implements javax.accessibility.Accessible {
-
- protected Table(XAccessible xAccessible, XAccessibleContext xAccessibleContext, boolean multiselectable) {
- super(xAccessible, xAccessibleContext, multiselectable);
- }
-
- protected void setActiveDescendant(javax.accessibility.Accessible descendant) {
- javax.accessibility.Accessible oldAD = activeDescendant;
- activeDescendant = descendant;
- firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
- oldAD, descendant);
- }
-
- protected void setActiveDescendant(Object any) {
- javax.accessibility.Accessible descendant = null;
- try {
- if (AnyConverter.isObject(any)) {
- XAccessible unoAccessible = (XAccessible) AnyConverter.toObject(
- AccessibleObjectFactory.XAccessibleType, any);
- if (unoAccessible != null) {
- // FIXME: have to handle non transient objects here ..
- descendant = new TableCell(unoAccessible);
- }
- }
- setActiveDescendant(descendant);
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- protected void add(XAccessible unoAccessible) {
- if (unoAccessible != null) {
- TableCell cell = new TableCell(unoAccessible);
- // The AccessBridge for Windows expects an instance of AccessibleContext
- // as parameters
- firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- null, cell.getAccessibleContext());
- }
- }
-
- protected void remove(XAccessible unoAccessible) {
- if (unoAccessible != null) {
- TableCell cell = new TableCell(unoAccessible);
- // The AccessBridge for Windows expects an instance of AccessibleContext
- // as parameters
- firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- cell.getAccessibleContext(), null);
- }
- }
-
- protected void add(Object any) {
- try {
- add((XAccessible) AnyConverter.toObject(AccessibleObjectFactory.XAccessibleType, any));
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- protected void remove(Object any) {
- try {
- remove((XAccessible) AnyConverter.toObject(AccessibleObjectFactory.XAccessibleType, any));
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /**
- * Update the proxy objects appropriatly on property change events
- */
- protected class AccessibleTableListener extends AccessibleDescendantManagerListener {
-
- protected AccessibleTableListener() {
- super();
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.ACTIVE_DESCENDANT_CHANGED:
- setActiveDescendant(event.NewValue);
- break;
- case AccessibleEventId.CHILD:
- if (AnyConverter.isObject(event.OldValue)) {
- remove(event.OldValue);
- }
- if (AnyConverter.isObject(event.NewValue)) {
- add(event.NewValue);
- }
- break;
- default:
- super.notifyEvent(event);
- }
- }
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleTableListener();
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleTable();
- }
-
- protected class AccessibleTable extends AccessibleDescendantManager implements javax.accessibility.AccessibleExtendedTable {
-
- protected XAccessibleTable unoAccessibleTable;
-
- public AccessibleTable() {
- unoAccessibleTable = UnoRuntime.queryInterface(XAccessibleTable.class, unoAccessibleContext);
- }
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.TABLE;
- }
-
- /** Returns the AccessibleTable interface of this object */
- public javax.accessibility.AccessibleTable getAccessibleTable() {
- return this;
- }
-
- /** Returns the specified Accessible child of the object */
- public javax.accessibility.Accessible getAccessibleChild(int i) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleContext.getAccessibleChild(i);
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = Table.this.activeDescendant;
- if ((activeDescendant instanceof TableCell) && xAccessible.equals(((TableCell) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new TableCell(xAccessible);
- }
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /*
- * AccessibleComponent
- */
-
- /** Returns the Accessible child, if one exists, contained at the local coordinate Point */
- public javax.accessibility.Accessible getAccessibleAt(java.awt.Point p) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleComponent.getAccessibleAtPoint(
- new com.sun.star.awt.Point(p.x, p.y));
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = Table.this.activeDescendant;
- if ((activeDescendant instanceof TableCell) && xAccessible.equals(((TableCell) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new TableCell(xAccessible);
- }
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /*
- * AccessibleSelection
- */
-
- /** Returns an Accessible representing the specified selected child of the object */
- public javax.accessibility.Accessible getAccessibleSelection(int i) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleSelection.getSelectedAccessibleChild(i);
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = Table.this.activeDescendant;
- if ((activeDescendant instanceof TableCell) && xAccessible.equals(((TableCell) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new TableCell(xAccessible);
- }
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /*
- * AccessibleTable
- */
-
- /** Returns the Accessible at a specified row and column in the table. */
- public javax.accessibility.Accessible getAccessibleAt(int r, int c) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleTable.getAccessibleCellAt(r,c);
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = Table.this.activeDescendant;
- if ((activeDescendant instanceof TableCell) && xAccessible.equals(((TableCell) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new TableCell(xAccessible);
- }
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /** Returns the caption for the table. */
- public javax.accessibility.Accessible getAccessibleCaption() {
- // Not yet supported.
- return null;
- }
-
- /** Returns the number of columns in the table. */
- public int getAccessibleColumnCount() {
- try {
- return unoAccessibleTable.getAccessibleColumnCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the description text of the specified column in the table. */
- public javax.accessibility.Accessible getAccessibleColumnDescription(int c) {
- try {
- return new javax.swing.JLabel(
- unoAccessibleTable.getAccessibleColumnDescription(c));
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /**
- * Returns the number of columns occupied by the Accessible
- * at a specified row and column in the table.
- */
- public int getAccessibleColumnExtentAt(int r, int c) {
- try {
- return unoAccessibleTable.getAccessibleColumnExtentAt(r,c);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return 0;
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the column headers as an AccessibleTable. */
- public javax.accessibility.AccessibleTable getAccessibleColumnHeader() {
- // Not yet supported
- return null;
- }
-
- /** Returns the number of rows in the table. */
- public int getAccessibleRowCount() {
- try {
- return unoAccessibleTable.getAccessibleRowCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the description of the specified row in the table. */
- public javax.accessibility.Accessible getAccessibleRowDescription(int r) {
- try {
- return new javax.swing.JLabel(
- unoAccessibleTable.getAccessibleRowDescription(r));
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /**
- * Returns the number of rows occupied by the Accessible
- * at a specified row and column in the table.
- */
- public int getAccessibleRowExtentAt(int r, int c) {
- try {
- return unoAccessibleTable.getAccessibleRowExtentAt(r,c);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return 0;
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the row headers as an AccessibleTable. */
- public javax.accessibility.AccessibleTable getAccessibleRowHeader() {
- // Not yet supported
- return null;
- }
-
- /** Returns the summary description of the table. */
- public javax.accessibility.Accessible getAccessibleSummary() {
- // Not yet supported.
- return null;
- }
-
- /** Returns the selected columns in a table. */
- public int[] getSelectedAccessibleColumns() {
- try {
- return unoAccessibleTable.getSelectedAccessibleColumns();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns the selected rows in a table. */
- public int[] getSelectedAccessibleRows() {
- try {
- return unoAccessibleTable.getSelectedAccessibleRows();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns a boolean value indicating whether the specified column is selected. */
- public boolean isAccessibleColumnSelected(int c) {
- try {
- return unoAccessibleTable.isAccessibleColumnSelected(c);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return false;
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Returns a boolean value indicating whether the specified row is selected. */
- public boolean isAccessibleRowSelected(int r) {
- try {
- return unoAccessibleTable.isAccessibleRowSelected(r);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return false;
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /**
- * Returns a boolean value indicating whether the accessible
- * at a specified row and column is selected.
- */
- public boolean isAccessibleSelected(int r, int c) {
- try {
- return unoAccessibleTable.isAccessibleSelected(r,c);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return false;
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Sets the caption for the table. */
- public void setAccessibleCaption(javax.accessibility.Accessible accessible) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Sets the description text of the specified column in the table. */
- public void setAccessibleColumnDescription(int param, javax.accessibility.Accessible accessible) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Sets the column headers. */
- public void setAccessibleColumnHeader(javax.accessibility.AccessibleTable accessibleTable) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Sets the description text of the specified row of the table. */
- public void setAccessibleRowDescription(int param, javax.accessibility.Accessible accessible) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Sets the row headers. */
- public void setAccessibleRowHeader(javax.accessibility.AccessibleTable accessibleTable) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Sets the summary description of the table */
- public void setAccessibleSummary(javax.accessibility.Accessible accessible) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Returns the column number of an index in the table */
- public int getAccessibleColumn(int index) {
- try {
- return unoAccessibleTable.getAccessibleColumn(index);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return -1;
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- /** Returns the index of a specified row and column in the table. */
- public int getAccessibleIndex(int r, int c) {
- try {
- return unoAccessibleTable.getAccessibleIndex(r,c);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return -1;
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- /** Returns the row number of an index in the table */
- public int getAccessibleRow(int index) {
- try {
- return unoAccessibleTable.getAccessibleRow(index);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return -1;
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
- }
-
- class TableCell extends java.awt.Component implements javax.accessibility.Accessible {
-
- protected XAccessible unoAccessible;
-
- public TableCell(XAccessible xAccessible) {
- unoAccessible = xAccessible;
- }
-
- public Object[] create(Object[] targetSet) {
- try {
- java.util.ArrayList<TableCell> list = new java.util.ArrayList<TableCell>(targetSet.length);
- for (int i=0; i < targetSet.length; i++) {
- XAccessible xAccessible = UnoRuntime.queryInterface(
- XAccessible.class, targetSet[i]);
- if (xAccessible != null) {
- list.add(new TableCell(xAccessible));
- }
- }
- list.trimToSize();
- return list.toArray();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- javax.accessibility.AccessibleContext accessibleContext = null;
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- try {
- XAccessibleContext xAccessibleContext = unoAccessible.getAccessibleContext();
- if (xAccessibleContext != null) {
- javax.accessibility.AccessibleContext ac = new AccessibleTableCell(xAccessibleContext);
- ac.setAccessibleParent(Table.this);
- accessibleContext = ac;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
- return accessibleContext;
- }
-
- protected class AccessibleTableCell extends javax.accessibility.AccessibleContext {
-
- XAccessibleContext unoAccessibleContext;
-
- public AccessibleTableCell(XAccessibleContext xAccessibleContext) {
- unoAccessibleContext = xAccessibleContext;
- }
-
- /** Returns the accessible name of this object */
- public String getAccessibleName() {
- try {
- return unoAccessibleContext.getAccessibleName();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Sets the accessible name of this object */
- public void setAccessibleName(String name) {
- // Not supported
- }
-
- /** Returns the accessible name of this object */
- public String getAccessibleDescription() {
- try {
- return unoAccessibleContext.getAccessibleDescription();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Sets the accessible name of this object */
- public void setAccessibleDescription(String name) {
- // Not supported
- }
-
- /** Returns the accessible role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- try {
- javax.accessibility.AccessibleRole role = AccessibleRoleAdapter.getAccessibleRole(
- unoAccessibleContext.getAccessibleRole());
- return (role != null) ? role : javax.accessibility.AccessibleRole.LABEL;
- } catch(com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the locale of the component */
- public java.util.Locale getLocale() throws java.awt.IllegalComponentStateException {
- try {
- com.sun.star.lang.Locale unoLocale = unoAccessibleContext.getLocale();
- return new java.util.Locale(unoLocale.Language, unoLocale.Country);
- } catch (IllegalAccessibleComponentStateException e) {
- throw new java.awt.IllegalComponentStateException(e.getMessage());
- } catch (com.sun.star.uno.RuntimeException e) {
- return Table.this.getLocale();
- }
- }
-
- /** Gets the 0-based index of this object in its accessible parent */
- public int getAccessibleIndexInParent() {
- try {
- return unoAccessibleContext.getAccessibleIndexInParent();
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- /** Returns the number of accessible children of the object. */
- public int getAccessibleChildrenCount() {
- try {
- return unoAccessibleContext.getAccessibleChildCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the specified Accessible child of the object. */
- public javax.accessibility.Accessible getAccessibleChild(int i) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleContext.getAccessibleChild(i);
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = Table.this.activeDescendant;
- if ((activeDescendant instanceof TableCell) && ((TableCell) activeDescendant).unoAccessible.equals(xAccessible)) {
- child = activeDescendant;
- } else if (xAccessible != null) {
- child = new TableCell(xAccessible);
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /** Returns the state set of this object */
- public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
- try {
- return AccessibleStateAdapter.getAccessibleStateSet(TableCell.this,
- unoAccessibleContext.getAccessibleStateSet());
- } catch (com.sun.star.uno.RuntimeException e) {
- return AccessibleStateAdapter.getDefunctStateSet();
- }
- }
-
- /** Returns the relation set of this object */
- public javax.accessibility.AccessibleRelationSet getAccessibleRelationSet() {
- try {
- XAccessibleRelationSet unoAccessibleRelationSet = unoAccessibleContext.getAccessibleRelationSet();
- if (unoAccessibleRelationSet == null) {
- return null;
- }
-
- javax.accessibility.AccessibleRelationSet relationSet = new javax.accessibility.AccessibleRelationSet();
- int count = unoAccessibleRelationSet.getRelationCount();
- for (int i = 0; i < count; i++) {
- AccessibleRelation unoAccessibleRelation = unoAccessibleRelationSet.getRelation(i);
- switch (unoAccessibleRelation.RelationType) {
- case AccessibleRelationType.CONTROLLED_BY:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.CONTROLLED_BY,
- create(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.CONTROLLER_FOR:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.CONTROLLER_FOR,
- create(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.LABELED_BY:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.LABELED_BY,
- create(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.LABEL_FOR:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.LABEL_FOR,
- create(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.MEMBER_OF:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.MEMBER_OF,
- create(unoAccessibleRelation.TargetSet)));
- break;
- default:
- break;
- }
- }
- return relationSet;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleComponent associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleComponent getAccessibleComponent() {
- try {
- XAccessibleComponent unoAccessibleComponent = UnoRuntime.queryInterface(XAccessibleComponent.class, unoAccessibleContext);
- return (unoAccessibleComponent != null) ?
- new AccessibleComponentImpl(unoAccessibleComponent) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleAction associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleAction getAccessibleAction() {
- try {
- XAccessibleAction unoAccessibleAction = UnoRuntime.queryInterface(XAccessibleAction.class, unoAccessibleContext);
- return (unoAccessibleAction != null) ?
- new AccessibleActionImpl(unoAccessibleAction) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleText associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleText getAccessibleText() {
-
- if (disposed)
- return null;
-
- try {
- XAccessibleText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleText.class, unoAccessibleContext);
- return (unoAccessibleText != null) ?
- new AccessibleTextImpl(unoAccessibleText) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleValue associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleValue getAccessibleValue() {
- try {
- XAccessibleValue unoAccessibleValue = UnoRuntime.queryInterface(XAccessibleValue.class, unoAccessibleContext);
- return (unoAccessibleValue != null) ?
- new AccessibleValueImpl(unoAccessibleValue) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleIcon[] getAccessibleIcon() {
- try {
- XAccessibleImage unoAccessibleImage = UnoRuntime.queryInterface(XAccessibleImage.class, unoAccessibleContext);
- if (unoAccessibleImage != null) {
- javax.accessibility.AccessibleIcon[] icons = { new AccessibleIconImpl(unoAccessibleImage) };
- return icons;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return null;
- }
- }
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/TextComponent.java b/accessibility/bridge/org/openoffice/java/accessibility/TextComponent.java
deleted file mode 100644
index a9c27d280772..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/TextComponent.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.accessibility.*;
-
-/**
- */
-public class TextComponent extends Component implements javax.accessibility.Accessible {
-
- protected TextComponent(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- protected class AccessibleTextComponentListener extends AccessibleUNOComponentListener {
-
- protected AccessibleTextComponentListener() {
- super();
- }
-
- protected void setComponentState(short state, boolean enable) {
- switch (state) {
- case AccessibleStateType.EDITABLE:
- fireStatePropertyChange(javax.accessibility.AccessibleState.EDITABLE, enable);
- break;
- case AccessibleStateType.MULTI_LINE:
- fireStatePropertyChange(javax.accessibility.AccessibleState.MULTI_LINE, enable);
- break;
- case AccessibleStateType.SINGLE_LINE:
- break;
- default:
- super.setComponentState(state, enable);
- break;
- }
- }
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleTextComponentListener();
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleTextComponent();
- }
-
- protected class AccessibleTextComponent extends AccessibleUNOComponent {
-
- /**
- * Though the class is abstract, this should be called by all sub-classes
- */
- protected AccessibleTextComponent() {
- super();
- }
-
- /*
- * AccessibleContext
- */
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.TEXT;
- }
-
- /** Gets the AccessibleText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleText getAccessibleText() {
-
- if (disposed)
- return null;
-
- try {
- XAccessibleText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleText.class,unoAccessibleComponent);
- if (unoAccessibleText != null) {
- return new AccessibleTextImpl(unoAccessibleText);
- } else {
- return null;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleEditableText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleEditableText getAccessibleEditableText() {
- try {
- XAccessibleEditableText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleEditableText.class,unoAccessibleComponent);
- if (unoAccessibleText != null) {
- return new AccessibleEditableTextImpl(unoAccessibleText);
- } else {
- return null;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleAction associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleAction getAccessibleAction() {
- try {
- XAccessibleAction unoAccessibleAction = UnoRuntime.queryInterface(XAccessibleAction.class, unoAccessibleComponent);
- return (unoAccessibleAction != null) ?
- new AccessibleActionImpl(unoAccessibleAction) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns the relation set of this object */
- public javax.accessibility.AccessibleRelationSet getAccessibleRelationSet() {
- try {
- XAccessibleRelationSet unoAccessibleRelationSet =
- unoAccessible.getAccessibleContext().getAccessibleRelationSet();
- if (unoAccessibleRelationSet == null) {
- return super.getAccessibleRelationSet();
- }
-
- javax.accessibility.AccessibleRelationSet relationSet = new javax.accessibility.AccessibleRelationSet();
- int count = unoAccessibleRelationSet.getRelationCount();
- for (int i = 0; i < count; i++) {
- AccessibleRelation unoAccessibleRelation = unoAccessibleRelationSet.getRelation(i);
- switch (unoAccessibleRelation.RelationType) {
- case AccessibleRelationType.CONTROLLED_BY:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.CONTROLLED_BY,
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.CONTROLLER_FOR:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.CONTROLLER_FOR,
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.LABELED_BY:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.LABELED_BY,
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.MEMBER_OF:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.MEMBER_OF,
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.CONTENT_FLOWS_TO:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- "flowsTo",
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.CONTENT_FLOWS_FROM:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- "flowsFrom",
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- default:
- break;
- }
- }
- return relationSet;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return super.getAccessibleRelationSet();
- } catch (com.sun.star.uno.RuntimeException e) {
- return super.getAccessibleRelationSet();
- }
- }
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/ToggleButton.java b/accessibility/bridge/org/openoffice/java/accessibility/ToggleButton.java
deleted file mode 100644
index c433315665ff..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/ToggleButton.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.uno.*;
-
-
-class ToggleButton extends AbstractButton implements javax.accessibility.Accessible {
- public ToggleButton(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleToggleButton();
- }
-
- protected class AccessibleToggleButton extends AccessibleAbstractButton {
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.TOGGLE_BUTTON;
- }
-
- /** Gets the AccessibleValue associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleValue getAccessibleValue() {
- try {
- XAccessibleValue unoAccessibleValue = UnoRuntime.queryInterface(XAccessibleValue.class,
- unoAccessibleContext);
-
- return (unoAccessibleValue != null)
- ? new AccessibleValueImpl(unoAccessibleValue) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/ToolTip.java b/accessibility/bridge/org/openoffice/java/accessibility/ToolTip.java
deleted file mode 100644
index 1264619b1b7d..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/ToolTip.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.uno.*;
-
-
-/**
- */
-public class ToolTip extends Component implements javax.accessibility.Accessible {
- protected ToolTip(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleToolTip();
- }
-
- protected class AccessibleToolTip extends AccessibleUNOComponent {
-
- /*
- * AccessibleContext
- */
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.TOOL_TIP;
- }
-
- /** Gets the AccessibleText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleText getAccessibleText() {
-
- if (disposed)
- return null;
-
- try {
- XAccessibleText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleText.class,
- unoAccessibleComponent);
-
- if (unoAccessibleText != null) {
- return new AccessibleTextImpl(unoAccessibleText);
- } else {
- return null;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns the relation set of this object */
-
- /*
- public javax.accessibility.AccessibleRelationSet getAccessibleRelationSet() {
- try {
- XAccessibleRelationSet unoAccessibleRelationSet = unoAccessibleContext.getAccessibleRelationSet();
- if (unoAccessibleRelationSet == null) {
- return null;
- }
-
- javax.accessibility.AccessibleRelationSet relationSet = new javax.accessibility.AccessibleRelationSet();
- int count = unoAccessibleRelationSet.getRelationCount();
- for (int i = 0; i < count; i++) {
- AccessibleRelation unoAccessibleRelation = unoAccessibleRelationSet.getRelation(i);
- switch (unoAccessibleRelation.RelationType) {
- case AccessibleRelationType.LABEL_FOR:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.LABEL_FOR,
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- case AccessibleRelationType.MEMBER_OF:
- relationSet.add(new javax.accessibility.AccessibleRelation(
- javax.accessibility.AccessibleRelation.MEMBER_OF,
- getAccessibleComponents(unoAccessibleRelation.TargetSet)));
- break;
- default:
- break;
- }
- }
- return relationSet;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
- */
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Tree.java b/accessibility/bridge/org/openoffice/java/accessibility/Tree.java
deleted file mode 100644
index a0a59c91694e..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Tree.java
+++ /dev/null
@@ -1,751 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import javax.accessibility.AccessibleContext;
-import javax.accessibility.AccessibleState;
-
-import com.sun.star.uno.AnyConverter;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.accessibility.*;
-
-public class Tree extends DescendantManager implements javax.accessibility.Accessible {
-
- protected Tree(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
- super(xAccessible, xAccessibleContext);
- }
-
- protected void setActiveDescendant(javax.accessibility.Accessible descendant) {
- javax.accessibility.Accessible oldAD = activeDescendant;
- activeDescendant = descendant;
- firePropertyChange(AccessibleContext.ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY,
- oldAD, descendant);
- }
-
- protected void setActiveDescendant(Object any) {
- javax.accessibility.Accessible descendant = null;
- try {
- if (AnyConverter.isObject(any)) {
- XAccessible unoAccessible = (XAccessible) AnyConverter.toObject(
- AccessibleObjectFactory.XAccessibleType, any);
- if (unoAccessible != null) {
- // FIXME: have to handle non transient objects here ..
- descendant = new TreeItem(unoAccessible);
- }
- }
- setActiveDescendant(descendant);
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- protected void add(XAccessible unoAccessible) {
- if (unoAccessible != null) {
- firePropertyChange(AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- null, new TreeItem(unoAccessible));
- }
- }
-
- protected void remove(XAccessible unoAccessible) {
- if (unoAccessible != null) {
- firePropertyChange(AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- new TreeItem(unoAccessible), null);
- }
- }
-
- protected void add(Object any) {
- try {
- add((XAccessible) AnyConverter.toObject(AccessibleObjectFactory.XAccessibleType, any));
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- protected void remove(Object any) {
- try {
- remove((XAccessible) AnyConverter.toObject(AccessibleObjectFactory.XAccessibleType, any));
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /**
- * Update the proxy objects appropriatly on property change events
- */
- protected class AccessibleTreeListener extends AccessibleDescendantManagerListener {
-
- protected AccessibleTreeListener() {
- super();
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.ACTIVE_DESCENDANT_CHANGED:
- setActiveDescendant(event.NewValue);
- break;
- case AccessibleEventId.CHILD:
- if (AnyConverter.isObject(event.OldValue)) {
- remove(event.OldValue);
- }
- if (AnyConverter.isObject(event.NewValue)) {
- add(event.NewValue);
- }
- break;
-
- case AccessibleEventId.LISTBOX_ENTRY_EXPANDED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- AccessibleState.COLLAPSED, AccessibleState.EXPANDED);
- break;
-
- case AccessibleEventId.LISTBOX_ENTRY_COLLAPSED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- AccessibleState.EXPANDED, AccessibleState.COLLAPSED);
- break;
-
- default:
- super.notifyEvent(event);
- }
- }
- }
-
- protected XAccessibleEventListener createEventListener() {
- return new AccessibleTreeListener();
- }
-
- /** Creates the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext createAccessibleContext() {
- return new AccessibleTree();
- }
-
- protected class AccessibleTree extends AccessibleDescendantManager implements javax.accessibility.AccessibleExtendedTable {
-
- protected XAccessibleTable unoAccessibleTable;
-
- public AccessibleTree() {
- unoAccessibleTable = UnoRuntime.queryInterface(XAccessibleTable.class, unoAccessibleContext);
- }
-
- /*
- * AccessibleContext
- */
-
- /** Gets the role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- return javax.accessibility.AccessibleRole.TREE;
- }
-
- /** Returns the AccessibleTable interface of this object */
- public javax.accessibility.AccessibleTable getAccessibleTable() {
- return ( unoAccessibleTable != null ) ? this : null;
- }
-
- /** Returns the specified Accessible child of the object */
- public javax.accessibility.Accessible getAccessibleChild(int i) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleContext.getAccessibleChild(i);
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = Tree.this.activeDescendant;
- if ((activeDescendant instanceof TreeItem) && xAccessible.equals(((TreeItem) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new TreeItem(xAccessible);
- }
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /*
- * AccessibleComponent
- */
-
- /** Returns the Accessible child, if one exists, contained at the local coordinate Point */
- public javax.accessibility.Accessible getAccessibleAt(java.awt.Point p) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleComponent.getAccessibleAtPoint(
- new com.sun.star.awt.Point(p.x, p.y));
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = Tree.this.activeDescendant;
- if ((activeDescendant instanceof TreeItem) && xAccessible.equals(((TreeItem) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new TreeItem(xAccessible);
- }
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /*
- * AccessibleSelection
- */
-
- /** Returns an Accessible representing the specified selected child of the object */
- public javax.accessibility.Accessible getAccessibleSelection(int i) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleContext.getAccessibleChild(i);
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = Tree.this.activeDescendant;
- if ((activeDescendant instanceof TreeItem) && xAccessible.equals(((TreeItem) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new TreeItem(xAccessible);
- }
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /*
- * AccessibleTable
- */
-
- /** Returns the Accessible at a specified row and column in the table. */
- public javax.accessibility.Accessible getAccessibleAt(int r, int c) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleTable.getAccessibleCellAt(r,c);
- if (xAccessible != null) {
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = Tree.this.activeDescendant;
- if ((activeDescendant instanceof TreeItem) && xAccessible.equals(((TreeItem) activeDescendant).unoAccessible)) {
- child = activeDescendant;
- } else {
- child = new TreeItem(xAccessible);
- }
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /** Returns the caption for the table. */
- public javax.accessibility.Accessible getAccessibleCaption() {
- // Not yet supported.
- return null;
- }
-
- /** Returns the number of columns in the table. */
- public int getAccessibleColumnCount() {
- try {
- return unoAccessibleTable.getAccessibleColumnCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the description text of the specified column in the table. */
- public javax.accessibility.Accessible getAccessibleColumnDescription(int c) {
- try {
- return new javax.swing.JLabel(
- unoAccessibleTable.getAccessibleColumnDescription(c));
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /**
- * Returns the number of columns occupied by the Accessible
- * at a specified row and column in the table.
- */
- public int getAccessibleColumnExtentAt(int r, int c) {
- try {
- return unoAccessibleTable.getAccessibleColumnExtentAt(r,c);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return 0;
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the column headers as an AccessibleTable. */
- public javax.accessibility.AccessibleTable getAccessibleColumnHeader() {
- // Not yet supported
- return null;
- }
-
- /** Returns the number of rows in the table. */
- public int getAccessibleRowCount() {
- try {
- return unoAccessibleTable.getAccessibleRowCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the description of the specified row in the table. */
- public javax.accessibility.Accessible getAccessibleRowDescription(int r) {
- try {
- return new javax.swing.JLabel(
- unoAccessibleTable.getAccessibleRowDescription(r));
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /**
- * Returns the number of rows occupied by the Accessible
- * at a specified row and column in the table.
- */
- public int getAccessibleRowExtentAt(int r, int c) {
- try {
- return unoAccessibleTable.getAccessibleRowExtentAt(r,c);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return 0;
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the row headers as an AccessibleTable. */
- public javax.accessibility.AccessibleTable getAccessibleRowHeader() {
- // Not yet supported
- return null;
- }
-
- /** Returns the summary description of the table. */
- public javax.accessibility.Accessible getAccessibleSummary() {
- // Not yet supported.
- return null;
- }
-
- /** Returns the selected columns in a table. */
- public int[] getSelectedAccessibleColumns() {
- try {
- return unoAccessibleTable.getSelectedAccessibleColumns();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns the selected rows in a table. */
- public int[] getSelectedAccessibleRows() {
- try {
- return unoAccessibleTable.getSelectedAccessibleRows();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns a boolean value indicating whether the specified column is selected. */
- public boolean isAccessibleColumnSelected(int c) {
- try {
- return unoAccessibleTable.isAccessibleColumnSelected(c);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return false;
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Returns a boolean value indicating whether the specified row is selected. */
- public boolean isAccessibleRowSelected(int r) {
- try {
- return unoAccessibleTable.isAccessibleRowSelected(r);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return false;
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /**
- * Returns a boolean value indicating whether the accessible
- * at a specified row and column is selected.
- */
- public boolean isAccessibleSelected(int r, int c) {
- try {
- return unoAccessibleTable.isAccessibleSelected(r,c);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return false;
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Sets the caption for the table. */
- public void setAccessibleCaption(javax.accessibility.Accessible accessible) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Sets the description text of the specified column in the table. */
- public void setAccessibleColumnDescription(int param, javax.accessibility.Accessible accessible) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Sets the column headers. */
- public void setAccessibleColumnHeader(javax.accessibility.AccessibleTable accessibleTable) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Sets the description text of the specified row of the table. */
- public void setAccessibleRowDescription(int param, javax.accessibility.Accessible accessible) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Sets the row headers. */
- public void setAccessibleRowHeader(javax.accessibility.AccessibleTable accessibleTable) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Sets the summary description of the table */
- public void setAccessibleSummary(javax.accessibility.Accessible accessible) {
- // Not supported by the UNO Accessibility API
- }
-
- /** Returns the column number of an index in the table */
- public int getAccessibleColumn(int index) {
- try {
- return unoAccessibleTable.getAccessibleColumn(index);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return -1;
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- /** Returns the index of a specified row and column in the table. */
- public int getAccessibleIndex(int r, int c) {
- try {
- return unoAccessibleTable.getAccessibleIndex(r,c);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return -1;
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- /** Returns the row number of an index in the table */
- public int getAccessibleRow(int index) {
- try {
- return unoAccessibleTable.getAccessibleRow(index);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return -1;
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
- }
-
- class TreeItem extends java.awt.Component implements javax.accessibility.Accessible {
-
- protected XAccessible unoAccessible;
-
- public TreeItem(XAccessible xAccessible) {
- unoAccessible = xAccessible;
- }
-
- public Object[] create(Object[] targetSet) {
- try {
- java.util.ArrayList<TreeItem> list = new java.util.ArrayList<TreeItem>(targetSet.length);
- for (int i=0; i < targetSet.length; i++) {
- XAccessible xAccessible = UnoRuntime.queryInterface(
- XAccessible.class, targetSet[i]);
- if (xAccessible != null) {
- list.add(new TreeItem(xAccessible));
- }
- }
- list.trimToSize();
- return list.toArray();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- javax.accessibility.AccessibleContext accessibleContext = null;
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- try {
- XAccessibleContext xAccessibleContext = unoAccessible.getAccessibleContext();
- if (xAccessibleContext != null) {
- javax.accessibility.AccessibleContext ac = new AccessibleTreeItem(xAccessibleContext);
- ac.setAccessibleParent(Tree.this);
- accessibleContext = ac;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
- return accessibleContext;
- }
-
- protected class AccessibleTreeItem extends javax.accessibility.AccessibleContext
- implements javax.accessibility.AccessibleSelection {
-
- XAccessibleContext unoAccessibleContext;
- XAccessibleSelection unoAccessibleSelection;
-
- public AccessibleTreeItem(XAccessibleContext xAccessibleContext) {
- unoAccessibleContext = xAccessibleContext;
- unoAccessibleSelection = UnoRuntime.queryInterface(XAccessibleSelection.class, xAccessibleContext);
- }
-
- /** Returns the accessible name of this object */
- public String getAccessibleName() {
- try {
- return unoAccessibleContext.getAccessibleName();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Sets the accessible name of this object */
- public void setAccessibleName(String name) {
- // Not supported
- }
-
- /** Returns the accessible name of this object */
- public String getAccessibleDescription() {
- try {
- return unoAccessibleContext.getAccessibleDescription();
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Sets the accessible name of this object */
- public void setAccessibleDescription(String name) {
- // Not supported
- }
-
- /** Returns the accessible role of this object */
- public javax.accessibility.AccessibleRole getAccessibleRole() {
- try {
- javax.accessibility.AccessibleRole role = AccessibleRoleAdapter.getAccessibleRole(
- unoAccessibleContext.getAccessibleRole());
- return (role != null) ? role : javax.accessibility.AccessibleRole.LABEL;
- } catch(com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the locale of the component */
- public java.util.Locale getLocale() throws java.awt.IllegalComponentStateException {
- try {
- com.sun.star.lang.Locale unoLocale = unoAccessibleContext.getLocale();
- return new java.util.Locale(unoLocale.Language, unoLocale.Country);
- } catch (IllegalAccessibleComponentStateException e) {
- throw new java.awt.IllegalComponentStateException(e.getMessage());
- } catch (com.sun.star.uno.RuntimeException e) {
- return Tree.this.getLocale();
- }
- }
-
- /** Gets the 0-based index of this object in its accessible parent */
- public int getAccessibleIndexInParent() {
- try {
- return unoAccessibleContext.getAccessibleIndexInParent();
- } catch (com.sun.star.uno.RuntimeException e) {
- return -1;
- }
- }
-
- /** Returns the number of accessible children of the object. */
- public int getAccessibleChildrenCount() {
- try {
- return unoAccessibleContext.getAccessibleChildCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Returns the specified Accessible child of the object. */
- public javax.accessibility.Accessible getAccessibleChild(int i) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleContext.getAccessibleChild(i);
- // Re-use the active descandant wrapper if possible
- javax.accessibility.Accessible activeDescendant = Tree.this.activeDescendant;
- if ((activeDescendant instanceof TreeItem) && ((TreeItem) activeDescendant).unoAccessible.equals(xAccessible)) {
- child = activeDescendant;
- } else if (xAccessible != null) {
- child = new TreeItem(xAccessible);
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /** Returns the state set of this object */
- public javax.accessibility.AccessibleStateSet getAccessibleStateSet() {
- try {
- return AccessibleStateAdapter.getAccessibleStateSet(TreeItem.this,
- unoAccessibleContext.getAccessibleStateSet());
- } catch (com.sun.star.uno.RuntimeException e) {
- return AccessibleStateAdapter.getDefunctStateSet();
- }
- }
-
- /** Gets the AccessibleComponent associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleComponent getAccessibleComponent() {
- try {
- XAccessibleComponent unoAccessibleComponent = UnoRuntime.queryInterface(XAccessibleComponent.class, unoAccessibleContext);
- return (unoAccessibleComponent != null) ?
- new AccessibleComponentImpl(unoAccessibleComponent) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Returns the AccessibleSelection interface for this object */
- public javax.accessibility.AccessibleSelection getAccessibleSelection() {
- return (unoAccessibleSelection != null) ? this : null;
- }
-
- /** Gets the AccessibleAction associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleAction getAccessibleAction() {
- try {
- XAccessibleAction unoAccessibleAction = UnoRuntime.queryInterface(XAccessibleAction.class, unoAccessibleContext);
- return (unoAccessibleAction != null) ?
- new AccessibleActionImpl(unoAccessibleAction) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleText associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleText getAccessibleText() {
-
- if (disposed)
- return null;
-
- try {
- XAccessibleText unoAccessibleText = UnoRuntime.queryInterface(XAccessibleText.class, unoAccessibleContext);
- return (unoAccessibleText != null) ?
- new AccessibleTextImpl(unoAccessibleText) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleValue associated with this object that has a graphical representation */
- public javax.accessibility.AccessibleValue getAccessibleValue() {
- try {
- XAccessibleValue unoAccessibleValue = UnoRuntime.queryInterface(XAccessibleValue.class, unoAccessibleContext);
- return (unoAccessibleValue != null) ?
- new AccessibleValueImpl(unoAccessibleValue) : null;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the AccessibleText associated with this object presenting text on the display */
- public javax.accessibility.AccessibleIcon[] getAccessibleIcon() {
- try {
- XAccessibleImage unoAccessibleImage = UnoRuntime.queryInterface(XAccessibleImage.class, unoAccessibleContext);
- if (unoAccessibleImage != null) {
- javax.accessibility.AccessibleIcon[] icons = { new AccessibleIconImpl(unoAccessibleImage) };
- return icons;
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return null;
- }
-
- /*
- * AccessibleSelection
- */
-
- /** Returns an Accessible representing the specified selected child of the object */
- public javax.accessibility.Accessible getAccessibleSelection(int i) {
- javax.accessibility.Accessible child = null;
- try {
- XAccessible xAccessible = unoAccessibleContext.getAccessibleChild(i);
- if (xAccessible != null) {
- child = new TreeItem(xAccessible);
- }
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- return child;
- }
-
- /** Adds the specified Accessible child of the object to the object's selection */
- public void addAccessibleSelection(int i) {
- try {
- unoAccessibleSelection.selectAccessibleChild(i);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Clears the selection in the object, so that no children in the object are selected */
- public void clearAccessibleSelection() {
- try {
- unoAccessibleSelection.clearAccessibleSelection();
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Returns the number of Accessible children currently selected */
- public int getAccessibleSelectionCount() {
- try {
- return unoAccessibleSelection.getSelectedAccessibleChildCount();
- } catch (com.sun.star.uno.RuntimeException e) {
- return 0;
- }
- }
-
- /** Determines if the current child of this object is selected */
- public boolean isAccessibleChildSelected(int i) {
- try {
- return unoAccessibleSelection.isAccessibleChildSelected(i);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- return false;
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Removes the specified child of the object from the object's selection */
- public void removeAccessibleSelection(int i) {
- try {
- unoAccessibleSelection.deselectAccessibleChild(i);
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- /** Causes every child of the object to be selected if the object supports multiple selection */
- public void selectAllAccessibleSelection() {
- try {
- unoAccessibleSelection.selectAllAccessibleChildren();
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
- }
- }
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Window.java b/accessibility/bridge/org/openoffice/java/accessibility/Window.java
deleted file mode 100644
index 137818ec10d5..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/Window.java
+++ /dev/null
@@ -1,564 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility;
-
-import com.sun.star.uno.*;
-import com.sun.star.accessibility.*;
-
-public class Window extends java.awt.Window implements javax.accessibility.Accessible, NativeFrame {
- protected XAccessibleComponent unoAccessibleComponent;
-
- boolean opened = false;
- boolean visible = false;
-
- java.awt.EventQueue eventQueue = null;
-
- public Window(java.awt.Window owner, XAccessibleComponent xAccessibleComponent) {
- super(owner);
- initialize(xAccessibleComponent);
- }
-
- private void initialize(XAccessibleComponent xAccessibleComponent) {
- unoAccessibleComponent = xAccessibleComponent;
- eventQueue = java.awt.Toolkit.getDefaultToolkit().getSystemEventQueue();
- XAccessibleEventBroadcaster broadcaster = UnoRuntime.queryInterface(XAccessibleEventBroadcaster.class,
- unoAccessibleComponent);
- if (broadcaster != null) {
- broadcaster.addAccessibleEventListener(new AccessibleWindowListener());
- }
- }
-
- java.awt.Component initialComponent = null;
-
- public java.awt.Component getInitialComponent() {
- if (Build.DEBUG) {
- System.err.println("returning initial component object of class: " + initialComponent.getClass().getName());
- }
- return initialComponent;
- }
-
- public void setInitialComponent(java.awt.Component c) {
- initialComponent = c;
- }
-
- public Integer getHWND() {
- return null;
- }
-
- /**
- * Determines whether this <code>Component</code> is showing on screen.
- * This means that the component must be visible, and it must be in a
- * <code>container</code> that is visible and showing.
- * @see #addNotify
- * @see #removeNotify
- * @since JDK1.0
- */
- public boolean isShowing() {
- if (isVisible()) {
- java.awt.Container parent = getParent();
- return (parent == null) || parent.isShowing();
- }
- return false;
- }
-
- /**
- * Makes this <code>Component</code> displayable by connecting it to a
- * native screen resource.
- * This method is called internally by the toolkit and should
- * not be called directly by programs.
- * @see #isDisplayable
- * @see #removeNotify
- * @since JDK1.0
- */
- public void addNotify() {
-// createHierarchyEvents(0, null, null, 0, false);
- }
-
- /**
- * Makes this <code>Component</code> undisplayable by destroying it native
- * screen resource.
- * This method is called by the toolkit internally and should
- * not be called directly by programs.
- * @see #isDisplayable
- * @see #addNotify
- * @since JDK1.0
- */
- public void removeNotify() {
- }
-
- /**
- * Determines if the object is visible. Note: this means that the
- * object intends to be visible; however, it may not in fact be
- * showing on the screen because one of the objects that this object
- * is contained by is not visible. To determine if an object is
- * showing on the screen, use <code>isShowing</code>.
- *
- * @return true if object is visible; otherwise, false
- */
- public boolean isVisible(){
- return visible;
- }
-
- /**
- * Shows or hides this component depending on the value of parameter
- * <code>b</code>.
- * @param b if <code>true</code>, shows this component;
- * otherwise, hides this component
- * @see #isVisible
- * @since JDK1.1
- */
- public void setVisible(boolean b) {
- if (visible != b){
- visible = b;
- if (b) {
- // If it is the first show, fire WINDOW_OPENED event
- if (!opened) {
- postWindowEvent(java.awt.event.WindowEvent.WINDOW_OPENED);
- opened = true;
- }
- postComponentEvent(java.awt.event.ComponentEvent.COMPONENT_SHOWN);
- } else {
- postComponentEvent(java.awt.event.ComponentEvent.COMPONENT_HIDDEN);
- }
- }
- }
-
- public void dispose() {
- setVisible(false);
- postWindowEvent(java.awt.event.WindowEvent.WINDOW_CLOSED);
-
- // Transfer window focus back to the owner window if it is still the active frame
- if ((getOwner() instanceof Frame && ((Frame) getOwner()).active) ||
- (getOwner() instanceof Dialog && ((Dialog) getOwner()).active)) {
- eventQueue.postEvent(new java.awt.event.WindowEvent(getOwner(),
- java.awt.event.WindowEvent.WINDOW_GAINED_FOCUS));
- }
- }
-
- protected void postWindowEvent(int i) {
- eventQueue.postEvent(new java.awt.event.WindowEvent(this, i));
- }
-
- protected void postComponentEvent(int i) {
- eventQueue.postEvent(new java.awt.event.ComponentEvent(this, i));
- }
-
- /**
- * Update the proxy objects appropriatly on property change events
- */
- protected class AccessibleWindowListener implements XAccessibleEventListener {
-
- protected AccessibleWindowListener() {
- }
-
- // The only expected state changes are ACTIVE and VISIBLE
- protected void setComponentState(short state, boolean enable) {
- switch (state) {
- case AccessibleStateType.ICONIFIED:
- postWindowEvent(enable ?
- java.awt.event.WindowEvent.WINDOW_ICONIFIED :
- java.awt.event.WindowEvent.WINDOW_DEICONIFIED);
- break;
- case AccessibleStateType.SHOWING:
- case AccessibleStateType.VISIBLE:
- setVisible(enable);
- break;
- default:
- if (Build.DEBUG) {
-// System.err.println("[frame]: " + getTitle() + "unexpected state change " + state);
- }
- break;
- }
- }
-
- /** Updates the accessible name and fires the appropriate PropertyChangedEvent */
- protected void handleNameChangedEvent(Object any) {
- try {
- // This causes the property change event to be fired in the VCL thread
- // context. If this causes problems, it has to be deligated to the java
- // dispatch thread ..
- javax.accessibility.AccessibleContext ac = accessibleContext;
- if (ac!= null) {
- ac.setAccessibleName(AnyConverter.toString(any));
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Updates the accessible description and fires the appropriate PropertyChangedEvent */
- protected void handleDescriptionChangedEvent(Object any) {
- try {
- // This causes the property change event to be fired in the VCL thread
- // context. If this causes problems, it has to be deligated to the java
- // dispatch thread ..
- if (accessibleContext != null) {
- accessibleContext.setAccessibleDescription(AnyConverter.toString(any));
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Updates the internal states and fires the appropriate PropertyChangedEvent */
- protected void handleStateChangedEvent(Object any1, Object any2) {
- try {
- if (AnyConverter.isShort(any1)) {
- setComponentState(AnyConverter.toShort(any1), false);
- }
-
- if (AnyConverter.isShort(any2)) {
- setComponentState(AnyConverter.toShort(any2), true);
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- /** Fires a visible data property change event */
- protected void handleVisibleDataEvent() {
- javax.accessibility.AccessibleContext ac = accessibleContext;
- if (ac != null) {
- ac.firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY, null, null);
- }
- }
-
- /** Called by OpenOffice process to notify property changes */
- public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.NAME_CHANGED:
- // Set the accessible name for the corresponding context, which will fire a property
- // change event itself
- handleNameChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.DESCRIPTION_CHANGED:
- // Set the accessible description for the corresponding context, which will fire a property
- // change event itself - so do not set propertyName !
- handleDescriptionChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.STATE_CHANGED:
- // Update the internal state set and fire the appropriate PropertyChangedEvent
- handleStateChangedEvent(event.OldValue, event.NewValue);
- break;
- case AccessibleEventId.CHILD:
- if (AnyConverter.isObject(event.OldValue)) {
- AccessibleObjectFactory.removeChild(Window.this, event.OldValue);
- } else if (AnyConverter.isObject(event.NewValue)) {
- AccessibleObjectFactory.addChild(Window.this, event.NewValue);
- }
- break;
- case AccessibleEventId.VISIBLE_DATA_CHANGED:
- case AccessibleEventId.BOUNDRECT_CHANGED:
- handleVisibleDataEvent();
- break;
- default:
- // Warn about unhandled events
- if(Build.DEBUG) {
- System.out.println(this + ": unhandled accessibility event id=" + event.EventId);
- }
- }
- }
-
- /** Called by OpenOffice process to notify that the UNO component is disposing */
- public void disposing(com.sun.star.lang.EventObject eventObject) {
- }
- }
-
- protected javax.accessibility.AccessibleContext accessibleContext = null;
-
- /** Returns the AccessibleContext associated with this object */
- public javax.accessibility.AccessibleContext getAccessibleContext() {
- if (accessibleContext == null) {
- accessibleContext = new AccessibleWindow();
-// accessibleContext.setAccessibleName(getTitle());
- }
- return accessibleContext;
- }
-
- protected class AccessibleWindow extends java.awt.Window.AccessibleAWTWindow {
- protected AccessibleWindow() {
- super();
- }
-
- protected java.awt.event.ComponentListener accessibleComponentHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when shown/hidden..
- */
- protected class AccessibleComponentHandler implements java.awt.event.ComponentListener {
- public void componentHidden(java.awt.event.ComponentEvent e) {
- AccessibleWindow.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- javax.accessibility.AccessibleState.VISIBLE, null);
- }
-
- public void componentShown(java.awt.event.ComponentEvent e) {
- AccessibleWindow.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
- null, javax.accessibility.AccessibleState.VISIBLE);
- }
-
- public void componentMoved(java.awt.event.ComponentEvent e) {
- }
-
- public void componentResized(java.awt.event.ComponentEvent e) {
- }
- } // inner class AccessibleComponentHandler
-
- protected java.awt.event.ContainerListener accessibleContainerHandler = null;
-
- /**
- * Fire PropertyChange listener, if one is registered,
- * when children added/removed.
- */
-
- protected class AccessibleContainerHandler implements java.awt.event.ContainerListener {
- public void componentAdded(java.awt.event.ContainerEvent e) {
- java.awt.Component c = e.getChild();
- if (c != null && c instanceof javax.accessibility.Accessible) {
- AccessibleWindow.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- null, ((javax.accessibility.Accessible) c).getAccessibleContext());
- }
- }
- public void componentRemoved(java.awt.event.ContainerEvent e) {
- java.awt.Component c = e.getChild();
- if (c != null && c instanceof javax.accessibility.Accessible) {
- AccessibleWindow.this.firePropertyChange(
- javax.accessibility.AccessibleContext.ACCESSIBLE_CHILD_PROPERTY,
- ((javax.accessibility.Accessible) c).getAccessibleContext(), null);
- }
- }
- }
-
- protected int propertyChangeListenerCount = 0;
-
- /**
- * Add a PropertyChangeListener to the listener list.
- *
- * @param listener The PropertyChangeListener to be added
- */
- public void addPropertyChangeListener(java.beans.PropertyChangeListener listener) {
- if (propertyChangeListenerCount++ == 0) {
- accessibleContainerHandler = new AccessibleContainerHandler();
- Window.this.addContainerListener(accessibleContainerHandler);
-
- accessibleComponentHandler = new AccessibleComponentHandler();
- Window.this.addComponentListener(accessibleComponentHandler);
- }
- super.addPropertyChangeListener(listener);
- }
-
- /**
- * Remove a PropertyChangeListener from the listener list.
- * This removes a PropertyChangeListener that was registered
- * for all properties.
- *
- * @param listener The PropertyChangeListener to be removed
- */
- public void removePropertyChangeListener(java.beans.PropertyChangeListener listener) {
- if (--propertyChangeListenerCount == 0) {
- Window.this.removeComponentListener(accessibleComponentHandler);
- accessibleComponentHandler = null;
-
- Window.this.removeContainerListener(accessibleContainerHandler);
- accessibleContainerHandler = null;
- }
- super.removePropertyChangeListener(listener);
- }
-
- /*
- * AccessibleComponent
- */
-
- /** Returns the background color of the object */
- public java.awt.Color getBackground() {
- try {
- return new java.awt.Color(unoAccessibleComponent.getBackground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setBackground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- /** Returns the foreground color of the object */
- public java.awt.Color getForeground() {
- try {
- return new java.awt.Color(unoAccessibleComponent.getForeground());
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public void setForeground(java.awt.Color c) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Cursor getCursor() {
- // Not supported by UNO accessibility API
- return null;
- }
-
- public void setCursor(java.awt.Cursor cursor) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.Font getFont() {
- // FIXME
- return null;
- }
-
- public void setFont(java.awt.Font f) {
- // Not supported by UNO accessibility API
- }
-
- public java.awt.FontMetrics getFontMetrics(java.awt.Font f) {
- // FIXME
- return null;
- }
-
- public boolean isEnabled() {
- return Window.this.isEnabled();
- }
-
- public void setEnabled(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isVisible() {
- return Window.this.isVisible();
- }
-
- public void setVisible(boolean b) {
- // Not supported by UNO accessibility API
- }
-
- public boolean isShowing() {
- return Window.this.isShowing();
- }
-
- public boolean contains(java.awt.Point p) {
- try {
- return unoAccessibleComponent.containsPoint(new com.sun.star.awt.Point(p.x, p.y));
- } catch (com.sun.star.uno.RuntimeException e) {
- return false;
- }
- }
-
- /** Returns the location of the object on the screen. */
- public java.awt.Point getLocationOnScreen() {
- try {
- com.sun.star.awt.Point unoPoint = unoAccessibleComponent.getLocationOnScreen();
- return new java.awt.Point(unoPoint.X, unoPoint.Y);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** Gets the location of this component in the form of a point specifying the component's top-left corner */
- public java.awt.Point getLocation() {
- try {
- com.sun.star.awt.Point unoPoint = unoAccessibleComponent.getLocationOnScreen();
- return new java.awt.Point( unoPoint.X, unoPoint.Y );
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Rectangle unoRect = unoAccessibleComponent.getBounds();
- return new java.awt.Rectangle(unoRect.X, unoRect.Y, unoRect.Width, unoRect.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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() {
- try {
- com.sun.star.awt.Size unoSize = unoAccessibleComponent.getSize();
- return new java.awt.Dimension(unoSize.Width, unoSize.Height);
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- /** 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) {
- try {
- java.awt.Component c = AccessibleObjectFactory.getAccessibleComponent(
- unoAccessibleComponent.getAccessibleAtPoint(new com.sun.star.awt.Point(p.x, p.y)));
-
- return (javax.accessibility.Accessible) c;
- } catch (com.sun.star.uno.RuntimeException e) {
- return null;
- }
- }
-
- public boolean isFocusTraversable() {
- return Window.this.isFocusable();
- }
-
- public void requestFocus() {
- unoAccessibleComponent.grabFocus();
- }
- }
-
- /**
- * Determines whether this component is displayable. A component is
- * displayable when it is connected to a native screen resource.
- * <p>
- * A component is made displayable either when it is added to
- * a displayable containment hierarchy or when its containment
- * hierarchy is made displayable.
- * A containment hierarchy is made displayable when its ancestor
- * window is either packed or made visible.
- * <p>
- * A component is made undisplayable either when it is removed from
- * a displayable containment hierarchy or when its containment hierarchy
- * is made undisplayable. A containment hierarchy is made
- * undisplayable when its ancestor window is disposed.
- *
- * @return <code>true</code> if the component is displayable
- */
- @Override
- public boolean isDisplayable() {
- return true;
- }
-
-}
-
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleEventLog.java b/accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleEventLog.java
deleted file mode 100644
index b0d1d7e80d94..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleEventLog.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility.logging;
-
-import java.awt.Component;
-
-import com.sun.star.accessibility.*;
-import com.sun.star.uno.*;
-
-/**
- *
- */
-public class XAccessibleEventLog implements XAccessibleEventListener {
-
- private static XAccessibleEventLog theEventListener = null;
-
- private static java.util.Hashtable<String, Component> proxyList = new java.util.Hashtable<String, Component>();
-
- /** Creates a new instance of UNOAccessibleEventListener */
- public XAccessibleEventLog() {
- }
-
- private static XAccessibleEventListener get() {
- if (theEventListener == null) {
- theEventListener = new XAccessibleEventLog();
- }
- return theEventListener;
- }
-
- public static void addEventListener(XAccessibleContext xac, java.awt.Component c) {
- XAccessibleEventBroadcaster broadcaster = UnoRuntime.queryInterface(XAccessibleEventBroadcaster.class, xac);
- if (broadcaster != null) {
- broadcaster.addAccessibleEventListener(XAccessibleEventLog.get());
-
- // remember the proxy objects
- synchronized (proxyList) {
-// proxyList.put(UnoRuntime.generateOid(xac), new WeakReference(c));
- proxyList.put(UnoRuntime.generateOid(xac), c);
- }
- }
- }
-
- public void disposing(com.sun.star.lang.EventObject eventObject) {
- }
-
- public void notifyEvent(com.sun.star.accessibility.AccessibleEventObject accessibleEventObject) {
- switch (accessibleEventObject.EventId) {
- case AccessibleEventId.ACTIVE_DESCENDANT_CHANGED:
- logMessage(accessibleEventObject.Source, "Retrieved active descendant event.");
- break;
- case AccessibleEventId.STATE_CHANGED:
- logStateChange(accessibleEventObject.Source,
- accessibleEventObject.OldValue,
- accessibleEventObject.NewValue);
- break;
- case AccessibleEventId.CHILD:
- logMessage(accessibleEventObject.Source, "Retrieved children event.");
- break;
- case AccessibleEventId.BOUNDRECT_CHANGED:
- logMessage(accessibleEventObject.Source, "Retrieved boundrect changed event.");
- break;
- case AccessibleEventId.VISIBLE_DATA_CHANGED:
- logMessage(accessibleEventObject.Source, "Retrieved visible data changed event.");
- break;
- case AccessibleEventId.INVALIDATE_ALL_CHILDREN:
- logMessage(accessibleEventObject.Source, "Retrieved invalidate children event.");
- break;
- default:
- break;
- }
- }
-
- public void logStateChange(Object o, Object any1, Object any2) {
- try {
- if (AnyConverter.isShort(any1)) {
- logStateChange(o, AnyConverter.toShort(any1), " is no longer ");
- }
-
- if (AnyConverter.isShort(any2)) {
- logStateChange(o, AnyConverter.toShort(any2), " is now ");
- }
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- }
- }
-
- public void logStateChange(Object o, short n, String s) {
- switch(n) {
- case AccessibleStateType.ACTIVE:
- logMessage(o, s + javax.accessibility.AccessibleState.ACTIVE);
- break;
- case AccessibleStateType.ARMED:
- logMessage(o, s + javax.accessibility.AccessibleState.ARMED);
- break;
- case AccessibleStateType.CHECKED:
- logMessage(o, s + javax.accessibility.AccessibleState.CHECKED);
- break;
- case AccessibleStateType.ENABLED:
- logMessage(o, s + javax.accessibility.AccessibleState.ENABLED);
- break;
- case AccessibleStateType.FOCUSED:
- logMessage(o, s + javax.accessibility.AccessibleState.FOCUSED);
- break;
- case AccessibleStateType.PRESSED:
- logMessage(o, s + javax.accessibility.AccessibleState.PRESSED);
- break;
- case AccessibleStateType.SELECTED:
- logMessage(o, s + javax.accessibility.AccessibleState.SELECTED);
- break;
- case AccessibleStateType.SENSITIVE:
- logMessage(o, s + "sensitive");
- break;
- case AccessibleStateType.SHOWING:
- logMessage(o, s + javax.accessibility.AccessibleState.SHOWING);
- break;
- case AccessibleStateType.VISIBLE:
- logMessage(o, s + javax.accessibility.AccessibleState.VISIBLE);
- break;
- default:
- logMessage(o, s + "??? (FIXME)");
- break;
- }
- }
-
- protected static void logMessage(Object o, String s) {
- XAccessibleContext xac = UnoRuntime.queryInterface(XAccessibleContext.class, o);
- if( xac != null ) {
- String oid = UnoRuntime.generateOid(xac);
- synchronized (proxyList) {
- logMessage( (javax.accessibility.Accessible) proxyList.get( oid ), s );
-// WeakReference r = (WeakReference) proxyList.get( oid );
-// if(r != null) {
-// System.err.println( "*** Warning *** event is " + r.get() );
-// logMessage( (javax.accessibility.Accessible) r.get(), s );
-// } else {
-// System.err.println( "*** Warning *** event source not found in broadcaster list" );
-// }
- }
- } else
- System.err.println( "*** Warning *** event source does not implement XAccessibleContext" );
- }
-
- protected static void logMessage(javax.accessibility.Accessible a, String s) {
- if (a != null) {
- logMessage(a.getAccessibleContext(), s);
- } else {
- logMessage(s);
- }
- }
-
- protected static void logMessage(javax.accessibility.AccessibleContext ac, String s) {
- if (ac != null) {
- logMessage("[" + ac.getAccessibleRole() + "] "
- + ac.getAccessibleName() + ": " + s);
- } else {
- logMessage(s);
- }
- }
-
- protected static void logMessage(String s) {
- System.err.println(s);
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleHypertextLog.java b/accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleHypertextLog.java
deleted file mode 100644
index 88764d651cd5..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleHypertextLog.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package org.openoffice.java.accessibility.logging;
-
-import com.sun.star.accessibility.*;
-
-/** The AccessibleHypertextImpl mapps all calls to the java AccessibleHypertext
- * interface to the corresponding methods of the UNO XAccessibleHypertext
- * interface.
- */
-public class XAccessibleHypertextLog extends XAccessibleTextLog
- implements com.sun.star.accessibility.XAccessibleHypertext {
-
- private com.sun.star.accessibility.XAccessibleHypertext unoObject;
-
- /** Creates a new instance of XAccessibleTextLog */
- public XAccessibleHypertextLog(XAccessibleHypertext xAccessibleHypertext) {
- super(xAccessibleHypertext);
- unoObject = xAccessibleHypertext;
- }
-
- public XAccessibleHyperlink getHyperLink(int param)
- throws com.sun.star.lang.IndexOutOfBoundsException {
- return unoObject.getHyperLink(param);
- }
-
- public int getHyperLinkCount() {
- return unoObject.getHyperLinkCount();
- }
-
- public int getHyperLinkIndex(int param)
- throws com.sun.star.lang.IndexOutOfBoundsException {
- return unoObject.getHyperLinkIndex(param);
- }
-}
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleTextLog.java b/accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleTextLog.java
deleted file mode 100644
index 7b3527bd278a..000000000000
--- a/accessibility/bridge/org/openoffice/java/accessibility/logging/XAccessibleTextLog.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package org.openoffice.java.accessibility.logging;
-
-import org.openoffice.java.accessibility.*;
-
-
-/**
- *
- */
-public class XAccessibleTextLog
- implements com.sun.star.accessibility.XAccessibleText {
- private com.sun.star.accessibility.XAccessibleText unoObject;
- private String name = "[Unknown] NoName";
-
- /** Creates a new instance of XAccessibleTextLog */
- public XAccessibleTextLog(
- com.sun.star.accessibility.XAccessibleText xAccessibleText) {
- unoObject = xAccessibleText;
- setName(xAccessibleText);
- }
-
- private void setName(
- com.sun.star.accessibility.XAccessibleText xAccessibleText) {
- try {
- com.sun.star.accessibility.XAccessibleContext unoAccessibleContext = com.sun.star.uno.UnoRuntime.queryInterface(com.sun.star.accessibility.XAccessibleContext.class,
- xAccessibleText);
-
- if (unoAccessibleContext != null) {
- name = "[" +
- AccessibleRoleAdapter.getAccessibleRole(unoAccessibleContext.getAccessibleRole()) +
- "] " + unoAccessibleContext.getAccessibleName() + ": ";
- }
- } catch (com.sun.star.uno.RuntimeException e) {
- }
- }
-
- private String getPartString(short s) {
- String part = "INVALID";
-
- switch (s) {
- case com.sun.star.accessibility.AccessibleTextType.CHARACTER:
- part = "CHARACTER";
-
- break;
-
- case com.sun.star.accessibility.AccessibleTextType.WORD:
- part = "WORD";
-
- break;
-
- case com.sun.star.accessibility.AccessibleTextType.SENTENCE:
- part = "SENTENCE";
-
- break;
-
- case com.sun.star.accessibility.AccessibleTextType.LINE:
- part = "LINE";
-
- break;
-
- case com.sun.star.accessibility.AccessibleTextType.ATTRIBUTE_RUN:
- part = "ATTRIBUTE_RUN";
-
- break;
-
- default:
- break;
- }
-
- return part;
- }
-
- private String dumpTextSegment(com.sun.star.accessibility.TextSegment ts) {
- if (ts != null) {
- return "(" + ts.SegmentStart + "," + ts.SegmentEnd + "," +
- ts.SegmentText + ")";
- }
-
- return "NULL";
- }
-
- public boolean copyText(int param, int param1)
- throws com.sun.star.lang.IndexOutOfBoundsException {
- return unoObject.copyText(param, param1);
- }
-
- public int getCaretPosition() {
- int pos = unoObject.getCaretPosition();
- System.err.println(name + "getCaretPosition() returns " + pos);
-
- return pos;
- }
-
- public char getCharacter(int param)
- throws com.sun.star.lang.IndexOutOfBoundsException {
- return unoObject.getCharacter(param);
- }
-
- public com.sun.star.beans.PropertyValue[] getCharacterAttributes(
- int param, String[] str)
- throws com.sun.star.lang.IndexOutOfBoundsException {
- return unoObject.getCharacterAttributes(param, str);
- }
-
- public com.sun.star.awt.Rectangle getCharacterBounds(int param)
- throws com.sun.star.lang.IndexOutOfBoundsException {
- try {
- com.sun.star.awt.Rectangle r = unoObject.getCharacterBounds(param);
- System.err.println(name + "getCharacterBounds(" + param +
- ") returns (" + r.X + "," + r.Y + "," + r.Width + "," +
- r.Height + ")");
-
- return r;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- System.err.println("IndexOutOufBoundsException caught for " + name +
- "getCharacterBounds(" + param + ")");
- throw e;
- }
- }
-
- public int getCharacterCount() {
- return unoObject.getCharacterCount();
- }
-
- public int getIndexAtPoint(com.sun.star.awt.Point point) {
- try {
- int index = unoObject.getIndexAtPoint(point);
- System.err.println(name + "getIndexAtPoint(" + point.X + ", " +
- point.Y + ") returns " + index);
-
- return index;
- } catch (com.sun.star.uno.RuntimeException e) {
- System.err.println(name +
- "RuntimeException caught for getIndexAtPoint(" + point.X +
- ", " + point.Y + ")");
- System.err.println(e.getMessage());
- throw e;
- }
- }
-
- public String getSelectedText() {
- return unoObject.getSelectedText();
- }
-
- public int getSelectionEnd() {
- return unoObject.getSelectionEnd();
- }
-
- public int getSelectionStart() {
- return unoObject.getSelectionStart();
- }
-
- public String getText() {
- return unoObject.getText();
- }
-
- public com.sun.star.accessibility.TextSegment getTextAtIndex(int param,
- short param1)
- throws com.sun.star.lang.IndexOutOfBoundsException,
- com.sun.star.lang.IllegalArgumentException {
- try {
- com.sun.star.accessibility.TextSegment ts = unoObject.getTextAtIndex(param,
- param1);
- System.err.println(name + "getTextAtIndex(" +
- getPartString(param1) + "," + param + ") returns " +
- dumpTextSegment(ts));
-
- return ts;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- System.err.println("IndexOutOufBoundsException caught for " + name +
- " getTextAtIndex(" + getPartString(param1) + "," + param1 +
- ")");
- throw e;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- System.err.println("IllegalArgumentException caught for " + name +
- " getTextAtIndex(" + getPartString(param1) + "," + param + ")");
- throw e;
- }
- }
-
- public com.sun.star.accessibility.TextSegment getTextBeforeIndex(
- int param, short param1)
- throws com.sun.star.lang.IndexOutOfBoundsException,
- com.sun.star.lang.IllegalArgumentException {
- try {
- com.sun.star.accessibility.TextSegment ts = unoObject.getTextBeforeIndex(param,
- param1);
- System.err.println(name + " getTextBeforeIndex(" +
- getPartString(param1) + "," + param + ") returns " +
- dumpTextSegment(ts));
-
- return ts;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- System.err.println("IndexOutOufBoundsException caught for " + name +
- " getTextBeforeIndex(" + getPartString(param1) + "," + param1 +
- ")");
- throw e;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- System.err.println("IllegalArgumentException caught for " + name +
- " getTextBeforeIndex(" + getPartString(param1) + "," + param +
- ")");
- throw e;
- }
- }
-
- public com.sun.star.accessibility.TextSegment getTextBehindIndex(
- int param, short param1)
- throws com.sun.star.lang.IndexOutOfBoundsException,
- com.sun.star.lang.IllegalArgumentException {
- try {
- com.sun.star.accessibility.TextSegment ts = unoObject.getTextBehindIndex(param,
- param1);
- System.err.println(name + " getTextBehindIndex(" +
- getPartString(param1) + "," + param + ") returns " +
- dumpTextSegment(ts));
-
- return ts;
- } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
- System.err.println("IndexOutOufBoundsException caught for " + name +
- " getTextBehindIndex(" + getPartString(param1) + "," + param1 +
- ")");
- throw e;
- } catch (com.sun.star.lang.IllegalArgumentException e) {
- System.err.println("IllegalArgumentException caught for " + name +
- " getTextBehindIndex(" + getPartString(param1) + "," + param +
- ")");
- throw e;
- }
- }
-
- public String getTextRange(int param, int param1)
- throws com.sun.star.lang.IndexOutOfBoundsException {
- return unoObject.getTextRange(param, param1);
- }
-
- public boolean setCaretPosition(int param)
- throws com.sun.star.lang.IndexOutOfBoundsException {
- return unoObject.setCaretPosition(param);
- }
-
- public boolean setSelection(int param, int param1)
- throws com.sun.star.lang.IndexOutOfBoundsException {
- return unoObject.setSelection(param, param1);
- }
-}
diff --git a/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx b/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx
deleted file mode 100644
index e99d51c2a446..000000000000
--- a/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx
+++ /dev/null
@@ -1,300 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifdef WNT
-#include <prewin.h>
-#include <postwin.h>
-#endif
-
-#include <WindowsAccessBridgeAdapter.h>
-
-#include <wtypes.h>
-#include <rtl/process.h>
-#include <tools/link.hxx>
-
-#include <vcl/svapp.hxx>
-#include <vcl/window.hxx>
-#include <vcl/sysdata.hxx>
-#include <uno/current_context.hxx>
-#include <uno/environment.h>
-#include <uno/mapping.hxx>
-#include <com/sun/star/accessibility/AccessibleRole.hpp>
-#include <com/sun/star/accessibility/XAccessible.hpp>
-
-#include "jvmaccess/unovirtualmachine.hxx"
-
-#include "jvmaccess/virtualmachine.hxx"
-
-#include <osl/diagnose.h>
-
-using ::com::sun::star::uno::Mapping;
-using ::com::sun::star::uno::Reference;
-using ::com::sun::star::uno::RuntimeException;
-using namespace ::com::sun::star::accessibility;
-
-long VCLEventListenerLinkFunc(void * pInst, void * pData);
-
-//------------------------------------------------------------------------
-// global vatiables
-//------------------------------------------------------------------------
-
-Link g_aEventListenerLink(NULL, VCLEventListenerLinkFunc);
-
-rtl::Reference< jvmaccess::UnoVirtualMachine > g_xUnoVirtualMachine;
-typelib_InterfaceTypeDescription * g_pTypeDescription = NULL;
-Mapping g_unoMapping;
-
-jclass g_jcWindowsAccessBridgeAdapter = NULL;
-jmethodID g_jmRegisterTopWindow = 0;
-jmethodID g_jmRevokeTopWindow = 0;
-
-//------------------------------------------------------------------------
-// functions
-//------------------------------------------------------------------------
-
-SAL_DLLPUBLIC_EXPORT jint JNICALL JNI_OnLoad(JavaVM *, void *)
-{
- return JNI_VERSION_1_2;
-}
-
-SAL_DLLPUBLIC_EXPORT jbyteArray JNICALL
-Java_org_openoffice_accessibility_WindowsAccessBridgeAdapter_getProcessID(JNIEnv *pJNIEnv, jclass clazz)
-{
- // Initialize global class and method references
- g_jcWindowsAccessBridgeAdapter =
- static_cast< jclass > (pJNIEnv->NewGlobalRef(clazz));
- if (NULL == g_jcWindowsAccessBridgeAdapter) {
- return 0; /* jni error occurred */
- }
- g_jmRegisterTopWindow =
- pJNIEnv->GetStaticMethodID(clazz, "registerTopWindow", "(ILcom/sun/star/accessibility/XAccessible;)V");
- if (0 == g_jmRegisterTopWindow) {
- return 0; /* jni error occurred */
- }
- g_jmRevokeTopWindow =
- pJNIEnv->GetStaticMethodID(clazz, "revokeTopWindow", "(ILcom/sun/star/accessibility/XAccessible;)V");
- if (0 == g_jmRevokeTopWindow) {
- return 0; /* jni error occurred */
- }
-
- // Use the special protocol of XJavaVM.getJavaVM: If the passed in
- // process ID has an extra 17th byte of value one, the returned any
- // contains a pointer to a jvmaccess::UnoVirtualMachine, instead of
- // the underlying JavaVM pointer:
- jbyte processID[17];
- rtl_getGlobalProcessId(reinterpret_cast<sal_uInt8 *> (processID));
- // #i51265# we need a jvmaccess::UnoVirtualMachine pointer for the
- // uno_getEnvironment() call later.
- processID[16] = 1;
-
- // Copy the result into a java byte[] and return.
- jbyteArray jbaProcessID = pJNIEnv->NewByteArray(17);
- pJNIEnv->SetByteArrayRegion(jbaProcessID, 0, 17, processID);
- return jbaProcessID;
-}
-
-SAL_DLLPUBLIC_EXPORT jboolean JNICALL
-Java_org_openoffice_accessibility_WindowsAccessBridgeAdapter_createMapping(JNIEnv *, jclass, jlong pointer)
-{
- uno_Environment * pJava_environment = NULL;
- uno_Environment * pUno_environment = NULL;
-
- try {
- // We get a non-refcounted pointer to a jvmaccess::VirtualMachine
- // from the XJavaVM service (the pointer is guaranteed to be valid
- // as long as our reference to the XJavaVM service lasts), and
- // convert the non-refcounted pointer into a refcounted one
- // immediately:
- g_xUnoVirtualMachine = reinterpret_cast< jvmaccess::UnoVirtualMachine * >(pointer);
-
- if ( g_xUnoVirtualMachine.is() )
- {
- OUString sJava("java");
- uno_getEnvironment(&pJava_environment, sJava.pData, g_xUnoVirtualMachine.get());
-
- OUString sCppu_current_lb_name(CPPU_CURRENT_LANGUAGE_BINDING_NAME);
- uno_getEnvironment(&pUno_environment, sCppu_current_lb_name.pData, NULL);
-
- if ( pJava_environment && pUno_environment )
- {
- g_unoMapping = Mapping(pUno_environment, pJava_environment);
- getCppuType((::com::sun::star::uno::Reference< XAccessible > *) 0).getDescription((typelib_TypeDescription **) & g_pTypeDescription);
- }
-
- if ( pJava_environment )
- {
- // release java environment
- pJava_environment->release(pJava_environment);
- pJava_environment = NULL;
- }
-
- if ( pUno_environment )
- {
- // release uno environment
- pUno_environment->release(pUno_environment);
- pUno_environment = NULL;
- }
- }
- }
-
- catch (const RuntimeException &)
- {
- OSL_TRACE("RuntimeException caught while initializing the mapping");
- }
-
- if ( (0 != g_jmRegisterTopWindow) && (0 != g_jmRevokeTopWindow) )
- {
- ::Application::AddEventListener(g_aEventListenerLink);
- }
- return JNI_TRUE;
-}
-
-SAL_DLLPUBLIC_EXPORT void JNICALL JNI_OnUnload(JavaVM *jvm, void *)
-{
- ::Application::RemoveEventListener(g_aEventListenerLink);
-
- if ( NULL != g_jcWindowsAccessBridgeAdapter )
- {
- JNIEnv * pJNIEnv;
- if ( ! jvm->GetEnv((void **) &pJNIEnv, JNI_VERSION_1_2) )
- {
- pJNIEnv->DeleteGlobalRef(g_jcWindowsAccessBridgeAdapter);
- g_jcWindowsAccessBridgeAdapter = NULL;
- }
- }
-
- if ( NULL != g_pTypeDescription )
- {
- typelib_typedescription_release( reinterpret_cast< typelib_TypeDescription * > (g_pTypeDescription) );
- g_pTypeDescription = NULL;
- }
-
- g_unoMapping.clear();
- g_xUnoVirtualMachine.clear();
-}
-
-HWND GetHWND(Window * pWindow)
-{
- const SystemEnvData * pEnvData = pWindow->GetSystemData();
- if (pEnvData != NULL)
- {
- return pEnvData->hWnd;
- }
- return (HWND) -1;
-}
-
-void handleWindowEvent(Window * pWindow, bool bShow)
-{
- if ( pWindow && pWindow->IsTopWindow() )
- {
- ::com::sun::star::uno::Reference< XAccessible > xAccessible;
-
- // Test for combo box - drop down floating windows first
- Window * pParentWindow = pWindow->GetParent();
-
- if ( pParentWindow )
- {
- try
- {
- // The parent window of a combo box floating window should have the role COMBO_BOX
- ::com::sun::star::uno::Reference< XAccessible > xParentAccessible(pParentWindow->GetAccessible());
- if ( xParentAccessible.is() )
- {
- ::com::sun::star::uno::Reference< XAccessibleContext > xParentAC(xParentAccessible->getAccessibleContext());
- if ( xParentAC.is() && (AccessibleRole::COMBO_BOX == xParentAC->getAccessibleRole()) )
- {
- // O.k. - this is a combo box floating window corresponding to the child of role LIST of the parent.
- // Let's not rely on a specific child order, just search for the child with the role LIST
- sal_Int32 nCount = xParentAC->getAccessibleChildCount();
- for ( sal_Int32 n = 0; (n < nCount) && !xAccessible.is(); n++)
- {
- ::com::sun::star::uno::Reference< XAccessible > xChild = xParentAC->getAccessibleChild(n);
- if ( xChild.is() )
- {
- ::com::sun::star::uno::Reference< XAccessibleContext > xChildAC = xChild->getAccessibleContext();
- if ( xChildAC.is() && (AccessibleRole::LIST == xChildAC->getAccessibleRole()) )
- {
- xAccessible = xChild;
- }
- }
- }
- }
- }
- }
- catch (const ::com::sun::star::uno::RuntimeException &)
- {
- // Ignore show events that throw DisposedExceptions in getAccessibleContext(),
- // but keep revoking these windows in hide(s).
- if (bShow)
- return;
- }
- }
-
- // We have to rely on the fact that Window::GetAccessible()->getAccessibleContext() returns a valid XAccessibleContext
- // also for other menus than menubar or toplevel popup window. Otherwise we had to traverse the hierarchy to find the
- // context object to this menu floater. This makes the call to Window->IsMenuFloatingWindow() obsolete.
- if ( ! xAccessible.is() )
- xAccessible = pWindow->GetAccessible();
-
- if ( xAccessible.is() && g_unoMapping.is() )
- {
- jobject * joXAccessible = reinterpret_cast < jobject * > (g_unoMapping.mapInterface(
- xAccessible.get(), g_pTypeDescription));
-
- if ( NULL != joXAccessible )
- {
- jvmaccess::VirtualMachine::AttachGuard aGuard(g_xUnoVirtualMachine->getVirtualMachine());
- JNIEnv * pJNIEnv = aGuard.getEnvironment();
-
- if ( NULL != pJNIEnv )
- {
- // g_jmRegisterTopWindow and g_jmRevokeTopWindow are ensured to be != 0 - otherwise
- // the event listener would not have been attached.
- pJNIEnv->CallStaticVoidMethod(g_jcWindowsAccessBridgeAdapter,
- (bShow) ? g_jmRegisterTopWindow : g_jmRevokeTopWindow,
- (jclass) GetHWND(pWindow), joXAccessible );
-
- // Clear any exception that might have been occurred.
- if (pJNIEnv->ExceptionCheck()) {
- pJNIEnv->ExceptionClear();
- }
- }
- }
- }
- }
-}
-
-long VCLEventListenerLinkFunc(void *, void * pData)
-{
- ::VclSimpleEvent const * pEvent = (::VclSimpleEvent const *) pData;
-
- switch (pEvent->GetId())
- {
- case VCLEVENT_WINDOW_SHOW:
- handleWindowEvent(((::VclWindowEvent const *) pEvent)->GetWindow(), true);
- break;
- case VCLEVENT_WINDOW_HIDE:
- handleWindowEvent(((::VclWindowEvent const *) pEvent)->GetWindow(), false);
- break;
- }
-
- return 0;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/config_host.mk.in b/config_host.mk.in
index e1f0226fd492..2263d400bfab 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -123,7 +123,6 @@ export ENABLE_GNOMEVFS=@ENABLE_GNOMEVFS@
export ENABLE_GRAPHITE=@ENABLE_GRAPHITE@
export ENABLE_ORCUS=@ENABLE_ORCUS@
export ENABLE_HARFBUZZ=@ENABLE_HARFBUZZ@
-export ENABLE_IA2=@ENABLE_IA2@
export ENABLE_GSTREAMER=@ENABLE_GSTREAMER@
export ENABLE_GSTREAMER_0_10=@ENABLE_GSTREAMER_0_10@
export ENABLE_GTK3=@ENABLE_GTK3@
diff --git a/configure.ac b/configure.ac
index c3ffe0560b31..a47217e7a358 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1312,11 +1312,6 @@ AC_ARG_ENABLE(library-bin-tar,
for the next time.]),
)
-AC_ARG_ENABLE(ia2,
- AS_HELP_STRING([--enable-ia2],
- [Enable the Windows IAccessibility2. Disables Java Accessibility Bridge.]),
-,)
-
dnl ===================================================================
dnl Optional Packages (--with/without-)
dnl ===================================================================
@@ -11560,21 +11555,6 @@ fi
AC_SUBST(ENABLE_ONLINE_UPDATE)
dnl ===================================================================
-dnl Test whether to enable ia2
-dnl ===================================================================
-AC_MSG_CHECKING([whether to enable IA2])
-ENABLE_IA2=
-if test "$enable_ia2" = "yes"; then
- if test "$_os" = "WINNT"; then
- AC_MSG_RESULT([yes])
- ENABLE_IA2="TRUE"
- else
- AC_MSG_RESULT([no])
- fi
-fi
-AC_SUBST(ENABLE_IA2)
-
-dnl ===================================================================
dnl Test whether to create MSI with LIMITUI=1 (silent install)
dnl ===================================================================
AC_MSG_CHECKING([whether to create MSI with LIMITUI=1 (silent install)])
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 79fdc5048b4e..79eabdb69ad6 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -1467,11 +1467,8 @@ int Desktop::Main()
SAL_INFO( "desktop.app", "{ GetEnableATToolSupport" );
if( Application::GetSettings().GetMiscSettings().GetEnableATToolSupport() )
{
- bool bQuitApp;
-
- if( !InitAccessBridge( true, bQuitApp ) )
- if( bQuitApp )
- return EXIT_FAILURE;
+ if( !InitAccessBridge() )
+ return EXIT_FAILURE;
}
SAL_INFO( "desktop.app", "} GetEnableATToolSupport" );
#endif
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index 385cedbca305..1620efa9f806 100755
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -538,7 +538,7 @@ VCL_DLLPUBLIC Application* GetpApp();
VCL_DLLPUBLIC bool InitVCL();
VCL_DLLPUBLIC void DeInitVCL();
-VCL_DLLPUBLIC bool InitAccessBridge( bool bAllowCancel, bool &rCancelled );
+VCL_DLLPUBLIC bool InitAccessBridge();
// only allowed to call, if no thread is running. You must call JoinMainLoopThread to free all memory.
VCL_DLLPUBLIC void CreateMainLoopThread( oslWorkerFunction pWorker, void * pThreadData );
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 41e8ea6d834d..ccee74136520 100755
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -26,9 +26,6 @@ $(eval $(call gb_UnoApi_use_api,offapi,\
))
-$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,com/sun/star/accessibility,\
- AccessBridge \
-))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,com/sun/star/animations,\
AnimateColor \
AnimateMotion \
diff --git a/offapi/com/sun/star/accessibility/AccessBridge.idl b/offapi/com/sun/star/accessibility/AccessBridge.idl
deleted file mode 100644
index f9205c03f55a..000000000000
--- a/offapi/com/sun/star/accessibility/AccessBridge.idl
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-#ifndef __com_sun_star_accessibility_AccessBridge_idl__
-#define __com_sun_star_accessibility_AccessBridge_idl__
-
-#include <com/sun/star/lang/XComponent.idl>
-#include <com/sun/star/awt/XExtendedToolkit.idl>
-
-
-module com { module sun { module star { module accessibility {
-
-/** The UNO <-> Java Access Bridge allows any native frame window
- to become accessible by implementing the XAccessible interface.
-
- <p>Therefor the UNO <-> Java Access Bridge utilizes the Java <-> Windows
- and Java <-> GNOME access bridge by registering the native frames as
- Java windows.</p>
-
- @since OOo 1.1.2
-*/
-
-service AccessBridge : com::sun::star::lang::XComponent
-{
- createWithToolkit([in] com::sun::star::awt::XExtendedToolkit toolkit);
-};
-
-}; }; }; };
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/padmin/source/pamain.cxx b/padmin/source/pamain.cxx
index bbccadf032c1..4d2cad2d1092 100644
--- a/padmin/source/pamain.cxx
+++ b/padmin/source/pamain.cxx
@@ -115,15 +115,13 @@ int MyApp::Main()
com::sun::star::ucb::UniversalContentBroker::create(xCtx);
/*
- * Initialize the Java UNO AccessBridge if accessibility is turned on
+ * Initialize the MSAA UNO AccessBridge if accessibility is turned on
*/
if( Application::GetSettings().GetMiscSettings().GetEnableATToolSupport() )
{
- bool bQuitApp;
- if( !InitAccessBridge( true, bQuitApp ) )
- if( bQuitApp )
- return EXIT_FAILURE;
+ if( !InitAccessBridge() )
+ return EXIT_FAILURE;
}
ResMgr::SetReadStringHook( MyApp::ReadStringHook );
diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index c044e14a7be4..c3a4d0f041fa 100755
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -136,12 +136,7 @@ $(eval $(call gb_Rdb_add_components,services,\
shell/source/win32/simplemail/smplmail \
shell/source/win32/syssh \
vcl/vcl.windows \
- $(if $(ENABLE_IA2), \
- winaccessibility/source/service/winaccessibility, \
- $(if $(ENABLE_JAVA), \
- accessibility/bridge/org/openoffice/accessibility/java_uno_accessbridge \
- ) \
- ) \
+ winaccessibility/source/service/winaccessibility \
) \
$(if $(ENABLE_HEADLESS), \
vcl/vcl.headless \
diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp
index 08ed086f2ccc..965c89fa9709 100644
--- a/scp2/source/ooo/file_ooo.scp
+++ b/scp2/source/ooo/file_ooo.scp
@@ -315,10 +315,6 @@ STD_JAR_FILE( gid_File_Jar_Xmerge, xmerge )
STD_JAR_FILE( gid_File_Jar_Xmergebridge, XMergeBridge )
#endif
-#if defined ENABLE_JAVA && defined WNT
-STD_JAR_FILE( gid_File_Jar_Accessbridge, java_uno_accessbridge )
-#endif
-
#ifdef ENABLE_JAVA
#ifndef SYSTEM_HSQLDB
STD_JAR_FILE( gid_File_Jar_Hsqldb, hsqldb )
diff --git a/vcl/inc/pch/precompiled_vcl.hxx b/vcl/inc/pch/precompiled_vcl.hxx
index f1eb6530a497..263a40a67032 100644
--- a/vcl/inc/pch/precompiled_vcl.hxx
+++ b/vcl/inc/pch/precompiled_vcl.hxx
@@ -18,7 +18,6 @@
#include "basegfx/polygon/b2dpolygon.hxx"
#include "basegfx/polygon/b2dpolygontools.hxx"
#include "basegfx/polygon/b2dpolypolygon.hxx"
-#include "com/sun/star/accessibility/AccessBridge.hpp"
#include "com/sun/star/accessibility/AccessibleRole.hpp"
#include "com/sun/star/accessibility/XAccessible.hpp"
#include "com/sun/star/awt/Size.hpp"
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index 8648eda56d3a..3f2ad238c84d 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -367,7 +367,7 @@ extern VCL_PLUGIN_PUBLIC ImplSVData* pImplSVData;
inline VCL_PLUGIN_PUBLIC ImplSVData* ImplGetSVData() { return pImplSVData; }
VCL_PLUGIN_PUBLIC void ImplHideSplash();
-bool ImplInitAccessBridge( bool bAllowCancel, bool &rCancelled );
+bool ImplInitAccessBridge();
FieldUnitStringList* ImplGetFieldUnits();
FieldUnitStringList* ImplGetCleanedFieldUnits();
diff --git a/vcl/inc/svids.hrc b/vcl/inc/svids.hrc
index e9ff357db7fe..eb16740cd38e 100644
--- a/vcl/inc/svids.hrc
+++ b/vcl/inc/svids.hrc
@@ -198,16 +198,6 @@
#define STR_FPICKER_SAVE 10317
#define STR_FPICKER_TYPE 10318
-#define SV_ACCESSERROR_WRONG_VERSION 10500
-#define SV_ACCESSERROR_BRIDGE_MSG 10501
-#define SV_ACCESSERROR_OK_CANCEL_MSG 10502
-#define SV_ACCESSERROR_MISSING_BRIDGE 10503
-#define SV_ACCESSERROR_FAULTY_JAVA 10504
-#define SV_ACCESSERROR_JAVA_MSG 10505
-#define SV_ACCESSERROR_MISSING_JAVA 10506
-#define SV_ACCESSERROR_JAVA_NOT_CONFIGURED 10507
-#define SV_ACCESSERROR_JAVA_DISABLED 10508
-#define SV_ACCESSERROR_TURNAROUND_MSG 10509
#define SV_ACCESSERROR_NO_FONTS 10510
#define SV_SHORTCUT_HELP 10600
diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx
index 4995e6d0570f..8f2d0c17f90f 100644
--- a/vcl/source/app/settings.cxx
+++ b/vcl/source/app/settings.cxx
@@ -1178,8 +1178,7 @@ void MiscSettings::SetEnableATToolSupport( sal_Bool bEnable )
{
if ( bEnable != mpData->mnEnableATT )
{
- bool bDummy;
- if( bEnable && !ImplInitAccessBridge(false, bDummy) )
+ if( bEnable && !ImplInitAccessBridge() )
return;
HKEY hkey;
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index 987db604dce2..4474e2066cc8 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -1614,17 +1614,15 @@ void Application::AddToRecentDocumentList(const OUString& rFileUrl, const OUStri
pSVData->mpDefInst->AddToRecentDocumentList(rFileUrl, rMimeType, rDocumentService);
}
-bool InitAccessBridge( bool bShowCancel, bool &rCancelled )
+bool InitAccessBridge()
{
-// Disable Java bridge on UNIX
+// Disable MSAA bridge on UNIX
#if defined UNX
- (void) bShowCancel; // unused
- (void) rCancelled; // unused
return true;
#else
- bool bRet = ImplInitAccessBridge( bShowCancel, rCancelled );
+ bool bRet = ImplInitAccessBridge();
- if( !bRet && bShowCancel && !rCancelled )
+ if( !bRet )
{
// disable accessibility if the user chooses to continue
AllSettings aSettings = Application::GetSettings();
diff --git a/vcl/source/app/svdata.cxx b/vcl/source/app/svdata.cxx
index aa58484fb872..500e18d90476 100644
--- a/vcl/source/app/svdata.cxx
+++ b/vcl/source/app/svdata.cxx
@@ -45,13 +45,7 @@
#include "salsys.hxx"
#include "svids.hrc"
-#include "com/sun/star/accessibility/AccessBridge.hpp"
#include "com/sun/star/accessibility/MSAAService.hpp"
-#include "com/sun/star/awt/XExtendedToolkit.hpp"
-#include "com/sun/star/java/JavaNotConfiguredException.hpp"
-#include "com/sun/star/java/JavaVMCreationFailureException.hpp"
-#include "com/sun/star/java/MissingJavaRuntimeException.hpp"
-#include "com/sun/star/java/JavaDisabledException.hpp"
#include "officecfg/Office/Common.hxx"
@@ -80,14 +74,6 @@ SalSystem* ImplGetSalSystem()
return pSVData->mpSalSystem;
}
-
-static OUString ReplaceJavaErrorMessages( const OUString& rString )
-{
- return rString.replaceAll("%OK", Button::GetStandardText(BUTTON_OK)).
- replaceAll("%IGNORE", Button::GetStandardText(BUTTON_IGNORE)).
- replaceAll("%CANCEL", Button::GetStandardText(BUTTON_CANCEL));
-}
-
// =======================================================================
void ImplInitSVData()
@@ -301,236 +287,37 @@ com::sun::star::uno::Any AccessBridgeCurrentContext::getValueByName( const OUStr
bool HasAtHook();
#endif
-bool ImplInitAccessBridge(bool bAllowCancel, bool &rCancelled)
+bool ImplInitAccessBridge()
{
- rCancelled = false;
-
- bool bErrorMessage = true;
-
- // Note:
- // if bAllowCancel is sal_True we were called from application startup
- // where we will disable any Java errorboxes and show our own accessibility dialog if Java throws an exception
- // if bAllowCancel is sal_False we were called from Tools->Options
- // where we will see Java errorboxes, se we do not show our dialogs in addition to Java's
-
- try
+ ImplSVData* pSVData = ImplGetSVData();
+ if( ! pSVData->mxAccessBridge.is() )
{
- // No error messages when env var is set ..
- static const char* pEnv = getenv("SAL_ACCESSIBILITY_ENABLED" );
- if( pEnv && *pEnv )
- {
- bErrorMessage = false;
- }
-
- ImplSVData* pSVData = ImplGetSVData();
- if( ! pSVData->mxAccessBridge.is() )
- {
- css::uno::Reference< XComponentContext > xContext(comphelper::getProcessComponentContext());
+ css::uno::Reference< XComponentContext > xContext(comphelper::getProcessComponentContext());
#ifdef _WIN32
- bool bTryIAcc2 = ( officecfg::Office::Common::Misc::ExperimentalMode::get( xContext ) &&
- !getenv ("SAL_DISABLE_IACCESSIBLE2") );
-
- if ( bTryIAcc2 ) // Windows only really
- {
- if (!HasAtHook() && !getenv("SAL_FORCE_IACCESSIBLE2"))
- {
- SAL_INFO("vcl", "Apparently no running AT -> "
- "not enabling IAccessible2 integration");
- }
- else
- {
- try {
- pSVData->mxAccessBridge
- = css::accessibility::MSAAService::create(xContext);
- SAL_INFO("vcl", "got IAccessible2 bridge");
- return true;
- } catch (css::uno::DeploymentException & e) {
- SAL_INFO(
- "vcl",
- "got no IAccessible2 bridge, \"" << e.Message
- << "\", falling back to java");
- }
- }
- }
- else
- SAL_INFO( "vcl", "IAccessible2 disabled, falling back to java" );
-#endif
-
- css::uno::Reference< XExtendedToolkit > xToolkit =
- css::uno::Reference< XExtendedToolkit >(Application::GetVCLToolkit(), UNO_QUERY);
-
- // Disable default java error messages on startup, because they were probably unreadable
- // for a disabled user. Use native message boxes which are accessible without java support.
- // No need to do this when activated by Tools-Options dialog ..
- if( bAllowCancel )
- {
- // customize the java-not-available-interaction-handler entry within the
- // current context when called at startup.
- com::sun::star::uno::ContextLayer layer(
- new AccessBridgeCurrentContext( com::sun::star::uno::getCurrentContext() ) );
-
- pSVData->mxAccessBridge
- = css::accessibility::AccessBridge::createWithToolkit(
- xContext, xToolkit);
- }
- else
- {
- pSVData->mxAccessBridge
- = css::accessibility::AccessBridge::createWithToolkit(
- xContext, xToolkit);
- }
- }
-
- return true;
- }
- catch (const ::com::sun::star::java::JavaNotConfiguredException&)
- {
- ResMgr *pResMgr = ImplGetResMgr();
- if( bErrorMessage && bAllowCancel && pResMgr )
+ if (!HasAtHook() && !getenv("SAL_DISABLE_IACCESSIBLE2"))
{
- OUString aTitle(ResId(SV_ACCESSERROR_JAVA_NOT_CONFIGURED, *pResMgr).toString());
- OUStringBuffer aMessage((ResId(SV_ACCESSERROR_JAVA_MSG, *pResMgr)).toString());
-
- aMessage.append(' ').append(ResId(SV_ACCESSERROR_OK_CANCEL_MSG, *pResMgr).toString());
-
- int ret = ImplGetSalSystem()->ShowNativeMessageBox(
- aTitle,
- ReplaceJavaErrorMessages(aMessage.makeStringAndClear()),
- SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_OK_CANCEL,
- SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL, true);
-
- // Do not change the setting in case the user chooses to cancel
- if( SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL == ret )
- rCancelled = true;
+ SAL_INFO("vcl", "Apparently no running AT -> "
+ "not enabling IAccessible2 integration");
}
-
- return false;
- }
- catch (const ::com::sun::star::java::JavaVMCreationFailureException&)
- {
- ResMgr *pResMgr = ImplGetResMgr();
- if( bErrorMessage && bAllowCancel && pResMgr )
+ else
{
- OUString aTitle(ResId(SV_ACCESSERROR_FAULTY_JAVA, *pResMgr).toString());
- OUStringBuffer aMessage(ResId(SV_ACCESSERROR_JAVA_MSG, *pResMgr).toString());
-
- aMessage.append(' ').append(ResId(SV_ACCESSERROR_OK_CANCEL_MSG, *pResMgr).toString());
-
- int ret = ImplGetSalSystem()->ShowNativeMessageBox(
- aTitle,
- ReplaceJavaErrorMessages(aMessage.makeStringAndClear()),
- SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_OK_CANCEL,
- SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL, true);
-
- // Do not change the setting in case the user chooses to cancel
- if( SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL == ret )
- rCancelled = true;
- }
-
- return false;
- }
- catch (const ::com::sun::star::java::MissingJavaRuntimeException&)
- {
- ResMgr *pResMgr = ImplGetResMgr();
- if( bErrorMessage && bAllowCancel && pResMgr )
- {
- OUString aTitle(ResId(SV_ACCESSERROR_MISSING_JAVA, *pResMgr).toString());
- OUStringBuffer aMessage(ResId(SV_ACCESSERROR_JAVA_MSG, *pResMgr).toString());
-
- aMessage.append(' ').append(ResId(SV_ACCESSERROR_OK_CANCEL_MSG, *pResMgr).toString());
-
- int ret = ImplGetSalSystem()->ShowNativeMessageBox(
- aTitle,
- ReplaceJavaErrorMessages(aMessage.makeStringAndClear()),
- SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_OK_CANCEL,
- SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL, true);
-
- // Do not change the setting in case the user chooses to cancel
- if( SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL == ret )
- rCancelled = true;
- }
-
- return false;
- }
- catch (const ::com::sun::star::java::JavaDisabledException&)
- {
- ResMgr *pResMgr = ImplGetResMgr();
- if( bErrorMessage && bAllowCancel && pResMgr )
- {
- OUString aTitle(ResId(SV_ACCESSERROR_JAVA_DISABLED, *pResMgr).toString());
- OUStringBuffer aMessage(ResId(SV_ACCESSERROR_JAVA_MSG, *pResMgr).toString());
-
- aMessage.append(' ').append(ResId(SV_ACCESSERROR_OK_CANCEL_MSG, *pResMgr).toString());
-
- int ret = ImplGetSalSystem()->ShowNativeMessageBox(
- aTitle,
- ReplaceJavaErrorMessages(aMessage.makeStringAndClear()),
- SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_OK_CANCEL,
- SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL, true);
-
- // Do not change the setting in case the user chooses to cancel
- if( SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL == ret )
- rCancelled = true;
+ try {
+ pSVData->mxAccessBridge
+ = css::accessibility::MSAAService::create(xContext);
+ SAL_INFO("vcl", "got IAccessible2 bridge");
+ return true;
+ } catch (css::uno::DeploymentException & e) {
+ SAL_WARN(
+ "vcl",
+ "got no IAccessible2 bridge" << e.Message);
+ return false;
+ }
}
-
- return false;
+#endif
}
- catch (const ::com::sun::star::uno::RuntimeException& e)
- {
- ResMgr *pResMgr = ImplGetResMgr();
- if( bErrorMessage && pResMgr )
- {
- OUString aTitle;
- OUStringBuffer aMessage(ResId(SV_ACCESSERROR_BRIDGE_MSG, *pResMgr).toString());
-
- if( e.Message.startsWith("ClassNotFound") )
- {
- aTitle = ResId(SV_ACCESSERROR_MISSING_BRIDGE, *pResMgr).toString();
- }
- else if( e.Message.startsWith("NoSuchMethod") )
- {
- aTitle = ResId(SV_ACCESSERROR_WRONG_VERSION, *pResMgr).toString();
- }
-
- if (!aTitle.isEmpty())
- {
- if( bAllowCancel )
- {
- // Something went wrong initializing the Java AccessBridge (on Windows) during the
- // startup. Since the office will be probably unusable for a disabled user, we offer
- // to terminate directly.
- aMessage.append(' ').append(ResId(SV_ACCESSERROR_OK_CANCEL_MSG, *pResMgr).toString());
-
- int ret = ImplGetSalSystem()->ShowNativeMessageBox(
- aTitle,
- ReplaceJavaErrorMessages(aMessage.makeStringAndClear()),
- SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_OK_CANCEL,
- SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL, true);
-
- // Do not change the setting in case the user chooses to cancel
- if( SALSYSTEM_SHOWNATIVEMSGBOX_BTN_CANCEL == ret )
- rCancelled = sal_True;
- }
- else
- {
- // The user tried to activate accessibility support using Tools-Options dialog,
- // so we don't offer to terminate here !
- ImplGetSalSystem()->ShowNativeMessageBox(
- aTitle,
- ReplaceJavaErrorMessages(aMessage.makeStringAndClear()),
- SALSYSTEM_SHOWNATIVEMSGBOX_BTNCOMBI_OK,
- SALSYSTEM_SHOWNATIVEMSGBOX_BTN_OK, true);
- }
- }
- }
- return false;
- }
- catch (...)
- {
- return false;
- }
+ return true;
}
// -----------------------------------------------------------------------
diff --git a/vcl/source/src/stdtext.src b/vcl/source/src/stdtext.src
index 9a169acafe06..1a33cfa6b9bb 100644
--- a/vcl/source/src/stdtext.src
+++ b/vcl/source/src/stdtext.src
@@ -34,56 +34,6 @@ String SV_STDTEXT_DONTWARNAGAIN
Text [ en-US ] = "Do not show warning again.";
};
-String SV_ACCESSERROR_WRONG_VERSION
-{
- Text [ en-US ] = "Wrong Version";
-};
-
-String SV_ACCESSERROR_BRIDGE_MSG
-{
- Text [ en-US ] = "%PRODUCTNAME %PRODUCTVERSION requires a Java Access Bridge 1.0.3 or later version to support accessibility.";
-};
-
-String SV_ACCESSERROR_OK_CANCEL_MSG
-{
- Text [ en-US ] = "Click '%OK' to start %PRODUCTNAME %PRODUCTVERSION without accessibility support, or click '%CANCEL' to exit %PRODUCTNAME %PRODUCTVERSION.";
-};
-
-String SV_ACCESSERROR_MISSING_BRIDGE
-{
- Text [ en-US ] = "No Java Access Bridge";
-};
-
-String SV_ACCESSERROR_FAULTY_JAVA
-{
- Text [ en-US ] = "Faulty Java Installation";
-};
-
-String SV_ACCESSERROR_JAVA_MSG
-{
- Text [ en-US ] = "%PRODUCTNAME %PRODUCTVERSION requires Java 1.4.0_02 or later version to support accessibility.";
-};
-
-String SV_ACCESSERROR_MISSING_JAVA
-{
- Text [ en-US ] = "No Java Installation";
-};
-
-String SV_ACCESSERROR_JAVA_NOT_CONFIGURED
-{
- Text [ en-US ] = "Missing Java Configuration";
-};
-
-String SV_ACCESSERROR_JAVA_DISABLED
-{
- Text [ en-US ] = "Java Disabled";
-};
-
-String SV_ACCESSERROR_TURNAROUND_MSG
-{
- Text [ en-US ] = "The Java Access Bridge could not be started.";
-};
-
String SV_ACCESSERROR_NO_FONTS
{
Text [ en-US ] = "No fonts could be found on the system.";
diff --git a/vcl/win/source/window/salframe.cxx b/vcl/win/source/window/salframe.cxx
index f7c30865002c..3602c83f0907 100644
--- a/vcl/win/source/window/salframe.cxx
+++ b/vcl/win/source/window/salframe.cxx
@@ -5503,9 +5503,7 @@ ImplHandleGetObject(HWND hWnd, LPARAM lParam, WPARAM wParam, LRESULT & nRet)
// to avoid RFT interrupts regular accessibility processing
if ( !pSVData->mxAccessBridge.is() )
{
- bool bCancelled = false;
- InitAccessBridge( false, bCancelled );
- if( bCancelled )
+ if( !InitAccessBridge() )
return false;
}
diff --git a/winaccessibility/Module_winaccessibility.mk b/winaccessibility/Module_winaccessibility.mk
index b4945cfa93fa..2421164b34bd 100644
--- a/winaccessibility/Module_winaccessibility.mk
+++ b/winaccessibility/Module_winaccessibility.mk
@@ -11,14 +11,12 @@ $(eval $(call gb_Module_Module,winaccessibility))
ifeq ($(OS),WNT)
ifeq ($(COM),MSC)
-ifneq ($(ENABLE_IA2),)
$(eval $(call gb_Module_add_targets,winaccessibility,\
WinResTarget_uacccom \
CustomTarget_ia2_idl \
Library_uacccom \
Library_winaccessibility \
))
-endif # ENABLE_IA2
endif # COM=MSC
endif # WNT