blob: 119ca6d954d434da7524b62605f2cb21d5a14bfc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2007-2010, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
\* */
// $Id$
package scala.swing
/**
* The counterpart to publishers. Listens to events from registered publishers.
*/
trait Reactor {
/**
* All reactions of this reactor.
*/
val reactions: Reactions = new Reactions.Impl
/**
* Listen to the given publisher as long as <code>deafTo</code> isn't called for
* them.
*/
def listenTo(ps: Publisher*) = for (p <- ps) p.subscribe(reactions)
/**
* Installed reaction won't receive events from the given publisher anylonger.
*/
def deafTo(ps: Publisher*) = for (p <- ps) p.unsubscribe(reactions)
}
|