sub_arctic.lib
Class hierarchy_parent

java.lang.Object
  |
  +--sub_arctic.lib.min_interactor
        |
        +--sub_arctic.lib.base_interactor
              |
              +--sub_arctic.lib.base_parent_interactor
                    |
                    +--sub_arctic.lib.hierarchy_parent

public class hierarchy_parent
extends base_parent_interactor
implements clickable


Field Summary
protected  int _indent_spacing
          This holds the amount that children in the hierarchy are indented.
protected  boolean _is_open
          Keep track if we are open.
protected  interactor _special_child
          We need to know if we are handling the first child management.
 
Fields inherited from class sub_arctic.lib.base_interactor
_child_index, _child_list, _clip_bounds, _constraint_flags, _enabled_constraint, _flags, _h, _h_constraint, _parent, _part_a_constraint, _part_b_constraint, _user_data, _visible_constraint, _w, _w_constraint, _x, _x_constraint, _y, _y_constraint, default_child_hint
 
Constructor Summary
hierarchy_parent()
          This builds a default hierarchy manager with default position of 0,0, no border, interchild spacing of 2, and indent spacing of 15.
hierarchy_parent(int xv, int yv)
          This builds a default hierarchy manager with no border, interchild spacing of 2, and indent spacing of 15.
hierarchy_parent(int xv, int yv, int the_border, int the_interchild_spacing, int the_indent_spacing)
          Build a hierarchy object, which is a special type of parent.
 
Method Summary
 void add_child(interactor chld)
          Override to also add constraints.
 boolean click(event evt, java.lang.Object ui)
          Handle click input.
 void close()
          This causes the hierarchy to "close up".
protected  void draw_children(drawable d)
          Override the way child drawing is done.
 int indent_spacing()
          The amount that children in the hierarchy are indented.
 void insert_child(int at_indx, interactor chld)
          Override to also add constraints.
 boolean is_open()
           
 void open()
          This causes the hierarchy to "open up".
 void pick(int pt_x, int pt_y, pick_collector pick_list)
          This is the input stealer for the first object.
 interactor remove_child(int at_indx)
          Override to also add constraints
 void remove_child(interactor the_child)
          Override to also add constraints.
protected  void set_child_constraints()
          This builds the constraints for the children.
 void set_indent_spacing(int s)
          Set the amount that children in the hierarchy are indented.
 void set_is_open(boolean i)
           
 void set_special_child(interactor b)
          If you call this method the interactor you pass becomes the first child.
 interactor special_child()
          This returns null if we aren't handling anything special for them.
 
Methods inherited from class sub_arctic.lib.base_interactor
active_constraints, add_user_datum, attach_dependent, bound, callback_obj, child_index, child, clear_child_list, clear_constraint_flag_bit, clear_flag_bit, configure, constraint_flag_is_set, constraint_flag_string, constraint_on, custom_fun1, custom_fun2, damage_fixed, damage_from_child, damage_self, damage_self, damage_self, damage_self, damage_self, detach_dependent, do_action, do_action, do_callback, do_callback, drag_feature_point, draw_self_local, draw_self, enabled_constraint, enabled, enter_local_coordinates, eval_enabled, eval_h, eval_part_a, eval_part_b, eval_visible, eval_w, eval_x, eval_y, eval, exit_local_coords, feature_point_enabled, feature_point, filter_pt, find_child, first_callback_num, fixed_children, flag_is_set, flag_string, focus_set_enter, focus_set_exit, get_awt_component, get_external_constraint, get_part, get_top_level, get_value, global_to_local, global_to_local, h_constraint, h, handle_cycle, inform_ood, inside_bounds, into_local, into_local, into_parent, into_parent, intrinsic_constraints, is_constrained, last_callback_num, local_to_global, local_to_global, mark_all_ood, mark_enabled_ood, mark_h_ood, mark_ood, mark_part_a_ood, mark_part_b_ood, mark_reparented_ood, mark_visible_ood, mark_w_ood, mark_x_ood, mark_y_ood, marked_ood, move_child_downward, move_child_downward, move_child_to_bottom, move_child_to_bottom, move_child_to_top, move_child_to_top, move_child_upward, move_child_upward, move_downward, move_to_bottom, move_to_top, move_upward, new_look_configure, next_sibling, num_actions, num_children, num_feature_points, ood_inform_all, parent, part_a_constraint, part_a, part_b_constraint, part_b, pick_within_children, picked_by, pos, prev_sibling, register_resource_names, remove_user_datum, restyle_look_resources, restyle, set_callback_obj, set_child_index, set_child, set_constraint_flag_bit, set_constraint_flag_bit, set_constraint, set_constraint, set_enabled_constraint, set_enabled_constraint, set_enabled_constraint, set_enabled, set_flag_bit, set_flag_bit, set_h_constraint, set_h_constraint, set_h_constraint, set_h, set_intrinsic_h, set_intrinsic_size, set_intrinsic_w, set_parent, set_part_a_constraint, set_part_a_constraint, set_part_a_constraint, set_part_a, set_part_b_constraint, set_part_b_constraint, set_part_b_constraint, set_part_b, set_pos, set_pos, set_raw_enabled, set_raw_h, set_raw_part_a, set_raw_part_b, set_raw_visible, set_raw_w, set_raw_x, set_raw_y, set_size, set_style_lock, set_user_info, set_visible_constraint, set_visible_constraint, set_visible_constraint, set_visible, set_w_constraint, set_w_constraint, set_w_constraint, set_w, set_x_constraint, set_x_constraint, set_x_constraint, set_x, set_y_constraint, set_y_constraint, set_y_constraint, set_y, setup_for_children, setup_for_children, setup_for_fixed_children, size, style_change_local, style_change, supports_children, tag_str, toString, traverse_and_collect_children, traverse_and_collect_parent, traverse_and_collect, trivial_reject, trivial_reject, user_data, user_info, value_ood, visible_constraint, visible, w_constraint, w, x_constraint, x_into_local, x_into_parent, x, y_constraint, y_into_local, y_into_parent, y
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_is_open

