sub_arctic.lib
Class isolation_semantic_lens

java.lang.Object
  |
  +--sub_arctic.lib.min_interactor
        |
        +--sub_arctic.lib.base_interactor
              |
              +--sub_arctic.lib.base_parent_interactor
                    |
                    +--sub_arctic.lib.semantic_lens
                          |
                          +--sub_arctic.lib.focus_semantic_lens
                                |
                                +--sub_arctic.lib.isolation_semantic_lens

public class isolation_semantic_lens
extends focus_semantic_lens

Class to implement dragging and drawing for a semantic lens. When this object is drawn, it does a traversal of the subtree rooted at the parent of this object. That traversal does an alternate rendering (semantic redraw) of the subtree within the bounds of this object. This redraw can be done on top of the normal draw (by setting clear_back false, which is the default), or the normal drawing can be cleared and replaced the alternate rendering. Alternate renderings are done via a "interactor_predicate" object that parameterizes this object and is passed to a traverse_and_collect() of the parent.

This object provides a title bar (with an optional text title) that can be used to move the lens, as well as a small grow handle to resize it. For complete operation, this object should be placed under a semantic_lens_parent object (the object will work with other parents, but redraw anomalies for dynamically moving objects within the lens can occur). This lens provides crosshairs to focus it on a particular interactor.

See Also:
semantic_lens_parent, sem_draw_context, sem_draw_continue, base_interactor.traverse_and_collect(int, int, sub_arctic.lib.interactor_pred, sub_arctic.lib.interactor_pred, sub_arctic.lib.traversal_xform, java.lang.Object, sub_arctic.input.pick_collector)

Field Summary
protected  int _isolation_sem_draw_kind
          Identifier for the particular kind of semantic redraw pass being done here.
protected static int isolation_sem_draw_trav_id
          unique identifier for isolation_sem_draw traversals
 
Fields inherited from class sub_arctic.lib.focus_semantic_lens
_focus_context, _focus_sem_draw_kind, _show_crosshairs, checkbox_column, child_label, control_palette, depth_label, focus_sem_draw_trav_id, focus_x, focus_y, h_il, hrs, show_label, vrs, w_il, x_il, y_il
 
Fields inherited from class sub_arctic.lib.semantic_lens
_boxed, _clear_back, _draw_obj, _fixed, _sem_draw_kind, _title_color, _title_font, _title_str, metrics, sem_draw_trav_id
 
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
isolation_semantic_lens(interactor_pred draw_action, int draw_kind)
          Simplest constructor.
isolation_semantic_lens(int xv, int yv, int wv, int hv, interactor_pred draw_action, boolean clr_back, int draw_kind)
          Simple constructor with default font and title bar color.
isolation_semantic_lens(int xv, int yv, int wv, int hv, interactor_pred draw_action, boolean clr_back, java.lang.String ttl_str, java.awt.Color ttl_color, java.awt.Font ttl_font, int draw_kind)
          Full constructor.
 
Method Summary
 void callback(interactor from_obj, event evt, int callback_num, java.lang.Object callback_info)
           
protected  void draw_self_local(drawable d)
          Override draw_self to do a semantic lens.
 int isolation_sem_draw_kind()
          Identifier for the particular kind of semantic redraw pass being done here.
 
Methods inherited from class sub_arctic.lib.focus_semantic_lens
drag_end, drag_end, drag_feedback, drag_feedback, drag_start, focus_context, focus_sem_draw_kind, pick, press, set_fixed, set_focus_context, set_show_crosshairs, show_crosshairs
 
Methods inherited from class sub_arctic.lib.semantic_lens
boxed, clear_back, drag_end, drag_feedback, drag_start, draw_obj, fixed, get_parent, release, sem_draw_kind, set_boxed, set_clear_back, set_draw_obj, set_title_color, set_title_font, set_title_str, title_color, title_font, title_str
 
Methods inherited from class sub_arctic.lib.base_interactor
active_constraints, add_child, 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_children, 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, insert_child, 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_child, remove_child, 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

isolation_sem_draw_trav_id

protected static final int isolation_sem_draw_trav_id
unique identifier for isolation_sem_draw traversals

_isolation_sem_draw_kind

protected int _isolation_sem_draw_kind
Identifier for the particular kind of semantic redraw pass being done here.
Constructor Detail

isolation_semantic_lens

public isolation_semantic_lens(int xv,
                               int yv,
                               int wv,
                               int hv,
                               interactor_pred draw_action,
                               boolean clr_back,
                               java.lang.String ttl_str,
                               java.awt.Color ttl_color,
                               java.awt.Font ttl_font,
                               int draw_kind)
Full constructor.
Parameters:
int - x x position of the lens
int - y y position of the lens
int - w width of the lens
int - h height of the lens
interactor_pred - draw_action a "predicate" object which does the specialized drawing of an object for this lens
boolean - clr_back do we clear the background before we draw
String - ttl_str title string to be drawn on title drag bar
Color - ttl_color color of title drag bar
Font - ttl_font font to draw title in
int - draw_kind identifier that indicates the kind of semantic redraw that we are doing

isolation_semantic_lens

public isolation_semantic_lens(int xv,
                               int yv,
                               int wv,
                               int hv,
                               interactor_pred draw_action,
                               boolean clr_back,
                               int draw_kind)
Simple constructor with default font and title bar color.
Parameters:
int - x x position of the lens
int - y y position of the lens
int - w width of the lens
int - h height of the lens
interactor_pred - draw_action a "predicate" object which does the specialized drawing of an object for this lens
boolean - clr_back do we clear the background before we draw
int - draw_kind identifier that indicates the kind of semantic redraw that we are doing

isolation_semantic_lens

public isolation_semantic_lens(interactor_pred draw_action,
                               int draw_kind)
Simplest constructor. Defaults to 0,0 : 100x100 with non-cleared background.
Parameters:
interactor_pred - draw_action a "predicate" object which does the specialized drawing of an object for this lens
int - draw_kind identifier that indicates the kind of semantic redraw that we are doing
Method Detail

isolation_sem_draw_kind

public int isolation_sem_draw_kind()
Identifier for the particular kind of semantic redraw pass being done here.
Returns:
int a unique identifier for this kind of redraw.

callback

public void callback(interactor from_obj,
                     event evt,
                     int callback_num,
                     java.lang.Object callback_info)
Overrides:
callback in class focus_semantic_lens

draw_self_local

protected void draw_self_local(drawable d)
Override draw_self to do a semantic lens. This works by going up one level to the parent, then doing a sem_draw traversal from there down. the sem_draw traversal draws a semantically modified rendition of the sub-tree on our drawable.

Note, this drawing is done inside our bounds, but the drawing corresponding to each individual object found in the traversal starting from our parent is not limited to their bounds. This requires special processing in damage_self within our parent.

Parameters:
drawable - d the drawing surface we draw on.
Overrides:
draw_self_local in class focus_semantic_lens
See Also:
semantic_draw_parent, sem_draw_context, sem_draw_continue, sem_draw_to_child, base_interactor.traverse_and_collect(int, int, sub_arctic.lib.interactor_pred, sub_arctic.lib.interactor_pred, sub_arctic.lib.traversal_xform, java.lang.Object, sub_arctic.input.pick_collector)