sub_arctic.test
Class shade

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

public class shade
extends base_parent_interactor
implements pressable, animatable

This is the class for building a "window shade" composition object. This object composes two children, one that forms the background (inside the window pane) and one that is on a movable shade that can be pulled up and down by th user. This interaction can replace typical pop-up modal dialogs with an interaction that is richer in metaphor and more familiar to most users.


Field Summary
protected  double _percent_down
          This holds how far "down" the shade is as a percentage.
protected  boolean anim_in_progress
          This is true if an animation is in progress
protected  long anim_length
          This is how long the animation takes, in millseconds
protected  int handle_size
          Size of the handle in pixels (both width and height)
protected  int pane_borders
          pane borders in pixels (around the outside of the window)
protected  int string_length
          String length in pixels
 
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
shade()
          Simple constructor assuming that position and size will be set with constraints
 
Method Summary
 void configure()
          Whenever we get a call to configure, be sure to enforce the shade on the second child.
 void draw_self_local(drawable d)
          Draw the child and the window dressing
 void end_transition(transition trans, trajectory traj, double start_t, java.lang.Object start_obj, double end_t, java.lang.Object end_obj, event e, java.lang.Object user_info)
          Again, we just look at the end_obj (which is a Float) and set the shade to be the right position
 double percent_down()
          Access to how far "down" the shade is as a percentage.
 void pick(int pt_x, int pt_y, pick_collector pick_list)
          Handle the picking sequence.
 boolean press(event evt, java.lang.Object user_info)
          Handle a call on the pressable interface
 boolean release(event evt, java.lang.Object user_info)
           
 void set_percent_down(double v)
          Set how far "down" the shade is as a percentage.
 void start_transition(transition trans, trajectory traj, double start_t, java.lang.Object start_obj, event e, java.lang.Object user_info)
          start the animation
 void transition_step(transition trans, trajectory traj, double start_t, java.lang.Object start_obj, double end_t, java.lang.Object end_obj, event e, java.lang.Object user_info)
          we just look at the end_obj (which is a Float) and send that to the set_shade code
 
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, 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

string_length

protected final int string_length
String length in pixels

handle_size

protected final int handle_size
Size of the handle in pixels (both width and height)

pane_borders

protected final int pane_borders
pane borders in pixels (around the outside of the window)

anim_length

protected final long anim_length
This is how long the animation takes, in millseconds

anim_in_progress

protected boolean anim_in_progress
This is true if an animation is in progress

_percent_down

protected double _percent_down
This holds how far "down" the shade is as a percentage. At 100 percent down (1.0), it doesn't cover all the area, there is some area left for the string and chain to hang into.
Constructor Detail

shade

public shade()
Simple constructor assuming that position and size will be set with constraints
Method Detail

percent_down

public double percent_down()
Access to how far "down" the shade is as a percentage. At 100 percent down (1.0), it doesn't cover all the area, there is some area left for the string and chain to hang into.

set_percent_down

public void set_percent_down(double v)
Set how far "down" the shade is as a percentage. At 100 percent down (1.0), it doesn't cover all the area, there is some area left for the string and chain to hang into.

draw_self_local

public void draw_self_local(drawable d)
Draw the child and the window dressing
Overrides:
draw_self_local in class base_interactor

configure

public void configure()
Whenever we get a call to configure, be sure to enforce the shade on the second child.
Overrides:
configure in class base_interactor

pick

public void pick(int pt_x,
                 int pt_y,
                 pick_collector pick_list)
Handle the picking sequence. We need to determine where the user's input is w.r.t. to us. We only make ourselves the picked object when they click on the handle, but we don't want children getting picked if they click on any of the blank areas or the frame.
Overrides:
pick in class base_interactor

release

public boolean release(event evt,
                       java.lang.Object user_info)
Specified by:
release in interface pressable

press

public boolean press(event evt,
                     java.lang.Object user_info)
Handle a call on the pressable interface
Specified by:
press in interface pressable

start_transition

public void start_transition(transition trans,
                             trajectory traj,
                             double start_t,
                             java.lang.Object start_obj,
                             event e,
                             java.lang.Object user_info)
start the animation
Specified by:
start_transition in interface animatable

transition_step

public void transition_step(transition trans,
                            trajectory traj,
                            double start_t,
                            java.lang.Object start_obj,
                            double end_t,
                            java.lang.Object end_obj,
                            event e,
                            java.lang.Object user_info)
we just look at the end_obj (which is a Float) and send that to the set_shade code
Specified by:
transition_step in interface animatable

end_transition

public void end_transition(transition trans,
                           trajectory traj,
                           double start_t,
                           java.lang.Object start_obj,
                           double end_t,
                           java.lang.Object end_obj,
                           event e,
                           java.lang.Object user_info)
Again, we just look at the end_obj (which is a Float) and set the shade to be the right position
Specified by:
end_transition in interface animatable