summaryrefslogtreecommitdiff
path: root/toolkit/test/accessibility/EventQueue.java
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2003-03-27 16:05:12 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2003-03-27 16:05:12 +0000
commitfd2cf3dc7cd9c73070fa4d70c8ca99c9fc1ce135 (patch)
tree9569a564e06fba817528ea414129b4074d83cb61 /toolkit/test/accessibility/EventQueue.java
parentff09f8d6ef2c613037f039dbcafcad6b76243a48 (diff)
MWS_SRX644: migrate branch mws_srx644 -> HEAD
Diffstat (limited to 'toolkit/test/accessibility/EventQueue.java')
-rw-r--r--toolkit/test/accessibility/EventQueue.java126
1 files changed, 0 insertions, 126 deletions
diff --git a/toolkit/test/accessibility/EventQueue.java b/toolkit/test/accessibility/EventQueue.java
deleted file mode 100644
index 2d9fc4b5c828..000000000000
--- a/toolkit/test/accessibility/EventQueue.java
+++ /dev/null
@@ -1,126 +0,0 @@
-import drafts.com.sun.star.accessibility.*;
-import com.sun.star.lang.EventObject;
-
-import java.util.LinkedList;
-
-/** The event queue singleton dispatches events received from OpenOffice.org
- applications in a thread separate from the AWB main thread.
-
- The queue of event objects, LinkedList<Runnable> The queue object will
- also serve as lock for the consumer/producer type syncronization.
-*/
-class EventQueue
- implements Runnable
-{
- public boolean mbVerbose = false;
- public boolean mbHandleDisposingEventsSynchronous = true;
-
- public synchronized static EventQueue Instance ()
- {
- if (maInstance == null)
- maInstance = new EventQueue ();
- return maInstance;
- }
-
- public void addEvent (Runnable aEvent)
- {
- synchronized (maMonitor)
- {
- if (mbVerbose)
- System.out.println ("queing regular event " + aEvent);
- maRegularQueue.addLast (aEvent);
- maMonitor.notify ();
- }
- }
-
-
- public void addDisposingEvent (Runnable aEvent)
- {
- if (mbHandleDisposingEventsSynchronous)
- aEvent.run ();
- else
- synchronized (maMonitor)
- {
- if (mbVerbose)
- System.out.println ("queing disposing event " + aEvent);
- maDisposingQueue.addLast (aEvent);
- maMonitor.notify ();
- }
- }
-
-
- private EventQueue ()
- {
- maMonitor = new Boolean (true);
- maRegularQueue = new LinkedList();
- maDisposingQueue = new LinkedList();
- new Thread(this, "AWB.EventQueue").start();
- }
-
-
- /// This thread's main method: deliver all events
- public void run()
- {
- // in an infinite loop, check for events to deliver, then
- // wait on lock (which will be notified when new events arrive)
- while( true )
- {
- Runnable aEvent = null;
- do
- {
- synchronized (maMonitor)
- {
- if (maDisposingQueue.size() > 0)
- {
- aEvent = (Runnable)maDisposingQueue.removeFirst();
- if (mbVerbose)
- System.out.println ("delivering disposing event " + aEvent);
- }
- else if (maRegularQueue.size() > 0)
- {
- aEvent = (Runnable)maRegularQueue.removeFirst();
- if (mbVerbose)
- System.out.println ("delivering regular event " + aEvent);
- }
- else
- aEvent = null;
- }
- if (aEvent != null)
- {
- try
- {
- aEvent.run();
- }
- catch( Throwable e )
- {
- System.out.println(
- "caught exception during event delivery: " + e );
- e.printStackTrace();
- }
- }
- }
- while( aEvent != null );
-
- try
- {
- synchronized (maMonitor)
- {
- maMonitor.wait();
- }
- }
- catch (Exception e)
- {
- // can't wait? odd!
- System.err.println("Can't wait!");
- e.printStackTrace();
- }
- }
- }
-
- private static EventQueue maInstance = null;
- private Object maMonitor;
- private LinkedList maRegularQueue;
- private LinkedList maDisposingQueue;
-}
-
-