5.3.6
36.1 Notify-boxes
A notify-box contains a mutable cell. The notify-box notifies its
listeners when the contents of the cell is changed.
Creates a notify-box initially containing value.
Gets the value currently stored in the notify-box.
Updates the value stored in the notify-box and notifies the listeners.
Adds a callback to be invoked on the new value when the notify-box’s
contents change.
Removes a previously-added callback.
Removes all previously registered callbacks.
Creates a notify-box with an initial value of (proc). Unless
readonly? is true, proc is invoked on the new value
when the notify-box is updated.
Useful for tying a notify-box to a preference or parameter. Of course,
changes made directly to the underlying parameter or state are not
reflected in the notify-box.
Class-body form. Declares
name as a field and
get-name,
set-name,
and
listen-name as methods that delegate to
the
get,
set, and
listen methods of
value.
The value-expr argument must evaluate to a notify-box, not
just the initial contents for a notify box.
Useful for aggregating many notify-boxes together into one
“configuration” object.
Creates a
checkable-menu-item% tied to
notify-box. The menu item is
checked whenever
(send notify-box get) is true. Clicking the
menu item toggles the value of
notify-box and invokes its listeners.
Creates a
check-box% tied to
notify-box. The
check-box is checked whenever
(send notify-box get) is
true. Clicking the check box toggles the value of
notify-box
and invokes its listeners.
Creates a
choice% tied to
notify-box. The choice
control has the value
(send notify-box get) selected, and
selecting a different choice updates
notify-box and invokes
its listeners.
If the value of notify-box is not in choices, either
initially or upon an update, an error is raised.
Returns a list of
checkable-menu-item% controls tied to
notify-box. A menu item is checked when its label is
(send notify-box get). Clicking a menu item updates
notify-box to its label and invokes
notify-box’s
listeners.