sub_arctic.lib
Class bounds_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.bounds_semantic_lens
Direct Known Subclasses:
backdrop_lens

public class bounds_semantic_lens
extends semantic_lens
implements callback_object

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 two range_sliders- the vertical controls, in conjunction with a bounds_sem_draw object, the depth in the interactor tree that we draw, while the horizontal controls how many children we draw.

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 _bounds_sem_draw_kind
          Identifier for the particular kind of semantic redraw pass being done here.
protected static int bounds_sem_draw_trav_id
          unique identifier for bounds_sem_draw traversals
protected  column checkbox_column
           
protected  label child_label
           
protected  shrink_wrap_container control_palette
           
protected  label depth_label
           
protected  h_range_slider hrs
           
protected  v_range_slider vrs
           
 
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
bounds_semantic_lens(interactor_pred draw_action, int draw_kind)
          Simplest constructor.
bounds_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.
bounds_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.
bounds_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, boolean setup_palette)
          Full constructor.
 
Method Summary
 int bounds_sem_draw_kind()
          Identifier for the particular kind of semantic redraw pass being done here.
 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.
 void pick(int pt_x, int pt_y, pick_collector pick_list)
          Override pick to just work on handles and let center of lens pass through.
 boolean press(event evt, java.lang.Object user_info)
          Handle mouse button press input to the object by making us either the move-drag or grow-drag focus.
 void set_fixed(boolean b)
           
 
Methods inherited from class sub_arctic.lib.semantic_lens
boxed, clear_back, drag_end, drag_end, drag_feedback, drag_feedback, drag_start, 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

bounds_sem_draw_trav_id

protected static final int bounds_sem_draw_trav_id
unique identifier for bounds_sem_draw traversals

_bounds_sem_draw_kind

protected int _bounds_sem_draw_kind
Identifier for the particular kind of semantic redraw pass being done here.

control_palette

protected shrink_wrap_container control_palette

checkbox_column

protected column checkbox_column

hrs

protected h_range_slider hrs

vrs

protected v_range_slider vrs

depth_label

protected label depth_label

child_label

protected label child_label
Constructor Detail

bounds_semantic_lens

public bounds_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,
                            boolean setup_palette)
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
boolean - setup_palette add standard children to control palette?

bounds_semantic_lens

public bounds_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

bounds_semantic_lens

public bounds_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

bounds_semantic_lens

public bounds_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

set_fixed

public void set_fixed(boolean b)
Parameters:
Font - fnt the new font to draw with.
Overrides:
set_fixed in class semantic_lens

bounds_sem_draw_kind

public int bounds_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)
Specified by:
callback in interface callback_object

pick

public void pick(int pt_x,
                 int pt_y,
                 pick_collector pick_list)
Override pick to just work on handles and let center of lens pass through.
Parameters:
int - pt_x x coordinate of picking point
int - pt_y y coordinate of picking point
pick_collector - pick_list result list
Overrides:
pick in class semantic_lens

press

public boolean press(event evt,
                     java.lang.Object user_info)
Handle mouse button press input to the object by making us either the move-drag or grow-drag focus.
Parameters:
event - evt the press event.
Object - user_info the information associated with this object at pick time.
Returns:
boolean indicating whether the event was consumed.
Overrides:
press in class 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 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)