[Libreoffice-commits] .: odk/examples odk/pack

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sun Dec 16 12:24:42 PST 2012


 odk/examples/DevelopersGuide/Accessibility/ConnectionTask.java           |  203 ----
 odk/examples/DevelopersGuide/Accessibility/EventHandler.java             |  446 ----------
 odk/examples/DevelopersGuide/Accessibility/EventListenerProxy.java       |  232 -----
 odk/examples/DevelopersGuide/Accessibility/GraphicalDisplay.java         |  187 ----
 odk/examples/DevelopersGuide/Accessibility/IAccessibleObjectDisplay.java |   46 -
 odk/examples/DevelopersGuide/Accessibility/Makefile                      |  113 --
 odk/examples/DevelopersGuide/Accessibility/MessageArea.java              |  132 --
 odk/examples/DevelopersGuide/Accessibility/NameProvider.java             |  290 ------
 odk/examples/DevelopersGuide/Accessibility/RegistrationThread.java       |  147 ---
 odk/examples/DevelopersGuide/Accessibility/SSR.java                      |  171 ---
 odk/examples/DevelopersGuide/Accessibility/TextualDisplay.java           |  228 -----
 odk/examples/DevelopersGuide/Accessibility/makefile.mk                   |   64 -
 odk/examples/DevelopersGuide/examples.html                               |  140 ---
 odk/pack/copying/idl_chapter_refs.txt                                    |  215 ----
 14 files changed, 2614 deletions(-)

New commits:
commit 706910e577fca1976c394e9667a403fd16f52133
Author: Thorsten Behrens <tbehrens at suse.com>
Date:   Sun Dec 16 21:22:47 2012 +0100

    Remove unpublished Accessibility examples from ODK.
    
    Change-Id: Ied4259b1d08ae54fc0ba036239227ac897e11ebd

