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.
 

Method Detail

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.