summaryrefslogtreecommitdiff
path: root/toolkit/test/accessibility/TopWindowListener.java
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2003-03-27 16:05:12 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2003-03-27 16:05:12 +0000
commitfd2cf3dc7cd9c73070fa4d70c8ca99c9fc1ce135 (patch)
tree9569a564e06fba817528ea414129b4074d83cb61 /toolkit/test/accessibility/TopWindowListener.java
parentff09f8d6ef2c613037f039dbcafcad6b76243a48 (diff)
MWS_SRX644: migrate branch mws_srx644 -> HEAD
Diffstat (limited to 'toolkit/test/accessibility/TopWindowListener.java')
-rw-r--r--toolkit/test/accessibility/TopWindowListener.java203
1 files changed, 0 insertions, 203 deletions
diff --git a/toolkit/test/accessibility/TopWindowListener.java b/toolkit/test/accessibility/TopWindowListener.java
deleted file mode 100644
index d9dfae58b874..000000000000
--- a/toolkit/test/accessibility/TopWindowListener.java
+++ /dev/null
@@ -1,203 +0,0 @@
-import com.sun.star.awt.XWindow;
-import drafts.com.sun.star.awt.XExtendedToolkit;
-import drafts.com.sun.star.accessibility.XAccessible;
-import drafts.com.sun.star.accessibility.XAccessibleContext;
-import com.sun.star.uno.XInterface;
-import com.sun.star.uno.UnoRuntime;
-import javax.swing.event.TreeModelEvent;
-
-/** Listen for top window events and create or delete children of the tree
- model accordingly.
-*/
-class TopWindowListener
-{
- TopWindowListener (AccessibilityTreeModel aModel, SimpleOffice aOffice)
- {
- maModel = aModel;
- maOffice = aOffice;
- }
-
-
-
-
- /** Use this function to initially fill the accessibility object tree
- view with nodes for top level windows.
- */
- public void Initialize ()
- {
- XExtendedToolkit xToolkit = maOffice.getExtendedToolkit();
- if (xToolkit != null)
- {
- maModel.lock ();
- int nTopWindowCount = xToolkit.getTopWindowCount();
- for (int i=0; i<nTopWindowCount; i++)
- {
- try
- {
- XAccessible xAccessible = maOffice.getAccessibleObject(
- xToolkit.getTopWindow (i));
- // Uncomment the following line to get the real root of
- // the accessible tree that xAccessible belongs to.
- // xAccessible = maOffice.getAccessibleRoot(xAccessible);
- AddTopLevelNode (xAccessible);
- }
- catch (Exception e)
- {
- System.out.println ("caught exception: " + e);
- e.printStackTrace();
- }
- }
- maModel.unlock ((AccessibleTreeNode)maModel.getRoot());
- }
- }
-
-
-
- /** Add a new top level node which, to be exact, will be placed on the
- second layer of the tree.
- @param xNewTopLevelObject
- The accessible object of the new top level window.
- */
- private void AddTopLevelNode (XAccessible xNewTopLevelObject)
- {
- if (xNewTopLevelObject != null)
- {
- XAccessibleContext xContext = xNewTopLevelObject.getAccessibleContext();
- if (xContext == null)
- System.out.println ("top level window not accessible");
- else
- {
- if ( ! FilterTopLevelNode (xContext))
- {
- Object aRootObject = maModel.getRoot();
- if (aRootObject instanceof VectorNode)
- {
- VectorNode aRoot = (VectorNode) aRootObject;
- AccessibleTreeNode aNode =
- NodeFactory.Instance().createDefaultNode (xNewTopLevelObject, aRoot);
- aRoot.addChild (aNode);
- maModel.fireTreeNodesInserted (maModel.createEvent (aRoot, aNode));
- }
- }
- }
- }
- }
-
- /** Ignore windows that have no accessible name, i.e. do not represent
- document windows.
- @return
- Returns <true/> when the given object should not be displayed,
- i.e. filtered out.
- */
- private boolean FilterTopLevelNode (XAccessibleContext xContext)
- {
- // No filtering at the moment.
- return false;
- // return xContext.getAccessibleName().length() == 0;
- }
-
-
-
-
- /** Remove an existing top level node from the tree.
- @param xNewTopLevelObject
- The accessible object to remove.
- */
- private void RemoveTopLevelNode (XAccessible xTopLevelObject)
- {
- Object aObject = maModel.getRoot();
- if (aObject instanceof VectorNode && xTopLevelObject != null)
- {
- System.out.println ("removing node " + xTopLevelObject);
- VectorNode aRoot = (VectorNode) aObject;
- maModel.removeNode (xTopLevelObject.getAccessibleContext());
- }
- }
-
-
-
-
-
- /** This method exists for debugging. It prints a list of all top
- level windows.
- */
- private void ShowAllTopLevelWindows ()
- {
- XExtendedToolkit xToolkit = maOffice.getExtendedToolkit();
- if (xToolkit != null)
- {
- int nTopWindowCount = xToolkit.getTopWindowCount();
- for (int i=0; i<nTopWindowCount; i++)
- {
- try
- {
- System.out.println (i + " : " + xToolkit.getTopWindow (i));
- }
- catch (Exception e)
- {
- System.out.println ("caught exception; " + e);
- }
- }
- }
- }
-
-
-
-
- // XTopWindowListener
- public void windowOpened (final com.sun.star.lang.EventObject aEvent)
- throws RuntimeException
- {
- if (maModel != null)
- {
- XWindow xWindow = (XWindow) UnoRuntime.queryInterface(
- XWindow.class, aEvent.Source);
- if (xWindow == null)
- System.out.println ("event source is no XWindow");
- else
- {
- XAccessible xAccessible = maOffice.getAccessibleObject(xWindow);
- if (xAccessible == null)
- System.out.println ("event source is no XAccessible");
- else
- AddTopLevelNode (xAccessible);
- }
- }
- }
-
-
-
-
- public void windowClosed (final com.sun.star.lang.EventObject aEvent)
- throws RuntimeException
- {
- if (maModel != null)
- {
- XWindow xWindow = (XWindow) UnoRuntime.queryInterface(
- XWindow.class, aEvent.Source);
- if (xWindow == null)
- System.out.println ("event source is no XWindow");
- else
- {
- XAccessible xAccessible = maOffice.getAccessibleObject(xWindow);
- if (xAccessible == null)
- System.out.println ("event source is no XAccessible");
- else
- RemoveTopLevelNode (xAccessible);
- }
- }
- }
-
- public void disposing (final com.sun.star.lang.EventObject aEvent)
- {
- System.out.println ("Top window disposed: " + aEvent);
- }
-
-
-
-
- private AccessibilityTreeModel
- maModel;
- private SimpleOffice
- maOffice;
-}