home *** CD-ROM | disk | FTP | other *** search
/ PC-X 1997 June / pcx11_9706.iso / shutils / internet / browser / p32e40b5.exe / nav40.z / java40.jar / netscape / applet / EventQueue.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-05-23  |  2.0 KB  |  80 lines

  1. package netscape.applet;
  2.  
  3. import sun.awt.ObjectPeer;
  4.  
  5. public class EventQueue {
  6.    AppletEvent appletEventList = new AppletEvent(-1);
  7.    int eventsCount = 0;
  8.    static final int MAX_EVENTS_NUMBER = 400;
  9.  
  10.    public synchronized void sendEvent(int var1) {
  11.       AppletEvent var2 = new AppletEvent(var1);
  12.       this.appletEventList.appendElement(var2);
  13.       this.notifyAll();
  14.    }
  15.  
  16.    public synchronized void sendGUIEvent(GUIEvent var1) {
  17.       if (this.eventsCount <= 400) {
  18.          this.appletEventList.appendElement(var1);
  19.          ++this.eventsCount;
  20.          this.notifyAll();
  21.       }
  22.  
  23.    }
  24.  
  25.    public synchronized AppletEvent getNextEvent() {
  26.       Object var1 = null;
  27.  
  28.       try {
  29.          while(this.appletEventList.isEmptyList()) {
  30.             this.wait();
  31.          }
  32.  
  33.          AppletEvent var4 = (AppletEvent)this.appletEventList.next;
  34.          ((DoubleLinkedList)var4).remove();
  35.          --this.eventsCount;
  36.          return var4;
  37.       } catch (Exception var3) {
  38.          System.out.println("Exception occurred: " + ((Throwable)var3).toString());
  39.          System.out.println("Returning null event");
  40.          return (AppletEvent)var1;
  41.       }
  42.    }
  43.  
  44.    public synchronized int getQueueSize() {
  45.       return this.eventsCount;
  46.    }
  47.  
  48.    public synchronized void setQueueSize(int var1) {
  49.       this.eventsCount = var1;
  50.    }
  51.  
  52.    public synchronized void removeEventsForObject(ObjectPeer var1) {
  53.       if (!this.appletEventList.isEmptyList()) {
  54.          for(AppletEvent var3 = (AppletEvent)this.appletEventList.next; var3 != this.appletEventList && var3.eventId == 20; var3 = (AppletEvent)var3.next) {
  55.             GUIEvent var2 = (GUIEvent)var3;
  56.             if (var2.isEventForObject(var1)) {
  57.                ((DoubleLinkedList)var2).remove();
  58.                --this.eventsCount;
  59.             }
  60.          }
  61.       }
  62.  
  63.    }
  64.  
  65.    public synchronized void colasceEvent(GUIEvent var1) {
  66.       if (!this.appletEventList.isEmptyList()) {
  67.          for(AppletEvent var3 = (AppletEvent)this.appletEventList.next; var3 != this.appletEventList && var3.eventId == 20; var3 = (AppletEvent)var3.next) {
  68.             GUIEvent var2 = (GUIEvent)var3;
  69.             if (var1.isEqual(var2)) {
  70.                var1.combineEvent(var2);
  71.                ((DoubleLinkedList)var2).remove();
  72.                --this.eventsCount;
  73.                return;
  74.             }
  75.          }
  76.       }
  77.  
  78.    }
  79. }
  80.