sub_arctic.constraints
Interface value_consumer
- All Known Subinterfaces:
- grow_draggable, grow_press_draggable, inout_draggable, inout_press_draggable, interactor, list_element, menu_focusable, menu_notifier, move_draggable, move_press_draggable, simple_draggable, simple_press_draggable, snap_draggable, snap_targetable
- All Known Implementing Classes:
- external_constraint
- public abstract interface value_consumer
An interface for objects that receive (consume) values within the
"external value" system. This system bridges the lightweight constraint
system to external entities -- either to non-local dependents, to
heavyweight constraints, or to "application" objects. Value_consumer
objects may maintain several parts (each with a unique integer designator).
Each of these parts may be dependent on (or interested in) one or more
parts of various value_provider objects. Value_consumer objects register
themselves with value_value_provider objects using the attach_dependent()
method. Subsequently, they relieve value_ood() messages whenever the
value in question changes (or might have changed). At an appropriate
point, the consumer object may then use the get_value() method to retrieve
an updated value.
Method Summary |
void |
value_ood(int for_part_here,
value_provider prov_obj,
int prov_part)
Indicate that a value (a part of a value_provider object) has, or might
have, changed value. |
value_ood
public void value_ood(int for_part_here,
value_provider prov_obj,
int prov_part)
- Indicate that a value (a part of a value_provider object) has, or might
have, changed value. This object can use the get_value() method to
retrieve the updated value. However, this method should not immediately
request that value. Instead it must wait until all marking is complete.
Inside the constraint system this is handled by waiting for the value to
be demanded. In other circumstances this may require a request for
evaluation to be queued elsewhere.
- Parameters:
int
- for_part_here the part number within this object
being informed that it may be out of
date.value_provider
- prov_obj the object providing the value that
may have changed.int
- prov_part the part number within that object
which have changed value.