|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
This interface provides the API for all interactive objects that appear on the screen and/or accept input. Currently all interactor objects in the system are implemented by subclasses of the base_interactor class. See that class for addition common methods and for information about defaults.
The API for interactors covers basic capabilities in 11 areas:
Note: due to limitations on some (most?) platforms that do not allow for protected methods in interfaces, a number of routines here (and in the interactor interface) that should be protected, are currently public. These are marked by comments in the code, and will be reverted to protected as soon as enough platforms allow.
Fields inherited from class sub_arctic.constraints.std_constraint_consts |
FIRST_CHILD,
LAST_CHILD,
MAX_CHILD,
MIN_CHILD,
NEXT_SIBLING,
NO_CONSTRAINT,
OTHER,
PARENT,
PREV_SIBLING,
SELF,
ZERO |
Method Summary | |
int |
active_constraints()
Indicate which parts (coordinates/sizes/values) of this object are currently constrained. |
void |
add_child(interactor chld)
Add a child to the end of the child list. |
void |
add_user_datum(java.lang.Object datum)
Adds a data item to the collection of data items that we are holding for the user of this interactor. |
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 (X, Y, W, H, VISIBLE, ENABLED, PART_A, or PART_B) of this object. |
java.awt.Rectangle |
bound()
Bounding rectangle of the object (in parent's coordinate system). |
int |
child_index()
Return the child index of this interactor (within its parent). |
interactor |
child(int i)
Return the child at the given index int the child list (whose first element is at index 0). |
void |
configure()
Do the constraint evaluation necessary to make sure all visible objects in the subtree rooted at this object have up-to-date bounds (and other information) prior to drawing. |
boolean |
constraint_flag_is_set(int mask_value)
Determine if a particular bit (or bits) is set in the constraint_flag set for the interactor. |
constraint |
constraint_on(int coord_code)
Return a constraint object representing the constraint (if any) attached to the specified part (X, Y, W, H, VISIBLE, ENABLED, PART_A, or PART_B). |
int |
custom_fun1(int val1,
int const_val)
A custom function accessible in the constraint system. |
int |
custom_fun2(int val1,
int val2,
int const_val)
A custom function accessible in the constraint system. |
void |
damage_from_child(interactor originator,
java.lang.Object user_info,
java.awt.Point top_left,
java.awt.Dimension sz)
Indicate that a change to a child (or grandchild, etc.) affects the given screen region (expressed in the coordinates of this object). |
void |
damage_self()
Indicate that the object has been modified in such as way that any or all of its appearance may change and its area of the screen needs to be redrawn. |
void |
damage_self(interactor originator,
java.lang.Object user_info,
java.awt.Point top_left,
java.awt.Dimension sz)
Indicate that the object has been modified in such as way that its appearance within the given area of the screen (expressed in local coordinates) might change and needs to be redrawn. |
void |
damage_self(int left,
int top,
int wid,
int hi)
Indicate that the object has been modified in such as way that its appearance within the given area of the screen (expressed in local coordinates) might change and needs to be redrawn. |
void |
damage_self(java.lang.Object user_info)
Indicate that the object has been modified in such as way that any or all of its appearance may change and its area of the screen needs to be redrawn. |
void |
damage_self(java.awt.Point top_left,
java.awt.Dimension sz)
Indicate that the object has been modified in such as way that its appearance within the given area of the screen (expressed in local coordinates) might change and needs to be redrawn. |
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 associated with a particular part of this object. |
void |
do_action(event evt)
Perform the default or primary actions associated with this interactor. |
void |
do_action(int action_num,
event evt,
java.lang.Object parm)
Perform one of the actions associated with this interactor. |
int |
drag_feature_point()
Indicate the current "feature point" of an object. |
void |
draw_self(drawable d)
Draw the object's current appearance. |
constraint |
enabled_constraint()
Return a constraint object representing the constraint (if any) attached to enabled. |
boolean |
enabled()
Indicate if object is enabled. |
void |
eval_enabled()
Bring enabled up to date with respect to any defining constraint. |
void |
eval_h()
Bring h up to date with respect to any defining constraint. |
void |
eval_part_a()
Bring part_a up to date with respect to any defining constraint. |
void |
eval_part_b()
Bring part_b up to date with respect to any defining constraint. |
void |
eval_visible()
Bring visible up to date with respect to any defining constraint. |
void |
eval_w()
Bring w up to date with respect to any defining constraint. |
void |
eval_x()
Bring x up to date with respect to any defining constraint. |
void |
eval_y()
Bring y up to date with respect to any defining constraint. |
void |
eval(int coord_code)
Bring the indicated value up to date with respect to any defining constraints. |
boolean |
feature_point_enabled(int indx)
Indicate whether the indicated "feature point" of an object is considered to be enabled. |
java.awt.Point |
feature_point(int indx)
Access to the "feature points" of an object (by index). |
int |
find_child(interactor the_child)
Find the given child in the child list and return its index. |
boolean |
fixed_children()
Indicate whether this interactor uses a fixed set of children. |
boolean |
flag_is_set(int mask_value)
Determine if a particular bit (or bits) is set in the flag set for the interactor. |
java.awt.Component |
get_awt_component()
Retrieve the AWT component that this sub_arctic object is drawn within. |
provider_part_ref |
get_external_constraint(int for_part)
Get the external value provider (if any) associated with the given part value (X, Y, W, H, VISIBLE, ENABLED, PART_A, or PART_B). |
int |
get_part(int what_code)
Get the specified component (X, Y, W, or H) or of object's geometry. |
top_level |
get_top_level()
Retrieve the top_level interactor (if any) that this object is installed (perhaps several levels down) under. |
java.lang.Object |
get_value(int part_number)
Get an up-to-date copy of a particular part value(X, Y, W, H, VISIBLE, ENABLED, PART_A, or PART_B). |
java.awt.Point |
global_to_local(int xv,
int yv)
Transform a point in global coordinate space (that is the coordinate system of the top_level object which roots the interactor tree this object is in) into the local space of the object. |
java.awt.Point |
global_to_local(java.awt.Point global_pt)
Transform a point in global coordinate space (that is the coordinate system of the top_level object which roots the interactor tree this object is in) into the local space of the object. |
constraint |
h_constraint()
Return a constraint object representing the constraint (if any) attached to h. |
int |
h()
Height of the object. |
boolean |
handle_cycle(int part_code)
Handle a cycle detected in constraints on a given part of this object. |
void |
inform_ood(int from_obj_type,
int from_part,
int nth_child)
Inform the object that the indicated part of a potentially related object is out-of-date (this is called from ood_inform_all()). |
void |
insert_child(int at_indx,
interactor chld)
Insert a child at the given location, moving current children at or after that index further down in the list. |
boolean |
inside_bounds(int pt_x,
int pt_y)
Determine if the given point (in the local coordinates of this object) is inside the extent of this object's normal bound. |
java.awt.Point |
into_local(int xv,
int yv)
Transform a point from parent's coordinate space to local coordinates of this object. |
java.awt.Point |
into_local(java.awt.Point parent_pt)
Transform a point from parent's coordinate space to local coordinates of this object. |
java.awt.Point |
into_parent(int xv,
int yv)
Transform a local point into the parent's coordinate space. |
java.awt.Point |
into_parent(java.awt.Point local_pt)
Transform a local point into the parent's coordinate space. |
int |
intrinsic_constraints()
Indicate which parts (coordinates/sizes/values) of this object are intrinsically constrained by the internals of the object. |
boolean |
is_constrained(int coord_code)
Indicate whether a specific part is currently constrained. |
java.awt.Point |
local_to_global(int xv,
int yv)
Transform a point in the local coordinate space into the global space (that is the coordinate system of the top_level object which roots the interactor tree this object is in). |
java.awt.Point |
local_to_global(java.awt.Point local_pt)
Transform a point in the local coordinate space into the global space (that is the coordinate system of the top_level object which roots the interactor tree this object is in). |
void |
mark_all_ood()
Mark all geometric parts of this object out of date. |
void |
mark_enabled_ood()
Mark enabled value and anything that directly or indirectly depends on it as out-of-date. |
void |
mark_h_ood()
Mark h value and anything that directly or indirectly depends on it as out-of-date. |
void |
mark_ood(int coord_code)
Mark the given value as out of date. |
void |
mark_part_a_ood()
Mark part_a value and anything that directly or indirectly depends on it as out-of-date. |
void |
mark_part_b_ood()
Mark part_b value and anything that directly or indirectly depends on it as out-of-date. |
void |
mark_reparented_ood()
Mark all our geometric parts out-of-date and tell all potentially dependent objects that all our parts are out-of-date (this gets done when we move around in the hierarchy). |
void |
mark_visible_ood()
Mark visible value and anything that directly or indirectly depends on it as out-of-date. |
void |
mark_w_ood()
Mark w value and anything that directly or indirectly depends on it as out-of-date. |
void |
mark_x_ood()
Mark x value and anything that directly or indirectly depends on it as out-of-date. |
void |
mark_y_ood()
Mark y value and anything that directly or indirectly depends on it as out-of-date. |
int |
marked_ood()
Indicate which values are currently marked as potentially out of date with respect to their constraints. |
void |
move_child_downward(int chld_indx)
Move the child currently at the given index in the child list down one position in drawing order (which is one position earlier in the list). |
void |
move_child_downward(interactor the_child)
Move the given child down one position in drawing order of the child list (which is earlier in the list). |
void |
move_child_to_bottom(int chld_indx)
Move the child currently at the given index in the child list to the bottom in drawing order (which is first in the list). |
void |
move_child_to_bottom(interactor the_child)
Move the given child to the bottom of the child list in drawing order (which is first in the list). |
void |
move_child_to_top(int chld_indx)
Move the child currently at the given index in the child list to the top in drawing order (which is last in the list). |
void |
move_child_to_top(interactor the_child)
Move the given child to the top of the child list in drawing order (which is last in the list). |
void |
move_child_upward(int chld_indx)
Move the child currently at the given index in the child list up one position in drawing order (which is one position further into the list). |
void |
move_child_upward(interactor the_child)
Move the given child up one position in drawing order of the child list (which is later in the list). |
void |
move_downward()
Move this object one position lower in its parent's drawing order (which is one position earlier in its child list). |
void |
move_to_bottom()
Move this object to the bottom of its parent's drawing order (first in its child list). |
void |
move_to_top()
Move this object to the top of its parent's drawing order (last in its child list). |
void |
move_upward()
Move this object one position higher in its parent's drawing order (which is one position further into its child list). |
interactor |
next_sibling()
Return the next sibling of this object (or null if there is none). |
int |
num_actions()
Number of actions supported by do_action(). |
int |
num_children()
Indicate the number of children this interactor currently has. |
int |
num_feature_points()
The number of "feature points" of an object. |
interactor |
parent()
Return the parent of this interactor. |
constraint |
part_a_constraint()
Return a constraint object representing the constraint (if any) attached to part_a. |
int |
part_a()
Return the value of part_a. |
constraint |
part_b_constraint()
Return a constraint object representing the constraint (if any) attached to part_b. |
int |
part_b()
Return the value of part_b. |
void |
pick(int pt_x,
int pt_y,
pick_collector pick_list)
Determine if this object and/or any of its decedent objects is "picked" by the the given point. |
boolean |
picked_by(int pt_x,
int pt_y)
Determine if the given point (in the local coordinates of this object) is inside the extent of the object picking purposes. |
java.awt.Point |
pos()
Position of the top-left corner of this object in the parent coordinate system. |
interactor |
prev_sibling()
Return the previous sibling of this object (or null if there is none). |
interactor |
remove_child(int at_indx)
Remove the child found at the given index and return it. |
void |
remove_child(interactor the_child)
Remove the given child from the child list. |
boolean |
remove_user_datum(java.lang.Object datum)
Removes a data item from the collection of data items that we are holding for the user of this interactor. |
void |
restyle(style new_style)
Force a restyle of the interactor under the given style. |
void |
set_child_index(int indx)
Set the child index of this interactor (within its parent). |
void |
set_child(int at_indx,
interactor chld)
Set the child at the given index replacing any child that was previously there. |
void |
set_constraint(int coord_code,
constraint a_constraint)
Establish a constraint on the given value (one of X, Y, W, H, VISIBLE, ENABLED, PART_A, or PART_B). |
void |
set_constraint(int code,
value_provider ext_obj,
int ext_part)
Establish an "external" or "heavyweight" constraint on the given value (one of X, Y, W, H, VISIBLE, ENABLED, PART_A, PART_B). |
void |
set_enabled_constraint(constraint a_constraint)
Establish a constraint on the enabled value of this object. |
void |
set_enabled_constraint(std_ext_constraint ext_cnstr)
Establish a standard external constraint on the enabled value of this object. |
void |
set_enabled_constraint(value_provider ext_obj,
int ext_part)
Establish an "external" or "heavyweight" constraint on the enabled value of this object. |
void |
set_enabled(boolean v)
Set the enabled status of the interactor. |
void |
set_h_constraint(constraint a_constraint)
Establish a constraint on the h value of this object. |
void |
set_h_constraint(std_ext_constraint ext_cnstr)
Establish a standard external constraint on the h value of this object. |
void |
set_h_constraint(value_provider ext_obj,
int ext_part)
Establish an "external" or "heavyweight" constraint on the h value of this object. |
void |
set_h(int v)
Set height of object. |
void |
set_parent(interactor par)
Set the parent of this interactor. |
void |
set_part_a_constraint(constraint a_constraint)
Establish a constraint on the part_a value of this object. |
void |
set_part_a_constraint(std_ext_constraint ext_cnstr)
Establish a standard external constraint on the part_a value of this object. |
void |
set_part_a_constraint(value_provider ext_obj,
int ext_part)
Establish an "external" or "heavyweight" constraint on the part_a value of this object. |
void |
set_part_a(int v)
Set part_a of object. |
void |
set_part_b_constraint(constraint a_constraint)
Establish a constraint on the part_b value of this object. |
void |
set_part_b_constraint(std_ext_constraint ext_cnstr)
Establish a standard external constraint on the part_b value of this object. |
void |
set_part_b_constraint(value_provider ext_obj,
int ext_part)
Establish an "external" or "heavyweight" constraint on the part_b value of this object. |
void |
set_part_b(int v)
Set part_b of object. |
void |
set_pos(int xv,
int yv)
Set position of this object in parent coordinate system. |
void |
set_pos(java.awt.Point p)
Set position of this object in parent coordinate system. |
void |
set_size(int wv,
int hv)
Set the size of the object. |
void |
set_style_lock(boolean lock_v)
Lock or unlock the style of this interactor. |
void |
set_user_info(java.lang.Object user_inf)
Set the uninterpreted "user information" that we are holding for the user of this object. |
void |
set_visible_constraint(constraint a_constraint)
Establish a constraint on the visible value of this object. |
void |
set_visible_constraint(std_ext_constraint ext_cnstr)
Establish a standard external constraint on the visible value of this object. |
void |
set_visible_constraint(value_provider ext_obj,
int ext_part)
Establish an "external" or "heavyweight" constraint on the visible value of this object. |
void |
set_visible(boolean v)
Set the visibility of the interactor. |
void |
set_w_constraint(constraint a_constraint)
Establish a constraint on the w value of this object. |
void |
set_w_constraint(std_ext_constraint ext_cnstr)
Establish a standard external constraint on the w value of this object. |
void |
set_w_constraint(value_provider ext_obj,
int ext_part)
Establish an "external" or "heavyweight" constraint on the w value of this object. |
void |
set_w(int v)
Set width of object. |
void |
set_x_constraint(constraint a_constraint)
Establish a constraint on the x value of this object. |
void |
set_x_constraint(std_ext_constraint ext_cnstr)
Establish a standard external constraint on the x value of this object. |
void |
set_x_constraint(value_provider ext_obj,
int ext_part)
Establish an "external" or "heavyweight" constraint on the x value of this object. |
void |
set_x(int v)
Set x component of position in parent coordinate system. |
void |
set_y_constraint(constraint a_constraint)
Establish a constraint on the y value of this object. |
void |
set_y_constraint(std_ext_constraint ext_cnstr)
Establish a standard external constraint on the y value of this object. |
void |
set_y_constraint(value_provider ext_obj,
int ext_part)
Establish an "external" or "heavyweight" constraint on the y value of this object. |
void |
set_y(int v)
Set y component of position in parent coordinate system. |
java.awt.Dimension |
size()
Size of the object. |
void |
style_change()
Inform the interactor and all of its descendents that the global current style has changed and that they may need to restyle themselves. |
boolean |
supports_children()
Indicate whether this interactor supports children. |
java.lang.String |
tag_str()
Convert to a small tag string which indicates the type of interactor along with a (hopefully unique) integer (its hashCode) that can be used to identify it during debugging. |
java.lang.String |
toString()
Convert to a human readable string. |
void |
traverse_and_collect(int traversal_kind,
int traversal_order,
interactor_pred inclusion_test,
interactor_pred continue_test,
traversal_xform xform_parent_to_child,
java.lang.Object parameters,
pick_collector collection_result)
Do a traversal of the interactor tree to collect nodes meeting some criteria (or perform actions on qualifying nodes). |
boolean |
trivial_reject(drawable d)
Do a trivial reject test that indicates whether the bounds of this object are entirely outside the clipping region of the given drawable object. |
java.util.Enumeration |
user_data()
Access to the collection of data items that we are holding for the user of this interactor. |
java.lang.Object |
user_info()
Access to uninterpreted "user information" that we are holding for the user of this object. |
void |
value_ood(int for_part_here,
value_provider prov_obj,
int prov_part)
Indicate that a part value (X, Y, W, H, VISIBLE, ENABLED, PART_A, or PART_B) with an external constraint attached should be marked out-of-date because something it depends on (externally) is out-of-date. |
constraint |
visible_constraint()
Return a constraint object representing the constraint (if any) attached to visible. |
boolean |
visible()
Indicate if the object considers itself visible. |
constraint |
w_constraint()
Return a constraint object representing the constraint (if any) attached to w. |
int |
w()
Width of the object. |
constraint |
x_constraint()
Return a constraint object representing the constraint (if any) attached to x. |
int |
x_into_local(int xv)
Transform an x value from parent's coordinate space to local coords. |
int |
x_into_parent(int xv)
Transform an x value form local coordinates into the parent's coordinate space. |
int |
x()
X position of the top-left corner of this object in the parent coordinate system. |
constraint |
y_constraint()
Return a constraint object representing the constraint (if any) attached to y. |
int |
y_into_local(int yv)
Transform an y value from parent's coordinate space to local coords. |
int |
y_into_parent(int yv)
Transform an y value form local coordinates into the parent's coordinate space. |
int |
y()
Y position of the top-left corner of this object in the parent coordinate system. |
Method Detail |
public java.awt.Point pos()
public int x()
public int y()
public java.awt.Dimension size()
public int w()
public int h()
public java.awt.Rectangle bound()
public boolean visible()
public boolean enabled()
Note: currently setting an object disabled will keep it from being picked by the normal picking mechanism. This will (normally) disable positional inputs and as a side effect most focus based input (unless the the object is already the focus). However, since enabled status was added after many of the core interactor classes were created, for the most part the interactors in the library do not yet properly reflect the enable/disable status in their visual appearance. This is an important deficiency which we hope to correct in future releases.
public int part_a()
interactor_with_parts
,
parent_with_parts
public int part_b()
interactor_with_parts
,
parent_with_parts
public int get_part(int what_code)
what_code
- part number whose value is being requested.public void set_pos(int xv, int yv)
int
- yv y coordinate of the position.int
- xv x coordinate of the position.public void set_pos(java.awt.Point p)
Point
- p the new position.public void set_x(int v)
int
- v the new value for x.public void set_y(int v)
int
- v the new value for y.public void set_size(int wv, int hv)
int
- wv the new value for w.int
- hv the new value for h.public void set_w(int v)
int
- v the new value for y.public void set_h(int v)
int
- v the new value for the height.public void set_visible(boolean v)
boolean
- v the new visibility status.public void set_enabled(boolean v)
boolean
- v new value of enabled.public void set_part_a(int v)
int
- v the new value for part_apublic void set_part_b(int v)
int
- v the new value for part_bpublic java.awt.Point local_to_global(int xv, int yv)
int
- xv x coordinate of point to transform.int
- yv y coordinate of point to transform.public java.awt.Point local_to_global(java.awt.Point local_pt)
Point
- local_pt point to transform.public java.awt.Point global_to_local(int xv, int yv)
int
- xv x coordinate of point to transform.int
- yv y coordinate of point to transform.public java.awt.Point global_to_local(java.awt.Point global_pt)
Point
- global_pt point to transform.public java.awt.Point into_local(int xv, int yv)
int
- xv x coordinate of point to transform.int
- yv y coordinate of point to transform.public java.awt.Point into_local(java.awt.Point parent_pt)
Point
- parent_pt point to transform.public int x_into_local(int xv)
int
- xv x coordinate of to transform.public int y_into_local(int yv)
int
- yv y coordinate of to transform.public java.awt.Point into_parent(java.awt.Point local_pt)
Point
- local_pt point to transform.public java.awt.Point into_parent(int xv, int yv)
int
- xv x coordinate of point to transform.int
- yv y coordinate of point to transform.public int x_into_parent(int xv)
int
- xv x coordinate of to transform.public int y_into_parent(int yv)
int
- yv y coordinate of to transform.public interactor parent()
public void set_parent(interactor par)
Warning: this method should be protected (but isn't since various implementations don't allow protected in interfaces). This method should not be invoked from "outside the system". Always use the normal child manipulation routines instead.
interactor
- par new parent for this object.public top_level get_top_level()
public java.awt.Component get_awt_component()
public int child_index()
public void set_child_index(int indx)
Warning: this method should be protected (but isn't since various implementations don't allow protected in interfaces). This method should not be invoked except from the within the normal child manipulation routines.Always use those routines instead.
int
- indx the new index of the child.public interactor prev_sibling()
public interactor next_sibling()
public boolean supports_children()
public boolean fixed_children()
public int num_children()
public interactor child(int i)
int
- i the index of the requested child.public void set_child(int at_indx, interactor chld)
int
- at_indx position in the child list to replace.interactor
- chld the child object to place at that position.public void add_child(interactor chld)
interactor
- chld the child to add.public void insert_child(int at_indx, interactor chld)
public interactor remove_child(int at_indx)
int
- at_indx the index to remove the child from.public void remove_child(interactor the_child)
interactor
- the_child the child to be removed.public int find_child(interactor the_child)
interactor
- the_child the child we are searching for.public void move_child_to_top(int chld_indx)
int
- chld_indx the index of the child to move.public void move_child_to_top(interactor the_child)
interactor
- the_child the child to move.public void move_child_to_bottom(int chld_indx)
int
- chld_indx the index of the child to move.public void move_child_to_bottom(interactor the_child)
interactor
- the_child the child to move.public void move_child_upward(int chld_indx)
int
- chld_indx the index of the child to move.public void move_child_upward(interactor the_child)
interactor
- the_child the child to move.public void move_child_downward(int chld_indx)
int
- chld_indx the index of the child to move.public void move_child_downward(interactor the_child)
interactor
- the_child the child to move.public void move_to_top()
public void move_to_bottom()
public void move_upward()
public void move_downward()
public int intrinsic_constraints()
public int active_constraints()
int
- bitset indicating which parts of the object are constrained.public boolean is_constrained(int coord_code)
int
- coord_code the object part we are enquiring about.public constraint constraint_on(int coord_code)
int
- coord_code the code for the object part in question.public constraint x_constraint()
public constraint y_constraint()
public constraint w_constraint()
public constraint h_constraint()
public constraint visible_constraint()
public constraint enabled_constraint()
public constraint part_a_constraint()
public constraint part_b_constraint()
public void set_constraint(int coord_code, constraint a_constraint)
int
- coord_code code for the part whose constraint we
replace.constraint
- a_constraint the constraint to replace it with.public void set_constraint(int code, value_provider ext_obj, int ext_part)
int
- coord_code code for the part whose constraint we
replace.constraint
- a_constraint the constraint to replace it with.public void set_x_constraint(constraint a_constraint)
constraint
- a_constraint the constraint to replace it with.public void set_x_constraint(value_provider ext_obj, int ext_part)
value_provider
- ext_obj the external object providing the value.int
- ext_part the part number of the part of that object
providing the value.public void set_x_constraint(std_ext_constraint ext_cnstr)
std_ext_constraint
- ext_cnstr the constraint to attach.public void set_y_constraint(constraint a_constraint)
constraint
- a_constraint the constraint to replace it with.public void set_y_constraint(value_provider ext_obj, int ext_part)
value_provider
- ext_obj the external object providing the value.int
- ext_part the part number of the part of that object
providing the value.public void set_y_constraint(std_ext_constraint ext_cnstr)
std_ext_constraint
- ext_cnstr the constraint to attach.public void set_w_constraint(constraint a_constraint)
constraint
- a_constraint the constraint to replace it with.public void set_w_constraint(value_provider ext_obj, int ext_part)
value_provider
- ext_obj the external object providing the value.int
- ext_part the part number of the part of that object
providing the value.public void set_w_constraint(std_ext_constraint ext_cnstr)
std_ext_constraint
- ext_cnstr the constraint to attach.public void set_h_constraint(constraint a_constraint)
constraint
- a_constraint the constraint to replace it with.public void set_h_constraint(value_provider ext_obj, int ext_part)
value_provider
- ext_obj the external object providing the value.int
- ext_part the part number of the part of that object
providing the value.public void set_h_constraint(std_ext_constraint ext_cnstr)
std_ext_constraint
- ext_cnstr the constraint to attach.public void set_visible_constraint(constraint a_constraint)
constraint
- a_constraint the constraint to replace it with.public void set_visible_constraint(value_provider ext_obj, int ext_part)
value_provider
- ext_obj the external object providing the value.int
- ext_part the part number of the part of that object
providing the value.public void set_visible_constraint(std_ext_constraint ext_cnstr)
std_ext_constraint
- ext_cnstr the constraint to attach.public void set_enabled_constraint(constraint a_constraint)
constraint
- a_constraint the constraint to replace it with.public void set_enabled_constraint(value_provider ext_obj, int ext_part)
value_provider
- ext_obj the external object providing the value.int
- ext_part the part number of the part of that object
providing the value.public void set_enabled_constraint(std_ext_constraint ext_cnstr)
std_ext_constraint
- ext_cnstr the constraint to attach.public void set_part_a_constraint(constraint a_constraint)
constraint
- a_constraint the constraint to replace it with.public void set_part_a_constraint(value_provider ext_obj, int ext_part)
value_provider
- ext_obj the external object providing the value.int
- ext_part the part number of the part of that object
providing the value.public void set_part_a_constraint(std_ext_constraint ext_cnstr)
std_ext_constraint
- ext_cnstr the constraint to attach.public void set_part_b_constraint(constraint a_constraint)
constraint
- a_constraint the constraint to replace it with.public void set_part_b_constraint(value_provider ext_obj, int ext_part)
value_provider
- ext_obj the external object providing the value.int
- ext_part the part number of the part of that object
providing the value.public void set_part_b_constraint(std_ext_constraint ext_cnstr)
std_ext_constraint
- ext_cnstr the constraint to attach.public int marked_ood()
public void mark_ood(int coord_code)
int
- the part to mark out-of-date. This should be one of the
values: X, Y, W, H, ENABLED, PART_A, or PART_B.public void mark_all_ood()
public void mark_x_ood()
public void mark_y_ood()
public void mark_w_ood()
public void mark_h_ood()
public void mark_visible_ood()
public void mark_enabled_ood()
public void mark_part_a_ood()
public void mark_part_b_ood()
public void mark_reparented_ood()
public void inform_ood(int from_obj_type, int from_part, int nth_child)
The nth_child parameter is used only if OBJCODE_SOME_CHILD is passed, in which case it indicates the index of the child in question. If parts of this object are actually dependent upon the given part they are marked out-of-date and the mark out-of-date traversal is continued recursively from them. If not, we do nothing.
int
- from_type the type of object we are being informed by (must be
one of OBJCODE_SELF, OBJCODE_PARENT,
OBJCODE_SOME_CHILD, OBJCODE_NEXT_SIBLING, or
OBJCODE_PREV_SIBLING).int
- from_part the part code of the part of that object which is
informing us that it is out-of-date.int
- nth_child if from_type is OBJCODE_SOME_CHILD, this parameter
indicates which child it is (otherwise it is ignored).public boolean handle_cycle(int part_code)
int
- part_code the part of this object that involves a cycle.manager.handle_cycle(sub_arctic.lib.interactor, int)
public void eval(int coord_code)
int
- coord_code the part whose value should be evaluated.public void eval_x()
public void eval_y()
public void eval_w()
public void eval_h()
public void eval_visible()
public void eval_enabled()
public void eval_part_a()
public void eval_part_b()
public provider_part_ref get_external_constraint(int for_part)
int
- for_part the part we are asking about.public java.lang.Object get_value(int part_number)
int
- part_number the part being requested.public int custom_fun1(int val1, int const_val)
Important note: for the constraint system to work correctly, this function must compute its value solely on its parameters and not access additional information from this object or other objects (since the attribute constrained to the result of this function will not hear about changes and be properly updated).
int
- val1 a value from a depended upon object.int
- const_val a constant value taken from the constraint.public int custom_fun2(int val1, int val2, int const_val)
Important note: for the constraint system to work correctly, this function must compute its value solely on its parameters and not access additional information from this object or other objects (since the attribute constrained to the result of this function will not hear about changes and be properly updated).
int
- val1 a value from a depended upon object.int
- val2 another value from a depended upon object.int
- const_val a constant value taken from the constraint.public void attach_dependent(int on_part_num, value_consumer dep_obj, int dep_part)
int
- on_part_num the part of this object that the
dependency is being attached to.value_consumer
- dep_obj the object that is dependent.int
- dep_part the part within that object which is
dependent.public void detach_dependent(int on_part_num, value_consumer dep_obj, int dep_part)
int
- on_part_num the part of this object that the
dependency is attached to.value_consumer
- dep_obj the object that was dependent.int
- dep_part the part within that object which was
dependent.public void value_ood(int for_part_here, value_provider prov_obj, int prov_part)
int
- for_part_here part within this object that should be
marked out-of-date.value_provider
- prov_obj object that we depend on.int
- prov_part part within that object that ispublic void configure()
Important note: In addition to the work done in the base_interactor class (which should almost always be done by invoking super() from any subclass implementations), each subclass should also be certain to update anything which could effect its bounds here, and not in draw_self_local(). So for example if the height of an object depends on a font that might have changed, the potentially new height must be computed and set here and not in draw_self_local(). In general, for things to work out right it must be the case that this object's bound is correct once this method returns. The reason for this is that by the time draw_self_local() is called, the clipping region corresponding to the bound of this object will have already been set and changing the bound then will not modify the clipping region accordingly (so the drawing may be incorrect).
public boolean inside_bounds(int pt_x, int pt_y)
int
- pt_x x coordinate of the query point.int
- pt_y y coordinate of the query point.picked_by(int, int)
public boolean picked_by(int pt_x, int pt_y)
int
- pt_x x coordinate of the query point.int
- pt_y y coordinate of the query point.inside_bounds(int, int)
public void pick(int pt_x, int pt_y, pick_collector pick_list)
This method is also responsible for recursively invoking itself as appropriate for its children (this is usually done using the base_interactor.pick_within_children() utility routine). By default we pick against any children first (since they are by default drawn last) and then this object. However, if the drawing order is changed from the default, this method must be changed to reflect (the reverse of) that non-standard order. For example, if this object does drawing both under and on top of its children, two sets of part specific tests would typically be needed, one before recursively picking the children, and one after.
int
- pt_x x coordinate of the query point.int
- pt_y y coordinate of the query point.pick_collector
- pick_list object that collects and returns pick
results.base_interactor.pick_within_children(int, int, sub_arctic.input.pick_collector)
public int num_actions()
do_action(int, sub_arctic.input.event, java.lang.Object)
public void do_action(int action_num, event evt, java.lang.Object parm)
int
- action_num which action type this is (the
interpretation of this value is subclass
dependent. 0 is always interpreted as
the primary or default action of this
interactor.event
- evt the event which "caused" the action.Object
- parm additional information to serve as a
parameter to the action (the exact type
of this information is determined by the
subclass).#do_callback
public void do_action(event evt)
event
- evt the event which "caused" the action.#do_callback
public void traverse_and_collect(int traversal_kind, int traversal_order, interactor_pred inclusion_test, interactor_pred continue_test, traversal_xform xform_parent_to_child, java.lang.Object parameters, pick_collector collection_result)
Examples of possible traversals include:
Replacement for the normal pick operation:
traverse_and_collect(pick_trav, TRAV_DRAW, pt_inside_bounds, pt_inside_bounds, coord_parent_to_local, pick_pt, result);and a tree dump:
traverse_and_collect(dump_trav, TRAV_PRE, dump_interactor, incr_int, null, new Integer(0), result)where dump_interactor printed to the node to System.out at the indentation level of its Integer parameter, but always returns false
traversal_kind
- a unique integer (i.e., generated by
manager.unique_int()) that represents the kind
of traversal being performed.traversal_order
- one of TRAV_DRAW, TRAV_PICK, TRAV_PRE, or
TRAV_POST indicating drawing order, pick order,
left-to-right pre-order, or left-to-right
post-order traversal.inclusion_test
- an interactor predicate object which is to
perform the inclusion test for this traversal.
If the traversal is being done for its action
side-effects (rather than a collection, per se)
then this object's test() method should perform
that action on selected nodes. A null
inclusion_test is treated as a function that
selects everything (always returns true).continue_test
- an interactor_predicate object which determines
if the given object's children are traversed.
If this method returns false, then the children
will not be visited. A null continue_test is
is treated as a function that always returns
true.xform_parent_to_child
- object containing a method to transform the
parameters data (passed to the inclusion_test)
from its parent condition to the condition
suitable for use by a given child. This can
be used, for example, to transform a point from
the parent's coordinates into those of a child.
A null object is treated as the identity
transformation (i.e. uses the parent's
parameters directly for all children).parameters
- the initial parameters data passed to the
inclusion_test at the root, then transformed by
xform_parent_to_child for recursive calls on
children.collection_result
- a pick_collector object which holds a list of
interactors collected by this traversal (and
optional associated data). If an object
determines that it should be a part of the
collection of this traversal, it should add
itself to this collection by calling its
report_pick() method.public boolean flag_is_set(int mask_value)
int
- mask_value the flag bit or bits we are enquiring about.interactor_consts
public boolean constraint_flag_is_set(int mask_value)
public boolean trivial_reject(drawable d)
drawable
- d the drawable whose current clipping we are
testing against.Rectangle
- bounding_box the bounding box we are comparing that with.draw_self(sub_arctic.output.drawable)
public void draw_self(drawable d)
drawable
- parent_d a drawable (still set up for the parent) to
produce output on.base_interactor.draw_self_local(sub_arctic.output.drawable)
public void damage_self(java.awt.Point top_left, java.awt.Dimension sz)
Point
- top_left top left corner of the damaged rectangle.Dimension
- sz size of the damaged rectangle.public void damage_self(int left, int top, int wid, int hi)
int
- left left edge of the damaged rectangle.int
- top top edge of the damaged rectangle.int
- wid width of the damaged rectangle.int
- hi height of the damaged rectangle.public void damage_self()
public void damage_from_child(interactor originator, java.lang.Object user_info, java.awt.Point top_left, java.awt.Dimension sz)
interactor
- originator the interactor that caused the damage.Object
- user_info uninterpreted information supplied by
the originator at damage time.Point
- top_left top-left corner of child's damage area
(in our coordinate system).Dimension
- sz size of the damage area.public void damage_self(interactor originator, java.lang.Object user_info, java.awt.Point top_left, java.awt.Dimension sz)
This method does not update any attributes controlling size and position of this object or any other object up the parent chain, but instead uses existing values (reflecting the existing sizes and positions). If you need to damage this object's updated position, explicitly update it first.
interactor
- originator the interactor that caused the damage.Object
- user_info uninterpreted information supplied by
the originator at damage time.Point
- top_left top-left corner of child's damage area
(in our coordinate system).Dimension
- sz size of the damage area.public void damage_self(java.lang.Object user_info)
Object
- user_info uninterpreted information supplied by
the originator at damage time.public int num_feature_points()
Feature points are expressed in the local coordinates of the object in question. Objects by default provide 5 points corresponding to their corners and center. Constants representing indexes for these standard points are defined in interactor_consts. Additional points with specialized meanings may be provided by subclasses.
move_drag_focus_agent
,
move_draggable
,
move_drag_filter
,
std_drag_filters
,
snap_drag_agent
,
snap_draggable
,
snap_targetable
,
interactor_consts
public java.awt.Point feature_point(int indx)
Feature points are expressed in the local coordinates of the object in question. Objects by default provide 5 points corresponding to their corners and center. Constants representing indexes for these standard points are defined in interactor_consts. Additional points with specialized meanings may be provided by subclasses. If an index out of range is given the top-left corner (index FEATURE_TOP_LEFT which is always 0,0) is returned.
int
- indx the index of the requested feature point.move_drag_focus_agent
,
move_draggable
,
move_drag_filter
,
std_drag_filters
,
snap_drag_agent
,
snap_draggable
,
snap_targetable
,
interactor_consts
public boolean feature_point_enabled(int indx)
Feature points are expressed in the local coordinates of the object in question. Objects by default provide 5 points corresponding to their corners and center. Constants representing indexes for these standard points are defined in interactor_consts. Additional points with specialized meanings may be provided by subclasses.
By default all standard feature points are always enabled. If an index out of range is given false will always be returned.
int
- indx the index of the feature point in question.move_drag_focus_agent
,
move_draggable
,
move_drag_filter
,
std_drag_filters
,
snap_drag_agent
,
snap_draggable
,
snap_targetable
,
interactor_consts
public int drag_feature_point()
Note: this routine and the ones that use it ignore the enable status of the point as returned by feature_point_enabled(). This routine defaults to the top left corner of the object.
move_drag_focus_agent
,
move_draggable
,
move_drag_filter
,
std_drag_filters
,
interactor_consts
public java.util.Enumeration user_data()
add_user_datum(java.lang.Object)
,
remove_user_datum(java.lang.Object)
public void add_user_datum(java.lang.Object datum)
Object
- datum the data item to associate with this interactor.user_data()
,
remove_user_datum(java.lang.Object)
public boolean remove_user_datum(java.lang.Object datum)
Object
- datum the data item to remove from association with
this interactor.user_data()
,
add_user_datum(java.lang.Object)
public java.lang.Object user_info()
Note that only one "user information" object can be associated with an interactor. The "user data" methods maintain a collection of objects.
user_data()
,
add_user_datum(java.lang.Object)
,
,
set_user_info(java.lang.Object)
public void set_user_info(java.lang.Object user_inf)
Note that only one "user information" object can be associated with an interactor. The "user data" methods maintain a collection of objects.
Object
- user_inf the object to associate with this interactor.user_data()
,
add_user_datum(java.lang.Object)
,
,
user_info()
public void set_style_lock(boolean lock_v)
boolean
- lock_v new value of locked status (true == locked)public void style_change()
restyle(sub_arctic.style.style)
public void restyle(style new_style)
style
- new_style the style to put the interactor under.public java.lang.String toString()
public java.lang.String tag_str()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |