Class type Widget.signal

class type ['a] signal = object .. end

method fire : 'a -> unit
Emits the signal to all connected listeners, if enabled and not locked. The signal itself is locked during the execution of listeners, breaking any circularity.
method set_enabled : bool -> unit
Turns emission of signals on or off.
method lock : (unit -> unit) -> unit
If not locked, lock and execute the continuation and finally release the lock.
method connect : ('a -> unit) -> unit
connect f calls f s on each signal s.
method on_check : 'a -> (bool -> unit) -> unit
on_check v fires a boolean signal (s=v) on signal s.
method on_value : 'a -> (unit -> unit) -> unit
on_value v fires a unit signal on signal s when s=v.
method on_event : (unit -> unit) -> unit
on_event fires a unit signal on any signal.