Changeset 10
- Timestamp:
- 06/21/05 15:42:14 (4 years ago)
- Files:
-
- trunk/src/net/schst/EventDispatcher/EventDispatcher.java (modified) (2 diffs)
- trunk/src/net/schst/EventDispatcher/EventListenerCollection.java (modified) (3 diffs)
- trunk/src/net/schst/EventDispatcher/Examples/DebugHandler.java (modified) (1 diff)
- trunk/src/net/schst/EventDispatcher/Examples/ExampleRemove.java (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/net/schst/EventDispatcher/EventDispatcher.java
r4 r10 92 92 } 93 93 94 /** 95 * Remove an event listener 96 * 97 * @param eventName name of the event 98 * @param listener the event listener object 99 * @return true, if the listener could be removed, false otherwise 100 */ 101 public boolean removeEventListener(String eventName, EventListener listener) { 102 if (!this.listeners.containsKey(eventName)) { 103 return false; 104 } 105 EventListenerCollection collection = (EventListenerCollection)this.listeners.get(eventName); 106 EventListenerContainer container = (EventListenerContainer)collection.removeListener(listener); 107 if (container == null) { 108 return false; 109 } 110 return true; 111 } 112 94 113 /** 95 114 * Add an event listener object … … 110 129 */ 111 130 public void addGlobalListener(EventListener listener, boolean autoRemove) { 112 // TODO implement autoRemove113 114 131 this.globalListeners.addListener(listener, autoRemove); 115 132 trunk/src/net/schst/EventDispatcher/EventListenerCollection.java
r4 r10 3 3 import java.util.ArrayList; 4 4 import java.util.Iterator; 5 6 import net.schst.EventDispatcher.Examples.DebugHandler; 5 7 6 8 /** … … 54 56 for (Iterator iter = remove.iterator(); iter.hasNext();) { 55 57 Integer index = (Integer) iter.next(); 56 this.removeListener(index );58 this.removeListener(index.intValue()); 57 59 } 58 60 return e; … … 62 64 * Remove a listener from the list 63 65 * 64 * @param i 66 * @param index index of the event listener 65 67 * @return 66 68 */ 67 public EventListenerContainer removeListener( Integer i) {68 return (EventListenerContainer)this.listeners.remove(i .intValue());69 public EventListenerContainer removeListener(int index) { 70 return (EventListenerContainer)this.listeners.remove(index); 69 71 } 70 72 73 /** 74 * Remove a listener from the list 75 * 76 * If a listener has been added more the once, only the 77 * first listener is removed 78 * 79 * @param listener listener to remove 80 * @return 81 */ 82 public EventListenerContainer removeListener(EventListener listener) { 83 for (Iterator iter = this.listeners.iterator(); iter.hasNext();) { 84 EventListenerContainer container = (EventListenerContainer) iter.next(); 85 if (container.getListener().equals(listener)) { 86 this.listeners.remove(container); 87 return container; 88 } 89 } 90 return null; 91 } 71 92 } trunk/src/net/schst/EventDispatcher/Examples/DebugHandler.java
r3 r10 28 28 System.out.println(); 29 29 } 30 31 /** 32 * Get the name of the handler 33 * 34 * @return 35 */ 36 public String getName() { 37 return this.name; 38 } 39 30 40 }
