Mercurial > gui
view changePoller.urs @ 14:0827320b0f04
Write calendarCtl in terms of a source with a listener.
author | Karn Kallio <kkallio@eka> |
---|---|
date | Fri, 05 Aug 2011 18:55:24 -0430 |
parents | |
children |
line wrap: on
line source
(* A source which can poll for changes and call an action on the new value * when one is found. *) con changePoller :: Type -> Type (* The type of pollers over the given type. *) val create : t ::: Type -> eq t -> t -> transaction (changePoller t) (* From an initial value get a poller. *) val addChangeListener : t ::: Type -> eq t -> (t -> transaction unit) -> int -> changePoller t -> transaction unit (* Add an action to run on changed values with a polling period given by the int. *) val ctl : t ::: Type -> changePoller t -> source t (* Get a source to control or set the current value. *) val value : t ::: Type -> changePoller t -> signal t (* A signal holding the current value. *)