|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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.grabber_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.
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 boolean |
_show_crosshairs
Holds whether we show the crosshairs |
protected java.util.Vector |
_targets
Holds the interactors we are focussed on |
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 int |
focus_x
|
protected int |
focus_y
|
protected h_range_slider |
hrs
|
protected interactor |
target
|
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 | |
grabber_semantic_lens(interactor_pred draw_action,
int draw_kind)
Simplest constructor. |
|
grabber_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. |
|
grabber_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 | |
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)
|
boolean |
drag_end(event evt,
int cur_w,
int cur_h,
int st_w,
int st_h,
java.lang.Object user_info)
Handle input corresponding to the end of a grow-drag. |
boolean |
drag_end(event evt,
java.lang.Object user_info)
End the simple drag of the crosshairs box. |
boolean |
drag_feedback(event evt,
int cur_w,
int cur_h,
int st_w,
int st_h,
java.lang.Object user_info)
Handle feedback corresponding to a grow-drag. |
boolean |
drag_feedback(event evt,
java.lang.Object user_info)
Movement within a drag of the thumb. |
boolean |
drag_start(event evt,
java.lang.Object user_info)
Start of a drag for the crosshairs box. |
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)
|
void |
set_show_crosshairs(boolean b)
Sets whether we show the crosshairs. |
void |
set_targets(java.util.Vector targets)
Sets the interactors we are focussed on- not sure what the application for this is, yet, but there may be something interesting, such as an agent that sets the targets to every instance of some class |
boolean |
show_crosshairs()
Returns whether we show the crosshairs |
java.util.Vector |
targets()
Returns the interactors we are focussed on |
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 java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
protected static final int bounds_sem_draw_trav_id
protected int _bounds_sem_draw_kind
protected java.util.Vector _targets
protected boolean _show_crosshairs
protected shrink_wrap_container control_palette
protected column checkbox_column
protected h_range_slider hrs
protected v_range_slider vrs
protected label depth_label
protected label child_label
protected int focus_x
protected int focus_y
protected interactor target
Constructor Detail |
public grabber_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)
int
- x x position of the lensint
- y y position of the lensint
- w width of the lensint
- h height of the lensinteractor_pred
- draw_action a "predicate" object which does the
specialized drawing of an object for this lensboolean
- clr_back do we clear the background before we drawString
- ttl_str title string to be drawn on title drag barColor
- ttl_color color of title drag barFont
- ttl_font font to draw title inint
- draw_kind identifier that indicates the kind of semantic
redraw that we are doingpublic grabber_semantic_lens(int xv, int yv, int wv, int hv, interactor_pred draw_action, boolean clr_back, int draw_kind)
int
- x x position of the lensint
- y y position of the lensint
- w width of the lensint
- h height of the lensinteractor_pred
- draw_action a "predicate" object which does the
specialized drawing of an object for this lensboolean
- clr_back do we clear the background before we drawint
- draw_kind identifier that indicates the kind of semantic
redraw that we are doingpublic grabber_semantic_lens(interactor_pred draw_action, int draw_kind)
interactor_pred
- draw_action a "predicate" object which does the
specialized drawing of an object for this lensint
- draw_kind identifier that indicates the kind of semantic
redraw that we are doingMethod Detail |
public int bounds_sem_draw_kind()
public java.util.Vector targets()
public void set_targets(java.util.Vector targets)
public boolean show_crosshairs()
public void set_show_crosshairs(boolean b)
public void set_fixed(boolean b)
Font
- fnt the new font to draw with.public void callback(interactor from_obj, event evt, int callback_num, java.lang.Object callback_info)
public void pick(int pt_x, int pt_y, pick_collector pick_list)
int
- pt_x x coordinate of picking pointint
- pt_y y coordinate of picking pointpick_collector
- pick_list result listpublic boolean press(event evt, java.lang.Object user_info)
event
- evt the press event.Object
- user_info the information associated with this object
at pick time.public boolean drag_start(event evt, java.lang.Object user_info)
event
- evt the event that is starting the drag (usually a
press).Object
- user_info the object passed to the simple drag_agentpublic boolean drag_feedback(event evt, java.lang.Object user_info)
event
- evt the drag event (mouse move).Object
- user_info the object passed to the simple drag_agent.public boolean drag_end(event evt, java.lang.Object user_info)
event
- evt the end of the drag event (mouse release usually).Object
- user_info the object passed to the simple drag_agent.public boolean drag_feedback(event evt, int cur_w, int cur_h, int st_w, int st_h, java.lang.Object user_info)
event
- evt the event "causing" the drag.int
- cur_w the current width indicated by the drag.int
- cur_h the current height indicated by the drag.int
- st_w the starting width of this object.int
- st_w the starting height of this object.Object
- user_info the information associated with this object at
the point that it requested focus.public boolean drag_end(event evt, int cur_w, int cur_h, int st_w, int st_h, java.lang.Object user_info)
event
- evt the event "causing" the drag.int
- cur_w the current width indicated by the drag.int
- cur_h the current height indicated by the drag.int
- st_w the starting width of this object.int
- st_w the starting height of this object.Object
- user_info the information associated with this object at
the point that it requested focus.protected void draw_self_local(drawable d)
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.
drawable
- d the drawing surface we draw on.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)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |