changeset 34318 | c13e168a8ae6 |
child 34407 | aad6834ba380 |
-1:000000000000 | 34318:c13e168a8ae6 |
---|---|
1 package isabelle.utils |
|
2 |
|
3 import scala.collection.mutable.HashSet |
|
4 |
|
5 class EventSource[Event] { |
|
6 private val handlers = new HashSet[(Event) => Unit]() |
|
7 |
|
8 def add(handler : (Event) => Unit) { handlers += handler } |
|
9 def remove(handler : (Event) => Unit) { handlers -= handler } |
|
10 |
|
11 def fire(event : Event) { for(h <- handlers) h(event) } |
|
12 } |