diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2003-03-27 16:05:12 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2003-03-27 16:05:12 +0000 |
commit | fd2cf3dc7cd9c73070fa4d70c8ca99c9fc1ce135 (patch) | |
tree | 9569a564e06fba817528ea414129b4074d83cb61 /toolkit/test/accessibility/EventQueue.java | |
parent | ff09f8d6ef2c613037f039dbcafcad6b76243a48 (diff) |
MWS_SRX644: migrate branch mws_srx644 -> HEAD
Diffstat (limited to 'toolkit/test/accessibility/EventQueue.java')
-rw-r--r-- | toolkit/test/accessibility/EventQueue.java | 126 |
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; -} - - |