Changeset 3
- Timestamp:
- 06/17/05 16:00:06 (4 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/net/schst/EventDispatcher/EventDispatcher.java
r1 r3 14 14 public class EventDispatcher { 15 15 16 /** 16 /** 17 17 * Stores all listeners 18 18 */ 19 19 private HashMap listeners = new HashMap(); 20 21 /** 22 * Stores global listeners, that handle all events 23 */ 24 private EventListenerCollection globalListeners = new EventListenerCollection(); 20 25 21 26 /** … … 37 42 */ 38 43 public static EventDispatcher getInstance() { 39 return EventDispatcher.getInstance(" default");44 return EventDispatcher.getInstance("__default"); 40 45 } 41 46 … … 63 68 this.addListener(eventName, listener, false); 64 69 } 65 70 66 71 /** 67 72 * Add an event listener object … … 90 95 91 96 /** 97 * Add an event listener object 98 * 99 * @param eventName name of the event to listen on 100 * @param listener instance of the event listener 101 */ 102 public void addGlobalListener(EventListener listener) { 103 this.addGlobalListener(listener, false); 104 } 105 106 /** 107 * Add an event listener object 108 * 109 * @param eventName name of the event to listen on 110 * @param listener instance of the event listener 111 * @param autoRemove whether to remove the listener after the first event it has handled 112 */ 113 public void addGlobalListener(EventListener listener, boolean autoRemove) { 114 // TODO implement autoRemove 115 116 this.globalListeners.addListener(listener); 117 118 // check the event queue 119 ArrayList events = this.queue.getQueuedEvents(); 120 121 for (Iterator iter = events.iterator(); iter.hasNext();) { 122 Event e = (Event)iter.next(); 123 this.propagate(e, false); 124 } 125 } 126 127 /** 92 128 * Trigger an event, if you already created an event object 93 129 * … … 100 136 return this.propagate(e, false); 101 137 } 102 138 139 103 140 /** 104 141 * Trigger an event, if you already created an event object … … 176 213 col.propagate(e); 177 214 } 215 216 if (e.isCancelled()) { 217 return e; 218 } 219 220 this.globalListeners.propagate(e); 178 221 179 222 if (e.isCancelled() || queue == false) { trunk/src/net/schst/EventDispatcher/Examples/DebugHandler.java
r1 r3 9 9 public class DebugHandler implements EventListener{ 10 10 11 private String name = "No-Name"; 12 13 public DebugHandler() { 14 } 15 16 public DebugHandler(String name) { 17 this.name = name; 18 } 19 11 20 /** 12 21 * Handle the event 13 22 */ 14 23 public void handleEvent(Event e) { 15 System.out.println("Event has been triggered.");24 System.out.println("Event caught by '" + this.name + "'"); 16 25 System.out.println("Event-name : " + e.getName()); 17 26 System.out.println("Event-context : " + e.getContext());
