sub_arctic.constraints
Interface value_provider

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_provider

An interface for objects that provide 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_provider objects can maintain several values (parts) which are selected via a unique integer designator. Value_providers are responsible for notifying a set of value_consumer objects that have registered interest whenever one of these values changes.


Method Summary
 void attach_dependent(int on_part_num, value_consumer dep_obj, int dep_part)
          Register something as interested in (dependent on) one of the parts of this object.
 void detach_dependent(int on_part_num, value_consumer dep_obj, int dep_part)
          Remove an (object,part) pair from the dependent (interested in) list.
 java.lang.Object get_value(int part_number)
          Get an up-to-date copy of (or reference to) a particular value.
 

Method Detail

get_value

public java.lang.Object get_value(int part_number)
Get an up-to-date copy of (or reference to) a particular value. All values must be Objects. If you need to pass a builtin type (e.g., int), use the corresponding Object form (e.g., Integer).

Parameters:
int - part_number the part number whose value is being requested.
Returns:
Object an object holding the up-to-date value of that part.

attach_dependent

public void attach_dependent(int on_part_num,
                             value_consumer dep_obj,
                             int dep_part)
Register something as interested in (dependent on) one of the parts of this object. The entity registered is a part within a value_consumer object. Whenever a value represented by this part of this value_provider changes (or might change), the value_ood() method must be invoked on each currently registered (object,part).

Parameters:
int - on_part_num number of our part.
value_consumer - dep_obj the object that uses that part.
int - dep_part the part within that object that uses our part.

detach_dependent

public void detach_dependent(int on_part_num,
                             value_consumer dep_obj,
                             int dep_part)
Remove an (object,part) pair from the dependent (interested in) list.

Parameters:
int - on_part_num number of our part.
value_consumer - dep_obj the object that formerly used that part.
int - dep_part the part within that object that formerly used our part.