protected boolean _is_open
Keep track if we are open.

_special_child

protected interactor _special_child
We need to know if we are handling the first child management.

_indent_spacing

protected int _indent_spacing
This holds the amount that children in the hierarchy are indented.
Constructor Detail

hierarchy_parent

public hierarchy_parent(int xv,
                        int yv,
                        int the_border,
                        int the_interchild_spacing,
                        int the_indent_spacing)
Build a hierarchy object, which is a special type of parent. The first object is always displayed, children 1 through n-1 are displayed only if the manager is open. It defaults to being closed. This object steals the press event from its first child.
Parameters:
int - xv the x position of the interactor.
int - yv the y position of the interactor.
int - the_border the size of the border around our children.
int - the_interchild_spacing vertical space between children.
int - the_indent_spacing amount to indent children.

hierarchy_parent

public hierarchy_parent(int xv,
                        int yv)
This builds a default hierarchy manager with no border, interchild spacing of 2, and indent spacing of 15. It also defaults to being closed.
Parameters:
int - xv the x position of the interactor.
int - yv the y position of the interactor.

hierarchy_parent

public hierarchy_parent()
This builds a default hierarchy manager with default position of 0,0, no border, interchild spacing of 2, and indent spacing of 15. It also defaults to being closed.
Method Detail

is_open

public boolean is_open()

set_is_open

public void set_is_open(boolean i)

special_child

public interactor special_child()
This returns null if we aren't handling anything special for them.

set_special_child

public void set_special_child(interactor b)
If you call this method the interactor you pass becomes the first child. Note that you'll need to compensate for the width of the triangle if you care about all objects being equal width.

set_child_constraints

protected void set_child_constraints()
This builds the constraints for the children. This is at init time and again if any of the spacing parameters changes.

draw_children

protected void draw_children(drawable d)
Override the way child drawing is done.
Parameters:
drawable - d the drawing surface we produce our result on.
Overrides:
draw_children in class base_interactor

indent_spacing

public int indent_spacing()
The amount that children in the hierarchy are indented.
Returns:
int indentation amount.

set_indent_spacing

public void set_indent_spacing(int s)
Set the amount that children in the hierarchy are indented.
Parameters:
int - s new indentation amount.

open

public void open()
This causes the hierarchy to "open up".

close

public void close()
This causes the hierarchy to "close up".

pick

public void pick(int pt_x,
                 int pt_y,
                 pick_collector pick_list)
This is the input stealer for the first object. We use clicks over the first child to trigger opening and closing, so we test here whether the first child was picked, and if so we claim to be picked also.
Parameters:
int - pt_x the x coordinate of the query point.
int - pt_y the y coordinate of the query point.
Overrides:
pick in class base_interactor

click

public boolean click(event evt,
                     java.lang.Object ui)
Handle click input. We get this when a click occurs over our first child (and the child does not itself consume the click).
Specified by:
click in interface clickable
Parameters:
event - evt the release event.
Object - ui user_info passed to the pick (ignored).

add_child

public void add_child(interactor chld)
Override to also add constraints.
Parameters:
interactor - chld the child object being added.
Overrides:
add_child in class base_interactor

insert_child

public void insert_child(int at_indx,
                         interactor chld)
Override to also add constraints.
Parameters:
int - at_indx index where the child goes.
interactor - chld the child object to insert at that index
Overrides:
insert_child in class base_interactor

remove_child

public interactor remove_child(int at_indx)
Override to also add constraints
Parameters:
int - at_indx index of child to be removed.
Overrides:
remove_child in class base_interactor

remove_child

public void remove_child(interactor the_child)
Override to also add constraints.
Parameters:
interactor - the_child the child to remove.
Overrides:
remove_child in class base_interactor