diff --git a/odk/examples/DevelopersGuide/Accessibility/ConnectionTask.java b/odk/examples/DevelopersGuide/Accessibility/ConnectionTask.java
deleted file mode 100644
index fdfd8a8..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/ConnectionTask.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  the BSD license.
- *
- *  Copyright 2000, 2010 Oracle and/or its affiliates.
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions
- *  are met:
- *  1. Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *  2. Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import java.util.*;
-
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.accessibility.*;
-import com.sun.star.awt.XExtendedToolkit;
-
-
-/** This timer task tries to connect to a running Office application in regular
-    intervals until a connection can be successfully established.
-*/
-class ConnectionTask
-    extends TimerTask
-{
-    public ConnectionTask (EventListenerProxy xListener)
-    {
-        Init (xListener);
-    }
-
-    private void Init (EventListenerProxy xListener)
-    {
-        mxListener = xListener;
-        mbInitialized = false;
-
-        maTimer = new java.util.Timer ();
-        maTimer.schedule (this, 0, mnPeriod);
-    }
-
-
-    /** This method is run every time the task is executed.  It tries to
-        connect to and register the listener at an Office application.  If it
-        can establish a connection it terminates the timer task.  Otherwise it
-        waits until the next activation.
-    */
-    public void run ()
-    {
-        if (registerListeners())
-        {
-            // Focus listener was successfully registered so we can cancel this task.
-            MessageArea.println ("\nconnected successfully to office");
-            cancel ();
-            maTimer = null;
-        }
-    }
-
-
-
-
-    /** Try to register the listener.
-    */
-    private boolean registerListeners ()
-    {
-        // Get toolkit.
-        XExtendedToolkit xToolkit = getToolkit ();
-
-        // Register at toolkit as focus event listener.
-        if (xToolkit != null)
-        {
-            xToolkit.addTopWindowListener (mxListener);
-            int nTopWindowCount = xToolkit.getTopWindowCount();
-            try
-            {
-                com.sun.star.lang.EventObject aEvent = new com.sun.star.lang.EventObject();
-                for (int i=0; i<nTopWindowCount; i++)
-                {
-                    XAccessible xAccessible = (XAccessible) UnoRuntime.queryInterface(
-                        XAccessible.class,
-                        xToolkit.getTopWindow(i));
-                    XAccessibleContext xContext = xAccessible.getAccessibleContext();
-                    if (xContext.getAccessibleName().length() > 0)
-                    {
-                        // Simulate an event that leads to registration the
-                        // listener at the window.
-                        aEvent.Source = xToolkit.getTopWindow(i);
-                        mxListener.windowOpened (aEvent);
-                    }
-                }
-            }
-
-            catch (com.sun.star.lang.IndexOutOfBoundsException aException)
-            {
-                // This exception signals that the number of top windows has
-                // changed since our last call to getTopWindowCount().
-            }
-            return true;
-        }
-        else
-            return false;
-    }
-
-
-
-
-    /** Get the toolkit from an Office which can then be used to register
-        the listener.
-    */
-    private XExtendedToolkit getToolkit ()
-    {
-        XMultiServiceFactory xFactory = connectToOffice();
-
-        // Get toolkit.
-        XExtendedToolkit xToolkit = null;
-        try
-        {
-            if (xFactory != null)
-            {
-                xToolkit = (XExtendedToolkit) UnoRuntime.queryInterface(
-                    XExtendedToolkit.class,
-                    xFactory.createInstance ("stardiv.Toolkit.VCLXToolkit"));
-            }
-        }
-        catch (com.sun.star.uno.Exception aException)
-        {
-            MessageArea.println ("caught exception while creating extended toolkit");
-            // Ignored.
-        }
-
-        return xToolkit;
-    }
-
-
-
-
-    /** Connect to a running (Star|Open)Office application
-    */
-    private XMultiServiceFactory connectToOffice ()
-    {
-        // connect to a running office and get the ServiceManager
-        try
-        {
-            com.sun.star.uno.XComponentContext xCmpContext = null;
-
-            // get the remote office component context
-            xCmpContext = com.sun.star.comp.helper.Bootstrap.bootstrap();
-            if( xCmpContext != null )
-                System.out.println("Connected to a running office ...");
-
-            // get the remote office service manager
-            com.sun.star.lang.XMultiComponentFactory xMCF =
-                xCmpContext.getServiceManager();
-
-            return (XMultiServiceFactory) UnoRuntime.queryInterface (
-                XMultiServiceFactory.class, xMCF);
-        }
-
-        catch (Exception e)
-        {
-            if ( ! mbInitialized)
-                MessageArea.println ("Could not connect to office");
-            else
-                MessageArea.print (".");
-        }
-        mbInitialized = true;
-        return null;
-    }
-
-    /** Time in milliseconds between two attempts to connect to an Office
-         application.
-    */
-    private int mnPeriod = 1000;
-
-    private EventListenerProxy mxListener;
-    private boolean mbInitialized;
-
-    /** This timer is used for the registration loop to retry to connect to
-        the Office until a connection can be established.
-    */
-    private java.util.Timer maTimer;
-}
diff --git a/odk/examples/DevelopersGuide/Accessibility/EventHandler.java b/odk/examples/DevelopersGuide/Accessibility/EventHandler.java
deleted file mode 100644
index 852a9e8..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/EventHandler.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  the BSD license.
- *
- *  Copyright 2000, 2010 Oracle and/or its affiliates.
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions
- *  are met:
- *  1. Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *  2. Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import java.util.Vector;
-
-import com.sun.star.uno.AnyConverter;
-import com.sun.star.uno.Type;
-import com.sun.star.accessibility.*;
-
-/** Handle all the events send from accessibility objects.  The events
-    denoting new or removed top windows are handled as well.
-
-    It does not implement any listener interface as does the
-    EventListenerProxy class because it is interested only in a sub set of
-    the event types.
-*/
-public class EventHandler
-{
-    public EventHandler ()
-    {
-        mnTopWindowCount = 0;
-        maListenerProxy = new EventListenerProxy (this);
-        maConnectionTask = new ConnectionTask (maListenerProxy);
-        maObjectDisplays = new Vector<IAccessibleObjectDisplay> ();
-    }
-
-    public synchronized void addObjectDisplay (IAccessibleObjectDisplay aDisplay)
-    {
-        maObjectDisplays.add (aDisplay);
-    }
-
-
-    public void finalize ()
-    {
-        // When it is running then cancel the timer that tries to connect to
-        // the Office.
-        if (maConnectionTask != null)
-            maConnectionTask.cancel();
-    }
-
-
-
-    public void disposing (com.sun.star.lang.EventObject aEvent)
-    {
-        // Ignored: We are not holding references to accessibility objects.
-    }
-
-
-
-
-    /**  This method is called back when a new top level window has been opened.
-    */
-    public void windowOpened (XAccessible xAccessible)
-    {
-        if (xAccessible != null)
-        {
-            // Update the counter of currently open top level windows
-            // observed by this object.
-            mnTopWindowCount += 1;
-
-            XAccessibleContext xContext = xAccessible.getAccessibleContext();
-            if (xContext != null)
-            {
-                MessageArea.println ("new top level window has accessible name "
-                    + xContext.getAccessibleName());
-
-                // Register at all accessible objects of the new window.
-                new RegistrationThread (
-                    maListenerProxy,
-                    xContext,
-                    true,
-                    true);
-            }
-            else
-                MessageArea.println ("new top level window is not accessible.");
-        }
-        else
-            MessageArea.println ("new top level window is not accessible.");
-    }
-
-
-
-
-    public void windowClosed (XAccessible xAccessible)
-    {
-        mnTopWindowCount -= 1;
-        MessageArea.println ("window closed, " + mnTopWindowCount + " still open");
-        if (mnTopWindowCount == 0)
-        {
-            // This was the last window.  Wait for a new connection.
-            MessageArea.println ("lost connection to office");
-            new ConnectionTask (maListenerProxy);
-        }
-        if (xAccessible != null)
-            new RegistrationThread (
-                maListenerProxy,
-                xAccessible.getAccessibleContext(),
-                false,
-                true);
-    }
-
-
-
-
-    /** Print a message that the given object just received the focus.  Call
-        all accessible object diplays and tell them to update.
-    */
-    private synchronized void focusGained (XAccessibleContext xContext)
-    {
-        if (xContext != null)
-        {
-            MessageArea.println ("focusGained: " + xContext.getAccessibleName()
-                + " with role "
-                + NameProvider.getRoleName (xContext.getAccessibleRole()));
-
-            // Tell the object displays to update their views.
-            for (int i=0; i<maObjectDisplays.size(); i++)
-            {
-                IAccessibleObjectDisplay aDisplay =
-                    maObjectDisplays.get(i);
-                if (aDisplay != null)
-                    aDisplay.setAccessibleObject (xContext);
-            }
-
-            // Remember the currently focused object.
-            mxFocusedObject = xContext;
-        }
-        else
-            MessageArea.println ("focusGained: null");
-    }
-
-
-
-
-    /** Print a message that the given object just lost the focus.  Call
-        all accessible object diplays and tell them to update.
-    */
-    private synchronized void focusLost (XAccessibleContext xContext)
-    {
-        if (xContext != null)
-        {
-            MessageArea.println ("focusLost: "
-                + xContext.getAccessibleName()
-                + " with role "
-                + NameProvider.getRoleName (xContext.getAccessibleRole()));
-
-            // Tell the object displays to update their views.
-            for (int i=0; i<maObjectDisplays.size(); i++)
-            {
-                IAccessibleObjectDisplay aDisplay =
-                    maObjectDisplays.get(i);
-                if (aDisplay != null)
-                    aDisplay.setAccessibleObject (null);
-            }
-            mxFocusedObject = null;
-        }
-        else
-            MessageArea.println ("focusLost: null");
-    }
-
-
-
-
-    /** Handle a change of the caret position.  Ignore this on all objects
-        but the one currently focused.
-    */
-    private void handleCaretEvent (XAccessibleContext xContext,
-        long nOldPosition, long nNewPosition)
-    {
-        if (xContext == mxFocusedObject)
-            MessageArea.println ("caret moved from " + nOldPosition + " to " + nNewPosition);
-    }
-
-
-
-
-    /** Print a message that a state has been changed.
-        @param xContext
-            The accessible context of the object whose state has changed.
-        @param nOldState
-            When not zero then this value describes a state that has been reset.
-        @param nNewValue
-            When not zero then this value describes a state that has been set.
-    */
-    private void handleStateChange (XAccessibleContext xContext, short nOldState, short nNewState)
-    {
-        // Determine which state has changed and what is its new value.
-        short nState;
-        boolean aNewValue;
-        if (nOldState >= 0)
-        {
-            nState = nOldState;
-            aNewValue = false;
-        }
-        else
-        {
-            nState = nNewState;
-            aNewValue = true;
-        }
-
-        // Print a message about the changed state.
-        MessageArea.print ("setting state " + NameProvider.getStateName(nState)
-            + " to " + aNewValue);
-        if (xContext != null)
-        {
-            MessageArea.println (" at " + xContext.getAccessibleName() + " with role "
-                + NameProvider.getRoleName(xContext.getAccessibleRole()));
-        }
-        else
-            MessageArea.println (" at null");
-
-        // Further handling of some states
-        switch (nState)
-        {
-            case AccessibleStateType.FOCUSED:
-                if (aNewValue)
-                    focusGained (xContext);
-                else
-                    focusLost (xContext);
-        }
-    }
-
-
-
-
-    /** Handle a child event that describes the creation of removal of a
-        single child.
-    */
-    private void handleChildEvent (
-        XAccessibleContext aOldChild,
-        XAccessibleContext aNewChild)
-    {
-        if (aOldChild != null)
-            // Remove event listener from the child and all of its descendants.
-            new RegistrationThread (maListenerProxy, aOldChild, false, false);
-        else if (aNewChild != null)
-            // Add event listener to the new child and all of its descendants.
-            new RegistrationThread (maListenerProxy, aNewChild, true, false);
-    }
-
-
-
-
-    /** Handle the change of some visible data of an object.
-    */
-    private void handleVisibleDataEvent (XAccessibleContext xContext)
-    {
-        // The given object may affect the visible appearance of the focused
-        // object even when the two are not identical when the given object
-        // is an ancestor of the focused object.
-        // In order to not check this we simply call an update on the
-        // focused object.
-        if (mxFocusedObject != null)
-            for (int i=0; i<maObjectDisplays.size(); i++)
-            {
-                IAccessibleObjectDisplay aDisplay =
-                    maObjectDisplays.get(i);
-                if (aDisplay != null)
-                    aDisplay.updateAccessibleObject (mxFocusedObject);
-            }
-    }
-
-
-
-
-    /** Print some information about an event that is not handled by any
-        more specialized handler.
-    */
-    private void handleGenericEvent (
-        int nEventId,
-        Object aSource,
-        Object aOldValue,
-        Object aNewValue)
-    {
-        // Print event to message area.
-        MessageArea.print ("received event "
-            + NameProvider.getEventName (nEventId) + " from ");
-        XAccessibleContext xContext = objectToContext (aSource);
-        if (xContext != null)
-            MessageArea.print (xContext.getAccessibleName());
-        else
-            MessageArea.print ("null");
-        MessageArea.println (" / "
-            + NameProvider.getRoleName(xContext.getAccessibleRole()));
-    }
-
-
-
-    /** This is the main method for handling accessibility events.  It is
-        assumed that it is not called directly from the Office but from a
-        listener proxy that runs in a separate thread so that calls back to
-        the Office do not result in dead-locks.
-    */
-    public void notifyEvent (com.sun.star.accessibility.AccessibleEventObject aEvent)
-    {
-        try // Guard against disposed objects.
-        {
-            switch (aEvent.EventId)
-            {
-                case AccessibleEventId.CHILD:
-                    handleChildEvent (
-                        objectToContext (aEvent.OldValue),
-                        objectToContext (aEvent.NewValue));
-                    break;
-
-                case AccessibleEventId.STATE_CHANGED:
-                {
-                    short nOldState = -1;
-                    short nNewState = -1;
-                    try
-                    {
-                        if (AnyConverter.isShort (aEvent.NewValue))
-                            nNewState = AnyConverter.toShort (aEvent.NewValue);
-                        if (AnyConverter.isShort (aEvent.OldValue))
-                            nOldState = AnyConverter.toShort (aEvent.OldValue);
-                    }
-                    catch (com.sun.star.lang.IllegalArgumentException e)
-                    {}
-                    handleStateChange (
-                        objectToContext (aEvent.Source),
-                        nOldState,
-                        nNewState);
-                }
-                break;
-
-                case AccessibleEventId.VISIBLE_DATA_CHANGED:
-                case AccessibleEventId.BOUNDRECT_CHANGED:
-                    handleVisibleDataEvent (objectToContext (aEvent.Source));
-                    break;
-
-                case AccessibleEventId.CARET_CHANGED:
-                    try
-                    {
-                        handleCaretEvent (
-                            objectToContext (aEvent.Source),
-                            AnyConverter.toLong(aEvent.OldValue),
-                            AnyConverter.toLong(aEvent.NewValue));
-                    }
-                    catch (com.sun.star.lang.IllegalArgumentException e)
-                    {}
-                    break;
-
-                default:
-                    handleGenericEvent (aEvent.EventId,
-                        aEvent.Source, aEvent.OldValue, aEvent.NewValue);
-                    break;
-            }
-        }
-        catch (com.sun.star.lang.DisposedException e)
-        {}
-    }
-
-
-
-
-    /** Convert the given object into an accessible context.  The object is
-        interpreted as UNO Any and may contain either an XAccessible or
-        XAccessibleContext reference.
-        @return
-            The returned value is null when the given object can not be
-            converted to an XAccessibleContext reference.
-    */
-    private XAccessibleContext objectToContext (Object aObject)
-    {
-        XAccessibleContext xContext = null;
-        XAccessible xAccessible = null;
-        try
-        {
-            xAccessible = (XAccessible)AnyConverter.toObject(
-                new Type(XAccessible.class), aObject);
-        }
-        catch (com.sun.star.lang.IllegalArgumentException e)
-        {}
-        if (xAccessible != null)
-            xContext = xAccessible.getAccessibleContext();
-        else
-            try
-            {
-                xContext = (XAccessibleContext)AnyConverter.toObject(
-                    new Type(XAccessibleContext.class), aObject);
-            }
-            catch (com.sun.star.lang.IllegalArgumentException e)
-            {}
-        return xContext;
-    }
-
-
-
-
-    /** The proxy that runs in a seperate thread and allows to call back to
-        the Office without running into dead-locks.
-    */
-    private EventListenerProxy maListenerProxy;
-
-    /** The currently focused object.  A value of null means that no object
-        has the focus.
-    */
-    private XAccessibleContext mxFocusedObject;
-
-    /** Keep track of the currently open top windows to start a registration
-        loop when the last window (and the Office) is closed.
-    */
-    private long mnTopWindowCount;
-
-    /** A list of objects that can display accessible objects in specific
-        ways such as showing a graphical representation or some textual
-        descriptions.
-    */
-    private Vector<IAccessibleObjectDisplay> maObjectDisplays;
-
-    /** The timer task that attempts in regular intervals to connect to a
-        running Office application.
-    */
-    private ConnectionTask maConnectionTask;
-}
diff --git a/odk/examples/DevelopersGuide/Accessibility/EventListenerProxy.java b/odk/examples/DevelopersGuide/Accessibility/EventListenerProxy.java
deleted file mode 100644
index 77d85b9..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/EventListenerProxy.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  the BSD license.
- *
- *  Copyright 2000, 2010 Oracle and/or its affiliates.
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions
- *  are met:
- *  1. Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *  2. Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import com.sun.star.accessibility.XAccessible;
-import com.sun.star.accessibility.XAccessibleEventListener;
-import com.sun.star.accessibility.AccessibleEventObject;
-import com.sun.star.lang.EventObject;
-import com.sun.star.awt.XTopWindowListener;
-import com.sun.star.uno.UnoRuntime;
-
-import java.util.LinkedList;
-
-/** This class acts as a proxy for the simple screen reader.  It waits for
-    two types of events:
-    1. Accessibility events signal modifications concerning accessibility
-       objects.
-    2. Top window events inform the listener about new or removed windows.
-
-    This class exists because events had to be handled in a seperate thread
-    to avoid dead locks: The thread that receives an event must no call back
-    to the Office directly.
-
-    Soon this should not be necessary anymore.  There is now a flag which
-    switches between synchronous and asynchronous callbacks.
-
-    All reveived events are eventually forwarded to the actual listener.  In
-    this way it decouples the Office from the listener.
-*/
-class EventListenerProxy
-    implements Runnable, XAccessibleEventListener, XTopWindowListener
-{
-    public EventListenerProxy (EventHandler aListener)
-    {
-        maListener = aListener;
-        mbAsynchron = true;
-        if (mbAsynchron)
-        {
-            maEventQueue = new LinkedList<Runnable>();
-            new Thread (this, "EventListenerProxy").start();
-        }
-    }
-
-    private void addEvent (Runnable aEventObject)
-    {
-        if (mbAsynchron)
-            synchronized (maEventQueue)
-            {
-                maEventQueue.addLast (aEventObject);
-                // Tell the queue that there is a new event in the queue.
-                maEventQueue.notify();
-            }
-        else
-        {
-            System.out.println ("running " + aEventObject);
-            aEventObject.run();
-            System.out.println ("  done");
-        }
-    }
-
-
-
-
-    /** In an infinite loop, check for events to deliver, then wait on lock
-        (which will be notified when new events arrive)
-    */
-    public void run ()
-    {
-        while (true)
-        {
-            // Process all events that are currently in the queue.
-            Runnable aEvent;
-            do
-            {
-                synchronized (maEventQueue)
-                {
-                    if (maEventQueue.size() > 0)
-                        aEvent = maEventQueue.removeFirst();
-                    else
-                        aEvent = null;
-                }
-
-                if (aEvent != null)
-                {
-                    try
-                    {
-                        aEvent.run();
-                    }
-                    catch (Throwable aException)
-                    {
-                        MessageArea.println(
-                            "Exception during event delivery: " + aException);
-                        aException.printStackTrace();
-                    }
-                }
-            }
-            while (aEvent != null);
-
-            // Now that the queue is empty go to sleep again.
-            try
-            {
-                synchronized (maEventQueue)
-                {
-                    maEventQueue.wait();
-                }
-            }
-            catch (Exception aException)
-            {
-                // Ignore this exception since there is not much
-                // that we can do about it.
-            }
-        }
-    }
-
-
-    public void disposing( final EventObject aEvent)
-    {
-        addEvent (new Runnable()
-            {
-                public void run()
-                {
-                    maListener.disposing (aEvent);
-                }
-            } );
-    }
-
-    public void notifyEvent (final AccessibleEventObject aEvent)
-    {
-        addEvent (
-            new Runnable()
-            {
-                public void run()
-                {
-                    maListener.notifyEvent (aEvent);
-                }
-            } );
-    }
-
-    public void windowOpened (final com.sun.star.lang.EventObject aEvent)
-    {
-        addEvent (
-            new Runnable()
-            {
-                public void run()
-                {
-                    maListener.windowOpened (
-                        UnoRuntime.queryInterface(
-                            XAccessible.class,
-                            aEvent.Source));
-                }
-            } );
-    }
-    public void windowClosing (final com.sun.star.lang.EventObject aEvent)
-    {
-        // Ignored.
-    }
-    public void windowClosed (final com.sun.star.lang.EventObject aEvent)
-    {
-        addEvent (
-            new Runnable()
-            {
-                public void run()
-                {
-                    maListener.windowClosed (
-                        UnoRuntime.queryInterface(
-                            XAccessible.class,
-                            aEvent.Source));
-                }
-                } );
-    }
-    public void windowMinimized (com.sun.star.lang.EventObject aEvent)
-    {
-        // Ignored.
-    }
-    public void windowNormalized (com.sun.star.lang.EventObject aEvent)
-    {
-        // Ignored.
-    }
-    public void windowActivated (com.sun.star.lang.EventObject aEvent)
-    {
-        // Ignored.
-    }
-    public void windowDeactivated (com.sun.star.lang.EventObject aEvent)
-    {
-        // Ignored.
-    }
-
-    /** The queue of event objects, LinkedList<Runnable>.
-        The queue object will also serve as lock for the consumer/producer type
-        syncronization.
-    */
-    private LinkedList<Runnable> maEventQueue;
-
-    /** This is the actual listener that the events will eventually forwarded to.
-    */
-    private EventHandler maListener;
-
-    /** This flag determines whether event forwarding is done asynchroniously
-        or synchroniously.
-    */
-    private boolean mbAsynchron;
-}
diff --git a/odk/examples/DevelopersGuide/Accessibility/GraphicalDisplay.java b/odk/examples/DevelopersGuide/Accessibility/GraphicalDisplay.java
deleted file mode 100644
index 86e2d48..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/GraphicalDisplay.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  the BSD license.
- *
- *  Copyright 2000, 2010 Oracle and/or its affiliates.
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions
- *  are met:
- *  1. Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *  2. Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import javax.swing.*;
-import java.awt.Dimension;
-import java.awt.*;
-import com.sun.star.accessibility.XAccessible;
-import com.sun.star.accessibility.XAccessibleContext;
-import com.sun.star.accessibility.XAccessibleComponent;
-
-import com.sun.star.awt.Point;
-import com.sun.star.awt.Size;
-import com.sun.star.uno.UnoRuntime;
-
-
-/** Display the currently focused accessible object graphically.
-*/
-public class GraphicalDisplay
-    extends JPanel
-    implements IAccessibleObjectDisplay
-{
-    /** Create a new graphical widget the displays some of the geometrical
-        information availbable from accessible objects.
-    */
-    public GraphicalDisplay ()
-    {
-        setPreferredSize (new Dimension (300,200));
-    }
-
-
-    /** Paint some or all of the area of this widget with the outlines of
-        the currently focues object and its ancestors.
-     */
-    public synchronized void paintComponent (Graphics g)
-    {
-        super.paintComponent (g);
-
-        setupTransformation ();
-
-        // Draw the screen representation to give a hint of the location of the
-        // accessible object on the screen.
-        Dimension aScreenSize = Toolkit.getDefaultToolkit().getScreenSize();
-        // Fill the screen rectangle.
-        g.setColor (new Color (250,240,230));
-        g.fillRect (
-            (int)(mnHOffset+0.5),
-            (int)(mnVOffset+0.5),
-            (int)(mnScale*aScreenSize.getWidth()),
-            (int)(mnScale*aScreenSize.getHeight()));
-        // Draw a frame arround the screen rectangle to increase its visibility.
-        g.setColor (Color.BLACK);
-        g.drawRect (
-            (int)(mnHOffset+0.5),
-            (int)(mnVOffset+0.5),
-            (int)(mnScale*aScreenSize.getWidth()),
-            (int)(mnScale*aScreenSize.getHeight()));
-
-        // Now do the actual display of the accessible object.
-        drawAccessibleObject (g, mxContext, Color.GREEN);
-    }
-    public synchronized void paintChildren (Graphics g)
-    {
-    }
-    public synchronized void paintBorder (Graphics g)
-    {
-    }
-
-
-
-
-    /** Draw a simple representation of the given accessible object in the
-        specified color.
-    */
-    public void drawAccessibleObject (Graphics g, XAccessibleContext xContext, Color aColor)
-    {
-        if (xContext != null)
-        {
-            // First draw our parent.
-            XAccessible xParent = xContext.getAccessibleParent();
-            if (xParent != null)
-                drawAccessibleObject (g, xParent.getAccessibleContext(), Color.GRAY);
-
-            // When the context supports the XAccessibleComponent interface
-            // then draw its outline.
-            XAccessibleComponent xComponent =
-                (XAccessibleComponent)UnoRuntime.queryInterface(
-                    XAccessibleComponent.class, xContext);
-            if (xComponent != null)
-            {
-                // Get size and location on screen and transform them to fit
-                // everything inside this widget.
-                Point aLocation = xComponent.getLocationOnScreen();
-                Size aSize = xComponent.getSize();
-                g.setColor (aColor);
-                g.drawRect (
-                    (int)(mnHOffset + mnScale*aLocation.X+0.5),
-                    (int)(mnVOffset + mnScale*aLocation.Y+0.5),
-                    (int)(mnScale*aSize.Width),
-                    (int)(mnScale*aSize.Height));
-            }
-        }
-    }
-
-
-    public synchronized void setAccessibleObject (XAccessibleContext xContext)
-    {
-        mxContext = xContext;
-        repaint ();
-    }
-
-    public synchronized void updateAccessibleObject (XAccessibleContext xContext)
-    {
-        repaint ();
-    }
-
-
-    /** Set up the transformation so that the graphical display can show a
-        centered representation of the whole screen.
-    */
-    private void setupTransformation ()
-    {
-        Dimension aScreenSize = Toolkit.getDefaultToolkit().getScreenSize();
-        Dimension aWidgetSize = getSize();
-        if ((aScreenSize.getWidth() > 0) && (aScreenSize.getHeight() > 0))
-        {
-            // Calculate the scales that would map the screen onto the
-            // widget in both of the coordinate axes and select the smaller
-            // of the two: it maps the screen onto the widget in both axes
-            // at the same time.
-            double nHScale = (aWidgetSize.getWidth() - 10) / aScreenSize.getWidth();
-            double nVScale = (aWidgetSize.getHeight() - 10) / aScreenSize.getHeight();
-            if (nHScale < nVScale)
-                mnScale = nHScale;
-            else
-                mnScale = nVScale;
-
-            // Calculate offsets that center the scaled screen inside the widget.
-            mnHOffset = (aWidgetSize.getWidth() - mnScale*aScreenSize.getWidth()) / 2.0;
-            mnVOffset = (aWidgetSize.getHeight() - mnScale*aScreenSize.getHeight()) / 2.0;
-        }
-        else
-        {
-            // In case of a degenerate (not yet initialized?) screen size
-            // use some meaningless default values.
-            mnScale = 1;
-            mnHOffset = 0;
-            mnVOffset = 0;
-        }
-    }
-
-
-    private XAccessibleContext mxContext;
-    private double mnScale;
-    private double mnHOffset;
-    private double mnVOffset;
-}
diff --git a/odk/examples/DevelopersGuide/Accessibility/IAccessibleObjectDisplay.java b/odk/examples/DevelopersGuide/Accessibility/IAccessibleObjectDisplay.java
deleted file mode 100644
index 5e8eb3a..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/IAccessibleObjectDisplay.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  the BSD license.
- *
- *  Copyright 2000, 2010 Oracle and/or its affiliates.
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions
- *  are met:
- *  1. Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *  2. Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import com.sun.star.accessibility.XAccessibleContext;
-
-interface IAccessibleObjectDisplay
-{
-
-    /** Set the accessible object to display.  Call this method e.g. when a
-        new object has been focused.
-    */
-    public void setAccessibleObject (XAccessibleContext xContext);
-
-    public void updateAccessibleObject (XAccessibleContext xContext);
-}
diff --git a/odk/examples/DevelopersGuide/Accessibility/Makefile b/odk/examples/DevelopersGuide/Accessibility/Makefile
deleted file mode 100644
index 6eda823..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/Makefile
+++ /dev/null
@@ -1,113 +0,0 @@
-#*************************************************************************
-#
-#  The Contents of this file are made available subject to the terms of
-#  the BSD license.
-#  
-#  Copyright 2000, 2010 Oracle and/or its affiliates.
-#  All rights reserved.
-#
-#  Redistribution and use in source and binary forms, with or without
-#  modification, are permitted provided that the following conditions
-#  are met:
-#  1. Redistributions of source code must retain the above copyright
-#     notice, this list of conditions and the following disclaimer.
-#  2. Redistributions in binary form must reproduce the above copyright
-#     notice, this list of conditions and the following disclaimer in the
-#     documentation and/or other materials provided with the distribution.
-#  3. Neither the name of Sun Microsystems, Inc. nor the names of its
-#     contributors may be used to endorse or promote products derived
-#     from this software without specific prior written permission.
-#
-#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-#  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-#  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-#  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-#  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-#  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-#  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-#  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-#  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-#  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-#  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#     
-#**************************************************************************
-
-# Build the simple screen reader (SSR) described in the Developers 
-# Guide Accessibility chapter.
-
-PRJ=../../..
-SETTINGS=$(PRJ)/settings
-
-include $(SETTINGS)/settings.mk
-include $(SETTINGS)/std.mk
-include $(SETTINGS)/dk.mk
-
-# Define non-platform/compiler specific settings
-EXAMPLE_NAME=DevGuideAccessibilityExample
-OUT_APP_CLASS = $(OUT_CLASS)/$(EXAMPLE_NAME)
-
-APP1_NAME =SSR
-APP1_JAR =$(OUT_APP_CLASS)/$(APP1_NAME).jar
-
-JAVAFILES = \
-		MessageArea.java \
-		ConnectionTask.java	\
-		EventHandler.java \
-		EventListenerProxy.java	\
-		GraphicalDisplay.java \
-		NameProvider.java \
-		IAccessibleObjectDisplay.java \
-		RegistrationThread.java \
-		SSR.java \
-		TextualDisplay.java
-
-APP1_CLASSFILES = $(patsubst %.java,$(OUT_APP_CLASS)/%.class,$(JAVAFILES))
-APP1_CLASSNAMES = $(patsubst %.java,%.class,$(JAVAFILES)) \
-	 EventListenerProxy$(ICL)1.class \
-	 EventListenerProxy$(ICL)2.class \
-	 EventListenerProxy$(ICL)3.class \
-	 EventListenerProxy$(ICL)4.class
-
-SDK_CLASSPATH = $(subst $(EMPTYSTRING) $(PATH_SEPARATOR),$(PATH_SEPARATOR),$(CLASSPATH)\
-		$(PATH_SEPARATOR)$(OUT_APP_CLASS))
-
-
-# Targets
-.PHONY: ALL
-ALL : $(EXAMPLE_NAME)
-
-include $(SETTINGS)/stdtarget.mk
-
-$(OUT_APP_CLASS)/%.class : %.java
-	-$(MKDIR) $(subst /,$(PS),$(@D))
-	$(SDK_JAVAC) $(JAVAC_FLAGS) -classpath "$(SDK_CLASSPATH)" -d $(OUT_APP_CLASS) $(JAVAFILES)
-
-$(OUT_APP_CLASS)/%.mf :
-	-$(MKDIR) $(subst /,$(PS),$(@D))
-	@echo Main-Class: com.sun.star.lib.loader.Loader> $@
-	$(ECHOLINE)>> $@
-	@echo Name: com/sun/star/lib/loader/Loader.class>> $@
-	@echo Application-Class: $*>> $@
-
-$(APP1_JAR) : $(OUT_APP_CLASS)/$(APP1_NAME).mf $(APP1_CLASSFILES)
-	-$(DEL) $(subst \\,\,$(subst /,$(PS),$@))
-	-$(MKDIR) $(subst /,$(PS),$(@D))
-	+cd $(subst /,$(PS),$(OUT_APP_CLASS)) && $(SDK_JAR) cvfm $(@F) $(basename $(@F)).mf $(APP1_CLASSNAMES)
-	+$(SDK_JAR) uvf $@ $(SDK_JAVA_UNO_BOOTSTRAP_FILES)
-
-
-$(EXAMPLE_NAME) : $(APP1_JAR)
-	@echo --------------------------------------------------------------------------------
-	@echo Before you run this example you should start your office with at least a 
-	@echo new empty document and you should have enabled the accessibility support.
-	@echo Please use the following command to execute the Simple Screen Reader example!
-	@echo -
-	@echo $(MAKE) $(APP1_NAME).run
-	@echo --------------------------------------------------------------------------------
-
-%.run: $(OUT_APP_CLASS)/%.jar
-	$(SDK_JAVA) -Dcom.sun.star.lib.loader.unopath="$(OFFICE_PROGRAM_PATH)" -jar $<
-
-.PHONY: clean
-clean :
-	-$(DELRECURSIVE) $(subst /,$(PS),$(OUT_APP_CLASS))
diff --git a/odk/examples/DevelopersGuide/Accessibility/MessageArea.java b/odk/examples/DevelopersGuide/Accessibility/MessageArea.java
deleted file mode 100644
index eebcc36..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/MessageArea.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  the BSD license.
- *
- *  Copyright 2000, 2010 Oracle and/or its affiliates.
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions
- *  are met:
- *  1. Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *  2. Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import java.awt.Font;
-import java.awt.Color;
-import java.awt.Graphics;
-import javax.swing.JScrollPane;
-import javax.swing.JTextArea;
-import javax.swing.JScrollBar;
-
-
-
-/** A message area displays text in a scrollable text widget.  It is a
-    singleton.  Other objects can access it directly to display messages.
-*/
-public class MessageArea
-    extends JScrollPane
-{
-    public static synchronized MessageArea Instance ()
-    {
-        if (saInstance == null)
-            saInstance = new MessageArea ();
-        return saInstance;
-    }
-
-
-
-
-    /** Create a new message area.  This method is private because the class is
-        a singleton and may therefore not be instanciated from the outside.
-    */
-    private MessageArea ()
-    {
-        maText = new JTextArea();
-        maText.setBackground (new Color (255,250,240));
-        maText.setFont (new Font ("Helvetica", Font.PLAIN, 9));
-        setViewportView (maText);
-        setVerticalScrollBarPolicy (JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-        setHorizontalScrollBarPolicy (JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-
-        printMessage (
-            "class path is " + System.getProperty ("java.class.path") + "\n");
-    }
-
-
-
-
-    /** Show the given string at the end of the message area and scroll to make
-        it visible.
-    */
-    public static synchronized void print (String aMessage)
-    {
-        Instance().printMessage(aMessage);
-    }
-
-
-
-
-    /** Show the given string at the end of the message area and scroll to make
-        it visible.
-    */
-    public static void println (String aMessage)
-    {
-        Instance().printMessage (aMessage+"\n");
-    }
-
-
-    public void paintComponent (Graphics g)
-    {
-        // Synchronize with the graphics object to prevent paint problems.
-        // Remember that this is not done by Swing itself.
-        synchronized (g)
-        {
-            JScrollBar sb = getVerticalScrollBar();
-            if (sb != null)
-            {
-                int nScrollBarValue = sb.getMaximum() - sb.getVisibleAmount() - 1;
-                sb.setValue (nScrollBarValue);
-            }
-            super.paintComponent (g);
-        }
-    }
-
-
-
-
-    /** Append the given string to the end of the text and scroll so that it
-        becomes visible.  This is an internal method.  Use one of the static
-        and public ones.
-    */
-    private synchronized void printMessage (String aMessage)
-    {
-        maText.append (aMessage);
-    }
-
-
-
-
-    private static MessageArea saInstance = null;
-    private JTextArea maText;
-}
diff --git a/odk/examples/DevelopersGuide/Accessibility/NameProvider.java b/odk/examples/DevelopersGuide/Accessibility/NameProvider.java
deleted file mode 100644
index 9eeba18..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/NameProvider.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  the BSD license.
- *
- *  Copyright 2000, 2010 Oracle and/or its affiliates.
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions
- *  are met:
- *  1. Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *  2. Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import java.util.HashMap;
-import com.sun.star.accessibility.AccessibleStateType;
-import com.sun.star.accessibility.AccessibleEventId;
-import com.sun.star.accessibility.AccessibleRole;
-import com.sun.star.accessibility.AccessibleRelationType;
-
-
-/** Provide names for several accessibility constants groups.
-*/
-public class NameProvider
-{
-    /** Return the name of the specified state.
-        @param nStateId
-            Id of the state for which to return its name.  This is one of
-            the ids listed in the <type>AccessibleStateType</const>
-            constants group.
-        @return
-            Returns the name of the specified state or an empty string if an
-            invalid / unknown state id was given.
-     */
-    public static String getStateName (int nStateId)
-    {
-        return (String)maStateMap.get (new Integer(nStateId));
-    }
-
-
-    /** Return the name of the specified event.
-        @param nEventId
-            Id of the event type for which to return its name.  This is one
-            of the ids listed in the <type>AccessibleEventId</const>
-            constants group.
-        @return
-            Returns the name of the specified event type or an empty string
-            if an invalid / unknown event id was given.
-     */
-    public static String getEventName (int nEventId)
-    {
-        return (String)maEventMap.get (new Integer(nEventId));
-    }
-
-
-    /** Return the name of the specified role.
-        @param nRole
-            Id of the role for which to return its name.  This is one of
-            the ids listed in the <type>AccessibleRole</const>
-            constants group.
-        @return
-            Returns the name of the specified role or an empty string if an
-            invalid / unknown role id was given.
-     */
-    public static String getRoleName (int nRole)
-    {
-        return (String)maRoleMap.get (new Integer(nRole));
-    }
-
-
-    /** Return the name of the specified relation.
-        @param nRelation
-            Id of the relation for which to return its name.  This is one of
-            the ids listed in the <type>AccessibleRelationType</const>
-            constants group.
-        @return
-            Returns the name of the specified relation type or an empty
-            string if an invalid / unknown role id was given.
-     */
-    public static String getRelationName (int nRelation)
-    {
-        return (String)maRelationMap.get (new Integer(nRelation));
-    }
-
-
-    private static HashMap maStateMap = new HashMap();
-    private static HashMap maEventMap = new HashMap();
-    private static HashMap maRoleMap = new HashMap();
-    private static HashMap maRelationMap = new HashMap();
-
-    static {
-        maStateMap.put (new Integer (AccessibleStateType.INVALID), "INVALID");
-        maStateMap.put (new Integer (AccessibleStateType.ACTIVE), "ACTIVE");
-        maStateMap.put (new Integer (AccessibleStateType.ARMED), "ARMED");
-        maStateMap.put (new Integer (AccessibleStateType.BUSY), "BUSY");
-        maStateMap.put (new Integer (AccessibleStateType.CHECKED), "CHECKED");
-        maStateMap.put (new Integer (AccessibleStateType.DEFUNC), "DEFUNC");
-        maStateMap.put (new Integer (AccessibleStateType.EDITABLE), "EDITABLE");
-        maStateMap.put (new Integer (AccessibleStateType.ENABLED), "ENABLED");
-        maStateMap.put (new Integer (AccessibleStateType.EXPANDABLE), "EXPANDABLE");
-        maStateMap.put (new Integer (AccessibleStateType.EXPANDED), "EXPANDED");
-        maStateMap.put (new Integer (AccessibleStateType.FOCUSABLE), "FOCUSABLE");
-        maStateMap.put (new Integer (AccessibleStateType.FOCUSED), "FOCUSED");
-        maStateMap.put (new Integer (AccessibleStateType.HORIZONTAL), "HORIZONTAL");
-        maStateMap.put (new Integer (AccessibleStateType.ICONIFIED), "ICONIFIED");
-        maStateMap.put (new Integer (AccessibleStateType.MODAL), "MODAL");
-        maStateMap.put (new Integer (AccessibleStateType.MULTI_LINE), "MULTI_LINE");
-        maStateMap.put (new Integer (AccessibleStateType.MULTI_SELECTABLE), "MULTI_SELECTABLE");
-        maStateMap.put (new Integer (AccessibleStateType.OPAQUE), "OPAQUE");
-        maStateMap.put (new Integer (AccessibleStateType.PRESSED), "PRESSED");
-        maStateMap.put (new Integer (AccessibleStateType.RESIZABLE), "RESIZABLE");
-        maStateMap.put (new Integer (AccessibleStateType.SELECTABLE), "SELECTABLE");
-        maStateMap.put (new Integer (AccessibleStateType.SELECTED), "SELECTED");
-        maStateMap.put (new Integer (AccessibleStateType.SENSITIVE), "SENSITIVE");
-        maStateMap.put (new Integer (AccessibleStateType.SHOWING), "SHOWING");
-        maStateMap.put (new Integer (AccessibleStateType.SINGLE_LINE), "SINGLE_LINE");
-        maStateMap.put (new Integer (AccessibleStateType.STALE), "STALE");
-        maStateMap.put (new Integer (AccessibleStateType.TRANSIENT), "TRANSIENT");
-        maStateMap.put (new Integer (AccessibleStateType.VERTICAL), "VERTICAL");
-        maStateMap.put (new Integer (AccessibleStateType.VISIBLE), "VISIBLE");
-        maStateMap.put (new Integer (AccessibleStateType.MANAGES_DESCENDANTS),
-            "MANAGES_DESCENDANTS");
-        //        maStateMap.put (new Integer (AccessibleStateType.INCONSISTENT),"INCONSISTENT");
-
-
-        maEventMap.put (new Integer (0),
-            "[UNKNOWN]");
-        maEventMap.put (new Integer (AccessibleEventId.NAME_CHANGED),
-            "NAME_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.DESCRIPTION_CHANGED),
-            "DESCRIPTION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.ACTION_CHANGED),
-            "ACTION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.STATE_CHANGED),
-            "STATE_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.ACTIVE_DESCENDANT_CHANGED),
-            "ACTIVE_DESCENDANT_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.BOUNDRECT_CHANGED),
-            "BOUNDRECT_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.CHILD),
-            "CHILD");
-        maEventMap.put (new Integer (AccessibleEventId.INVALIDATE_ALL_CHILDREN),
-            "INVALIDATE_ALL_CHILDREN");
-        maEventMap.put (new Integer (AccessibleEventId.SELECTION_CHANGED),
-            "SELECTION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.VISIBLE_DATA_CHANGED),
-            "VISIBLE_DATA_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.VALUE_CHANGED),
-            "VALUE_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.CONTENT_FLOWS_FROM_RELATION_CHANGED),
-            "CONTENT_FLOWS_FROM_RELATION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.CONTENT_FLOWS_TO_RELATION_CHANGED),
-            "CONTENT_FLOWS_TO_RELATION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.CONTROLLED_BY_RELATION_CHANGED),
-            "CONTROLLED_BY_RELATION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.CONTROLLER_FOR_RELATION_CHANGED),
-            "CONTROLLER_FOR_RELATION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.LABEL_FOR_RELATION_CHANGED),
-            "LABEL_FOR_RELATION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.LABELED_BY_RELATION_CHANGED),
-            "LABELED_BY_RELATION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.MEMBER_OF_RELATION_CHANGED),
-            "MEMBER_OF_RELATION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.SUB_WINDOW_OF_RELATION_CHANGED),
-            "SUB_WINDOW_OF_RELATION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.CARET_CHANGED),
-            "CARET_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.TEXT_SELECTION_CHANGED),
-            "TEXT_SELECTION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.TEXT_CHANGED),
-            "TEXT_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.TEXT_ATTRIBUTE_CHANGED),
-            "TEXT_ATTRIBUTE_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.HYPERTEXT_CHANGED),
-            "HYPERTEXT_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.TABLE_CAPTION_CHANGED),
-            "TABLE_CAPTION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.TABLE_COLUMN_DESCRIPTION_CHANGED),
-            "TABLE_COLUMN_DESCRIPTION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.TABLE_COLUMN_HEADER_CHANGED),
-            "TABLE_COLUMN_HEADER_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.TABLE_MODEL_CHANGED),
-            "TABLE_MODEL_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.TABLE_ROW_DESCRIPTION_CHANGED),
-            "TABLE_ROW_DESCRIPTION_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.TABLE_ROW_HEADER_CHANGED),
-            "TABLE_ROW_HEADER_CHANGED");
-        maEventMap.put (new Integer (AccessibleEventId.TABLE_SUMMARY_CHANGED),
-            "TABLE_SUMMARY_CHANGED");
-
-        maRoleMap.put (new Integer(AccessibleRole.UNKNOWN), "UNKNOWN");
-        maRoleMap.put (new Integer (AccessibleRole.UNKNOWN), "UNKNOWN");
-        maRoleMap.put (new Integer (AccessibleRole.ALERT), "ALERT");
-        maRoleMap.put (new Integer (AccessibleRole.COLUMN_HEADER), "COLUMN_HEADER");
-        maRoleMap.put (new Integer (AccessibleRole.CANVAS), "CANVAS");
-        maRoleMap.put (new Integer (AccessibleRole.CHECK_BOX), "CHECK_BOX");
-        maRoleMap.put (new Integer (AccessibleRole.CHECK_MENU_ITEM), "CHECK_MENU_ITEM");
-        maRoleMap.put (new Integer (AccessibleRole.COLOR_CHOOSER), "COLOR_CHOOSER");
-        maRoleMap.put (new Integer (AccessibleRole.COMBO_BOX), "COMBO_BOX");
-        maRoleMap.put (new Integer (AccessibleRole.DESKTOP_ICON), "DESKTOP_ICON");
-        maRoleMap.put (new Integer (AccessibleRole.DESKTOP_PANE), "DESKTOP_PANE");
-        maRoleMap.put (new Integer (AccessibleRole.DIRECTORY_PANE), "DIRECTORY_PANE");
-        maRoleMap.put (new Integer (AccessibleRole.DIALOG), "DIALOG");
-        maRoleMap.put (new Integer (AccessibleRole.DOCUMENT), "DOCUMENT");
-        maRoleMap.put (new Integer (AccessibleRole.EMBEDDED_OBJECT), "EMBEDDED_OBJECT");
-        maRoleMap.put (new Integer (AccessibleRole.END_NOTE), "END_NOTE");
-        maRoleMap.put (new Integer (AccessibleRole.FILE_CHOOSER), "FILE_CHOOSER");
-        maRoleMap.put (new Integer (AccessibleRole.FILLER), "FILLER");
-        maRoleMap.put (new Integer (AccessibleRole.FONT_CHOOSER), "FONT_CHOOSER");
-        maRoleMap.put (new Integer (AccessibleRole.FOOTER), "FOOTER");
-        maRoleMap.put (new Integer (AccessibleRole.FOOTNOTE), "FOOTNOTE");
-        maRoleMap.put (new Integer (AccessibleRole.FRAME), "FRAME");
-        maRoleMap.put (new Integer (AccessibleRole.GLASS_PANE), "GLASS_PANE");
-        maRoleMap.put (new Integer (AccessibleRole.GRAPHIC), "GRAPHIC");
-        maRoleMap.put (new Integer (AccessibleRole.GROUP_BOX), "GROUP_BOX");
-        maRoleMap.put (new Integer (AccessibleRole.HEADER), "HEADER");
-        maRoleMap.put (new Integer (AccessibleRole.HEADING), "HEADING");
-        maRoleMap.put (new Integer (AccessibleRole.HYPER_LINK), "HYPER_LINK");
-        maRoleMap.put (new Integer (AccessibleRole.ICON), "ICON");
-        maRoleMap.put (new Integer (AccessibleRole.INTERNAL_FRAME), "INTERNAL_FRAME");
-        maRoleMap.put (new Integer (AccessibleRole.LABEL), "LABEL");
-        maRoleMap.put (new Integer (AccessibleRole.LAYERED_PANE), "LAYERED_PANE");
-        maRoleMap.put (new Integer (AccessibleRole.LIST), "LIST");
-        maRoleMap.put (new Integer (AccessibleRole.LIST_ITEM), "LIST_ITEM");
-        maRoleMap.put (new Integer (AccessibleRole.MENU), "MENU");
-        maRoleMap.put (new Integer (AccessibleRole.MENU_BAR), "MENU_BAR");
-        maRoleMap.put (new Integer (AccessibleRole.MENU_ITEM), "MENU_ITEM");
-        maRoleMap.put (new Integer (AccessibleRole.OPTION_PANE), "OPTION_PANE");
-        maRoleMap.put (new Integer (AccessibleRole.PAGE_TAB), "PAGE_TAB");
-        maRoleMap.put (new Integer (AccessibleRole.PAGE_TAB_LIST), "PAGE_TAB_LIST");
-        maRoleMap.put (new Integer (AccessibleRole.PANEL), "PANEL");
-        maRoleMap.put (new Integer (AccessibleRole.PARAGRAPH), "PARAGRAPH");
-        maRoleMap.put (new Integer (AccessibleRole.PASSWORD_TEXT), "PASSWORD_TEXT");
-        maRoleMap.put (new Integer (AccessibleRole.POPUP_MENU), "POPUP_MENU");
-        maRoleMap.put (new Integer (AccessibleRole.PUSH_BUTTON), "PUSH_BUTTON");
-        maRoleMap.put (new Integer (AccessibleRole.PROGRESS_BAR), "PROGRESS_BAR");
-        maRoleMap.put (new Integer (AccessibleRole.RADIO_BUTTON), "RADIO_BUTTON");
-        maRoleMap.put (new Integer (AccessibleRole.RADIO_MENU_ITEM), "RADIO_MENU_ITEM");
-        maRoleMap.put (new Integer (AccessibleRole.ROW_HEADER), "ROW_HEADER");
-        maRoleMap.put (new Integer (AccessibleRole.ROOT_PANE), "ROOT_PANE");
-        maRoleMap.put (new Integer (AccessibleRole.SCROLL_BAR), "SCROLL_BAR");
-        maRoleMap.put (new Integer (AccessibleRole.SCROLL_PANE), "SCROLL_PANE");
-        maRoleMap.put (new Integer (AccessibleRole.SHAPE), "SHAPE");
-        maRoleMap.put (new Integer (AccessibleRole.SEPARATOR), "SEPARATOR");
-        maRoleMap.put (new Integer (AccessibleRole.SLIDER), "SLIDER");
-        maRoleMap.put (new Integer (AccessibleRole.SPIN_BOX), "SPIN_BOX");
-        maRoleMap.put (new Integer (AccessibleRole.SPLIT_PANE), "SPLIT_PANE");
-        maRoleMap.put (new Integer (AccessibleRole.STATUS_BAR), "STATUS_BAR");
-        maRoleMap.put (new Integer (AccessibleRole.TABLE), "TABLE");
-        maRoleMap.put (new Integer (AccessibleRole.TABLE_CELL), "TABLE_CELL");
-        maRoleMap.put (new Integer (AccessibleRole.TEXT), "TEXT");
-        maRoleMap.put (new Integer (AccessibleRole.TEXT_FRAME), "TEXT_FRAME");
-        maRoleMap.put (new Integer (AccessibleRole.TOGGLE_BUTTON), "TOGGLE_BUTTON");
-        maRoleMap.put (new Integer (AccessibleRole.TOOL_BAR), "TOOL_BAR");
-        maRoleMap.put (new Integer (AccessibleRole.TOOL_TIP), "TOOL_TIP");
-        maRoleMap.put (new Integer (AccessibleRole.TREE), "TREE");
-        maRoleMap.put (new Integer (AccessibleRole.VIEW_PORT), "VIEW_PORT");
-        maRoleMap.put (new Integer (AccessibleRole.WINDOW), "WINDOW");
-
-        maRelationMap.put (new Integer (AccessibleRelationType.INVALID), "INVALID");
-        maRelationMap.put (new Integer (AccessibleRelationType.CONTENT_FLOWS_FROM), "CONTENT_FLOWS_FROM");
-        maRelationMap.put (new Integer (AccessibleRelationType.CONTENT_FLOWS_TO), "CONTENT_FLOWS_TO");
-        maRelationMap.put (new Integer (AccessibleRelationType.CONTROLLED_BY), "CONTROLLED_BY");
-        maRelationMap.put (new Integer (AccessibleRelationType.CONTROLLER_FOR), "CONTROLLER_FOR");
-        maRelationMap.put (new Integer (AccessibleRelationType.LABEL_FOR), "LABEL_FOR");
-        maRelationMap.put (new Integer (AccessibleRelationType.LABELED_BY), "LABELED_BY");
-        maRelationMap.put (new Integer (AccessibleRelationType.MEMBER_OF), "MEMBER_OF");
-        maRelationMap.put (new Integer (AccessibleRelationType.SUB_WINDOW_OF), "SUB_WINDOW_OF");
-    }
-}
diff --git a/odk/examples/DevelopersGuide/Accessibility/RegistrationThread.java b/odk/examples/DevelopersGuide/Accessibility/RegistrationThread.java
deleted file mode 100644
index b6a64e4..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/RegistrationThread.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  the BSD license.
- *
- *  Copyright 2000, 2010 Oracle and/or its affiliates.
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions
- *  are met:
- *  1. Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *  2. Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.accessibility.*;
-
-/** This class is used as a thread and registers or unregsiters a listener
-    given the constructor at all nodes of a tree of accessibility objects.
-*/
-public class RegistrationThread
-    implements Runnable
-{
-    /** Start a new thread that adds or removes the given listener at all
-        accessible objects in the sub-tree rooted in the given accessible
-        object.
-        @param aListener
-            The listener that is added or removed.
-        @param xRoot
-            The root of the sub-tree of accessibility objects.
-        @param bRegister
-            This flag decides whether to add or remove the listener.
-    */
-    public RegistrationThread (
-        EventListenerProxy aListener,
-        XAccessibleContext xRoot,
-        boolean bRegister,
-        boolean bShowMessages)
-    {
-        maListener = aListener;
-        mxRoot = xRoot;
-        mbRegister = bRegister;
-        mbShowMessages = bShowMessages;
-
-        if (mxRoot != null)
-        {
-            if (mbShowMessages)
-                MessageArea.println ("starting to register at " + mxRoot.getAccessibleName());
-            new Thread (this, "RegistrationThread").start();
-        }
-    }
-
-
-
-    public void run ()
-    {
-        System.out.println ("starting registration");
-        long nNodeCount = traverseTree (mxRoot);
-        System.out.println ("ending registration");
-        if (mbShowMessages)
-        {
-            if ( ! mbRegister)
-                MessageArea.print ("un");
-            MessageArea.println ("registered at " + nNodeCount
-                + " objects in accessibility tree of " + mxRoot.getAccessibleName());
-        }
-    }
-
-
-
-
-    /** Register this object as listener for accessibility events at all nodes
-        of the given tree.
-        @param xRoot
-            The root node of the tree at which to register.
-    */
-    public long traverseTree (XAccessibleContext xRoot)
-    {
-        long nNodeCount = 0;
-        if (xRoot != null)
-        {
-            // Register the root node.
-            XAccessibleEventBroadcaster xBroadcaster =
-                (XAccessibleEventBroadcaster) UnoRuntime.queryInterface (
-                    XAccessibleEventBroadcaster.class,
-                    xRoot);
-            if (xBroadcaster != null)
-            {
-                if (mbRegister)
-                    xBroadcaster.addAccessibleEventListener (maListener);
-                else
-                    xBroadcaster.removeAccessibleEventListener (maListener);
-                nNodeCount += 1;
-            }
-
-            // Call this method recursively to register all sub-trees.
-            try
-            {
-                int nChildCount = xRoot.getAccessibleChildCount();
-                for (int i=0; i<nChildCount; i++)
-                {
-                    XAccessible xChild = xRoot.getAccessibleChild (i);
-                    if (xChild != null)
-                        nNodeCount += traverseTree (xChild.getAccessibleContext());
-                }
-            }
-            catch (com.sun.star.lang.IndexOutOfBoundsException aException)
-            {
-                // The set of children has changed since our last call to
-                // getAccesibleChildCount().  Don't try any further on this
-                // sub-tree.
-            }
-            catch (com.sun.star.lang.DisposedException aException)
-            {
-                // The child has been destroyed since our last call to
-                // getAccesibleChildCount().  That is OK. Don't try any
-                // further on this sub-tree.
-            }
-        }
-        return nNodeCount;
-    }
-
-    private EventListenerProxy maListener;
-    private XAccessibleContext mxRoot;
-    private boolean mbRegister;
-    private boolean mbShowMessages;
-}
diff --git a/odk/examples/DevelopersGuide/Accessibility/SSR.java b/odk/examples/DevelopersGuide/Accessibility/SSR.java
deleted file mode 100644
index e1830cf..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/SSR.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  the BSD license.
- *
- *  Copyright 2000, 2010 Oracle and/or its affiliates.
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions
- *  are met:
- *  1. Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *  2. Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import java.awt.event.ActionListener;
-import java.awt.GridBagLayout;
-import java.awt.GridBagConstraints;
-import javax.swing.*;
-
-
-/** The simple screen reader (SSR) registers at the toolkit as focus listener
-    and displays information about the currently focused object.
-*/
-public class SSR
-    implements ActionListener
-{
-    /** Just pass the control to the SSR class.
-    */
-    public static void main (String args[])
-    {
-        new SSR ();
-    }
-
-
-
-
-    /** Create a new instance of the simple screen reader.
-    */
-    public SSR ()
-    {
-        Layout ();
-
-        // Create the event handler and tell it where to display information
-        // about the currently focused accessible object.
-        maEventHandler = new EventHandler ();
-        maEventHandler.addObjectDisplay (maTextualDisplay);
-        maEventHandler.addObjectDisplay (maGraphicalDisplay);
-    }
-
-
-
-
-    /** Setup the GUI.  It is divided into three areas.  The lower half is
-        ocupied by a message area that logs all the events received from
-        accessibility objects.  The upper half is shared by two different
-        displays of the currently focused object.  On left there is a textual
-        representation.  On the right there is a graphical view of the
-        objects's outline.
-    */
-    private void Layout ()
-    {
-        GridBagConstraints constraints;
-
-        JPanel aPanel = new JPanel (true);
-        aPanel.setLayout (new GridBagLayout());
-        aPanel.setOpaque (true);
-
-        mFrame = new JFrame ("Simple Screen Reader 0.3");
-        mFrame.setContentPane(aPanel);
-        mFrame.setSize (600,400);
-
-
-        addComponent (new JLabel ("Focused Object:"),
-            0,0, 1,1, 0,0, GridBagConstraints.WEST, GridBagConstraints.NONE);
-
-
-        maTextualDisplay = new TextualDisplay ();
-        addComponent (maTextualDisplay,
-            0,1, 1,1, 1,1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
-
-        maGraphicalDisplay = new GraphicalDisplay ();
-        addComponent (maGraphicalDisplay,
-            1,0, 1,2, 1,1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
-
-        addComponent (new JLabel ("Messages:"),
-            0,2, 1,1, 0,0, GridBagConstraints.WEST, GridBagConstraints.NONE);
-
-        addComponent (MessageArea.Instance(),
-            0,3, 2,1, 1,1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
-
-
-        JButton aButton = new JButton ("Quit SSR");
-        addComponent (aButton,
-            0,4, 1,1, 0,0, GridBagConstraints.WEST,GridBagConstraints.NONE);
-        aButton.addActionListener (this);
-
-        mFrame.show();
-    }
-
-
-
-
-    /** Add a GUI element with the given constraints to the main window.
-    */
-    private JComponent addComponent (JComponent aComponent,
-        int x, int y, int width, int height, double weightx, double weighty,
-        int anchor, int fill)
-    {
-        aComponent.setDoubleBuffered (false);
-        GridBagConstraints aConstraints = new GridBagConstraints();
-        aConstraints.gridx = x;
-        aConstraints.gridy = y;
-        aConstraints.gridwidth = width;
-        aConstraints.gridheight = height;
-        aConstraints.weightx = weightx;
-        aConstraints.weighty = weighty;
-        aConstraints.anchor = anchor;
-        aConstraints.fill = fill;
-
-        mFrame.getContentPane().add (aComponent, aConstraints);
-
-        return aComponent;
-    }
-
-
-
-
-    /** This call-back handles button presses.
-    */
-    public void actionPerformed (java.awt.event.ActionEvent e)
-    {
-        if (e.getActionCommand().equals ("Quit SSR"))
-        {
-            maEventHandler.finalize ();
-            System.exit(0);
-        }
-    }
-
-
-    /// The main frame that contains all other GUI elements.
-    private JFrame mFrame;
-
-    /// A textutal representation of the currently focused object.
-    private TextualDisplay maTextualDisplay;
-
-    /// A graphical representation of the currently focused object.
-    private GraphicalDisplay maGraphicalDisplay;
-
-    /// The event handler that reacts to all the accessibility events.
-    private EventHandler maEventHandler;
-}
diff --git a/odk/examples/DevelopersGuide/Accessibility/TextualDisplay.java b/odk/examples/DevelopersGuide/Accessibility/TextualDisplay.java
deleted file mode 100644
index 17e0021..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/TextualDisplay.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*************************************************************************
- *
- *  The Contents of this file are made available subject to the terms of
- *  the BSD license.
- *
- *  Copyright 2000, 2010 Oracle and/or its affiliates.
- *  All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions
- *  are met:
- *  1. Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *  2. Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import java.awt.Color;
-import java.awt.Font;
-import javax.swing.JTextArea;
-import javax.swing.JScrollPane;
-import java.util.Vector;
-
-import com.sun.star.accessibility.XAccessible;
-import com.sun.star.accessibility.XAccessibleContext;
-import com.sun.star.accessibility.XAccessibleComponent;
-import com.sun.star.accessibility.XAccessibleStateSet;
-
-import com.sun.star.uno.UnoRuntime;
-
-import com.sun.star.awt.Point;
-import com.sun.star.awt.Size;
-
-/** Display textual information for a given accessible object.  This
-    includes the names of that object of its ancestors as well as some
-    information retrieved from the XAccessibleContext and
-    XAccessibleComponent interfaces.
-*/
-class TextualDisplay
-    extends JScrollPane
-    implements IAccessibleObjectDisplay
-{
-    /** Create a new scroll pane that contains a text widget which display
-        information about given accessible objects.
-    */
-    public TextualDisplay ()
-    {
-        // Create a text widget for displaying the text information...
-        maText = new JTextArea (80,10);
-        maText.setBackground (new Color (250,240,230));
-        maText.setFont (new Font ("Courier", Font.PLAIN, 11));
-
-        // ...and set-up the scroll pane to show this widget.
-        setViewportView (maText);
-        setVerticalScrollBarPolicy (JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-        setHorizontalScrollBarPolicy (JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-    }
-
-
-
-
-    /** Set the accessible object to display.  Call this method e.g. when a
-        new object has been focused.
-    */
-    public synchronized void setAccessibleObject (XAccessibleContext xContext)
-    {
-        // First clear the display area.
-        msTextContent = new String ();
-
-        if (xContext != null)
-        {
-            String sIndentation = showParents (xContext);
-            showContextInfo (xContext, sIndentation);
-            showComponentInfo (xContext, sIndentation);
-        }
-
-        maText.setText (msTextContent);
-    }
-
-
-
-
-    public synchronized void updateAccessibleObject (XAccessibleContext xContext)
-    {
-        setAccessibleObject (xContext);
-    }
-
-
-
-    /** Show some of the information available over the given object's
-        XAccessibleContext interface.
-    */
-    private void showContextInfo (XAccessibleContext xContext, String sIndentation)
-    {
-        // Show the description.
-        msTextContent += sIndentation + "Description: "
-            + xContext.getAccessibleDescription() + "\n";
-
-        showStates (xContext, sIndentation);
-    }
-
-
-
-
-    /** Show a list of all of the the given object's states.  Use the
-        NameConverter class to transform the numerical state ids into human
-        readable names.
-        @param xContext
-            The accessible context for which to show the state names.
-    */
-    private void showStates (XAccessibleContext xContext, String sIndentation)
-    {
-        // Get the state set object...
-        XAccessibleStateSet xStateSet = xContext.getAccessibleStateSet();
-        // ...and retrieve an array of numerical ids.
-        short aStates[] = xStateSet.getStates();
-
-        // Iterate over the array and print the names of the states.
-        msTextContent += sIndentation + "States     : ";
-        for (int i=0; i<aStates.length; i++)
-        {
-            if (i > 0)
-                msTextContent += ", ";
-            msTextContent += NameProvider.getStateName(aStates[i]);
-        }
-        msTextContent += "\n";
-    }
-
-
-
-
-    /** When the given object supports the XAccessibleComponent interface then
-        show its size and location on the screen.
-    */
-    private void showComponentInfo (XAccessibleContext xContext, String sIndentation)
-    {
-        // Try to cast the given accessible context to the
-        // XAccessibleComponent interface.
-        XAccessibleComponent xComponent =
-            UnoRuntime.queryInterface(
-            XAccessibleComponent.class, xContext);
-        if (xComponent != null)
-        {
-            Point aLocation = xComponent.getLocationOnScreen();
-            msTextContent += sIndentation + "Position   : "
-                + aLocation.X + ", " + aLocation.Y + "\n";
-
-            Size aSize = xComponent.getSize();
-            msTextContent += sIndentation + "Size       : "
-                + aSize.Width + ", " + aSize.Height + "\n";
-        }
-    }
-
-
-
-
-
-    /** Print the names of the given object and its parents and return an
-        indentation string that can be used to print further information
-        about the object.
-    */
-    private String showParents (XAccessibleContext xContext)
-    {
-        // Create the path from the given object to its tree's root.
-        Vector<XAccessibleContext> aPathToRoot = new Vector<XAccessibleContext>();
-        while (xContext != null)
-        {
-            aPathToRoot.add (xContext);
-            // Go up the hierarchy one level to the object's parent.
-            try
-            {
-                XAccessible xParent = xContext.getAccessibleParent();
-                if (xParent != null)
-                    xContext = xParent.getAccessibleContext();
-                else
-                    xContext = null;
-            }
-            catch (Exception e)
-            {
-                System.err.println ("caught exception " + e + " while getting path to root");
-            }
-        }
-
-        // Print the path in the accessibility tree from the given context to
-        // the root.
-        String sIndentation = new String ();
-        for (int i=aPathToRoot.size()-1; i>=0; i--)
-        {
-            XAccessibleContext xParentContext = aPathToRoot.get(i);
-            String sParentName = xParentContext.getAccessibleName();
-            if (sParentName.length() == 0)
-                sParentName = "<unnamed> / Role "
-                    + NameProvider.getRoleName(xParentContext.getAccessibleRole());
-            msTextContent += sIndentation + sParentName + "\n";
-            sIndentation += msIndentation;
-        }
-
-        return sIndentation;
-    }
-
-
-
-    /// The text widget that is used for the actual text display.
-    private JTextArea maText;
-
-    /// The indentation with which an object's child is indented.
-    private final String msIndentation = new String("  ");
-
-    /// The text content displayed by this object.
-    private String msTextContent = new String ();
-}
diff --git a/odk/examples/DevelopersGuide/Accessibility/makefile.mk b/odk/examples/DevelopersGuide/Accessibility/makefile.mk
deleted file mode 100644
index 2f3c547..0000000
--- a/odk/examples/DevelopersGuide/Accessibility/makefile.mk
+++ /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 .
-#
-
-PRJ=..$/..$/..
-PRJNAME=odk
-TARGET=copying
-
-#----------------------------------------------------------------
-.INCLUDE: settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-#----------------------------------------------------------------
-
-#----------------------------------------------------
-# this makefile is only used for copying the example 
-# files into the SDK
-#----------------------------------------------------
-
-ACCESSIBILITY_FILES=\
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/ConnectionTask.java \
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/EventHandler.java \
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/EventListenerProxy.java \
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/GraphicalDisplay.java \
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/IAccessibleObjectDisplay.java \
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/Makefile \
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/MessageArea.java \
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/NameProvider.java \
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/RegistrationThread.java \
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/SSR.java \
-    $(DESTDIRDEVGUIDEEXAMPLES)$/Accessibility$/TextualDisplay.java
-
-DIR_FILE_LIST= \
-    $(ACCESSIBILITY_FILES)
-
-DIR_DIRECTORY_LIST=$(uniq $(DIR_FILE_LIST:d))
-DIR_CREATE_FLAG=$(MISC)$/devguide_accessibility_dirs_created.txt
-DIR_FILE_FLAG=$(MISC)$/devguide_accessibility.txt
-
-#--------------------------------------------------
-# TARGETS
-#--------------------------------------------------
-all : \
-    $(DIR_FILE_LIST) \
-    $(DIR_FILE_FLAG)
-
-#--------------------------------------------------
-# use global rules
-#--------------------------------------------------   
-.INCLUDE: $(PRJ)$/util$/odk_rules.pmk
-
diff --git a/odk/examples/DevelopersGuide/examples.html b/odk/examples/DevelopersGuide/examples.html
index f4d42eb..5417ddb 100644
--- a/odk/examples/DevelopersGuide/examples.html
+++ b/odk/examples/DevelopersGuide/examples.html
@@ -164,10 +164,6 @@ Content Broker (UCB)</a></td>
                   <td><a href="#OfficeBean"
  title="link to the OOoBean examples">Office Bean</a></td>
                   <td class="content10"></td>
-                  <td class="content3"><img
- src="../../docs/images/arrow-1.gif"></td>
-                  <td><a href="#Accessibility"
- title="link to the Accessibility examples">Accessibility</a></td>
                 </tr>
                   <td class="content3"><img
  src="../../docs/images/arrow-1.gif"></td>
@@ -2749,142 +2745,6 @@ documents as well as how to control toolbar visibility.</td>
             <table class="table3">
               <tbody>
                 <tr>
-                  <td colspan="2" class="head1"><a name="Accessibility">Accessibility
-examples</a></td>
-                  <td align="right"> <a href="#examples"
- title="link to the Developer's Guide examples overview"><img
- class="navigate" src="../../docs/images/nav_up.png"></a> <a
- href="../../index.html" title="link to the SDK start page"><img
- class="navigate" src="../../docs/images/nav_home.png"></a> </td>
-                </tr>
-              </tbody>
-            </table>
-            </td>
-          </tr>
-          <tr>
-            <td>
-            <table class="table4">
-              <tbody>
-                <tr class="thead">
-                  <td class="cell20">Example</td>
-                  <td class="cell80">Description</td>
-                </tr>
-                <tr>
-                  <td class="cell20"><a
- href="./Accessibility/ConnectionTask.java"
- title="link to Accessibility/ConnectionTask.java">ConnectionTask</a></td>
-                  <td class="cell80">A timer task that tries to
-(re-)connect to a running Office application. When it can not detect an
-Office application that accepts connections then it waits for some time
-and tries again.</td>
-                </tr>
-                <tr>
-                  <td class="cell20"><a
- href="./Accessibility/EventHandler.java"
- title="link to Accessibility/EventHandler.java">EventHandler</a></td>
-                  <td class="cell80">Handle all events that are used by
-this tool. It is called by the EventListenerProxy class with somewhat
-preprocessed events.</td>
-                </tr>
-                <tr>
-                  <td class="cell20"><a
- href="./Accessibility/EventListenerProxy.java"
- title="link to Accessibility/EventListenerProxy.java">EventListenerProxy</a></td>
-                  <td class="cell80">This proxy runs in its own thread
-to avoid deadlocks with the Office it listens to. It waits for top
-window events to be informed of new or removed top level windows and
-for some accessibility events that are relevant to display the
-currently focused object.</td>
-                </tr>
-                <tr>
-                  <td class="cell20"><a
- href="./Accessibility/GraphicalDisplay.java"
- title="link to Accessibility/GraphicalDisplay.java">GraphicalDisplay</a></td>
-                  <td class="cell80">This widget displays a graphical
-representation of the currently focused object. The focused object is
-painted as a green rectangle and its ancestors as gray rectangles to
-give an impression of the relative location of the objects.</td>
-                </tr>
-                <tr>
-                  <td class="cell20"><a
- href="./Accessibility/IAccessibleObjectDisplay.java"
- title="link to Accessibility/IAccessibleObjectDisplay.java">IAccessibleObjectDisplay</a></td>
-                  <td class="cell80">This interface is implemented by
-all classes that display the currently focused object, namely
-GraphicalDisplay and TextualDisplay. It allows the owner of the display
-classes to tell them to display a specific object: usually the focused
-object.</td>
-                </tr>
-                <tr>
-                  <td class="cell20"><a
- href="./Accessibility/MessageArea.java"
- title="link to Accessibility/MessageArea.java">MessageArea</a></td>
-                  <td class="cell80">A text area that shows messages
-about what the tools is currently doing.</td>
-                </tr>
-                <tr>
-                  <td class="cell20"><a
- href="./Accessibility/NameProvider.java"
- title="link to Accessibility/NameProvider.java">NameProvider</a></td>
-                  <td class="cell80">In contrast to the Java
-Accessibility API which uses Strings for event types, roles, states,
-and relation types, the UNO Accessibility API uses numbers for this
-task. In order to present them to the user in a more readable form this
-class returns the string name for each event, role, state, or relation.</td>
-                </tr>
-                <tr>
-                  <td class="cell20"><a
- href="./Accessibility/RegistrationThread.java"
- title="link to Accessibility/RegistrationThread.java">RegistrationThread</a></td>
-                  <td class="cell80">When a new window appears or an
-existing one is removed the tool registers or unregisters at all the
-window's children as accessibility event listener. This is handled by
-RegistrationThread objects in their own threads so that the user
-interface is not blocked.</td>
-                </tr>
-                <tr>
-                  <td class="cell20"><img
- src="../../docs/images/bluball.gif"> <a
- href="./Accessibility/SSR.java" title="link to Accessibility/SSR.java">SSR</a></td>
-                  <td class="cell80">The main class sets up the user
-interface and starts the ConnectionTask object that eventually will
-initiate a connection to a running Office application and in turn will
-create RegistrationThread objects to register at all Office windows as
-accessibility event listener and thus gets informed about the currently
-focused object.</td>
-                </tr>
-                <tr>
-                  <td class="cell20"><a
- href="./Accessibility/TextualDisplay.java"
- title="link to Accessibility/TextualDisplay.java">TextualDisplay</a></td>
-                  <td class="cell80">Show some textual information
-about the currently focused object like its name, description, and role.</td>
-                </tr>
-              </tbody>
-            </table>
-            </td>
-          </tr>
-        </tbody>
-      </table>
-      </td>
-      <td class="content1"><img class="nothing8"
- src="../../docs/images/nada.gif"></td>
-    </tr>
-    <tr>
-      <td colspan="3"><img class="line"

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list