sub_arctic.lib
Class sliding_text

java.lang.Object
  |
  +--sub_arctic.lib.min_interactor
        |
        +--sub_arctic.lib.base_interactor
              |
              +--sub_arctic.lib.oneline_text_display
                    |
                    +--sub_arctic.lib.label
                          |
                          +--sub_arctic.lib.sliding_text
Direct Known Subclasses:
sliding_stylized_text

public class sliding_text
extends label
implements animatable, does_callback

This is a class which draws a shifting portion of a long string on the screen to make "sliding sign". This object has options for putting a box around the text, making it be opaque, setting its colors, and of course controlling the displayed string and position within the string.


Field Summary
protected  callback_object _callback_obj
          Object we make callbacks to at the end of a scroll
static int END_OF_SCROLL
          Identifier for callback at end of scroll
protected  int first_vis_char
          Index of the first character that is visible under the current offset
protected  int x_offset
          Current offset from left edge to the first displayed character (which has index first_vis_char within the string).
 
Fields inherited from class sub_arctic.lib.label
_above_spacing, _autosize, _below_spacing, _draw_colors, _opaque
 
Fields inherited from class sub_arctic.lib.oneline_text_display
_colors, _end_of_selection, _font, _h_spacing, _metric, _start_of_selection, _text, _v_spacing, _x_adjust, BOXED, have_focus, NO_SELECTION, SELECT_END
 
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
sliding_text(java.lang.String s, callback_object cb)
          Make a object using some simple defaults.
sliding_text(java.lang.String s, java.awt.Font f, callback_object cb)
          Again, make a label with some defaults.
sliding_text(java.lang.String s, int width, callback_object cb)
          Again, make an object with some defaults.
sliding_text(java.lang.String s, int width, java.awt.Font f, callback_object cb)
          Again, make an object with some defaults.
 
Method Summary
 callback_object callback_obj()
          Object that we make callbacks to at the end of a scroll.
protected  void draw_self_local(drawable d)
          Draw the display
 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)
          Handle the end of the animation transition.
 int first_callback_num()
          First valid callback number
 int last_callback_num()
          Last valid callback number
 void set_callback_obj(callback_object cb)
          Object that we make callbacks to at the end of a scroll.
 void set_text(java.lang.String txt)
          Override to reset offset when text is replaced
protected  void shift_text_left(int dist)
          Shift the text left by the given amount (which must be positive!).
 void start_transition(transition trans, trajectory traj, double start_t, java.lang.Object start_obj, event e, java.lang.Object user_info)
          Handle start of animation transition.
 int text_length()
          Return the length of the total display string (in pixels).
 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)
          Handle an animation step.
protected  void trim_front_chars()
          Potentially adjust first_vis_char based on new offset.
 
Methods inherited from class sub_arctic.lib.label
above_spacing, autosize, below_spacing, calculate_size, draw_colors, intrinsic_constraints, natural_size, opaque, set_above_spacing, set_autosize, set_below_spacing, set_draw_colors, set_font, set_intrinsic_h, set_opaque
 
Methods inherited from class sub_arctic.lib.oneline_text_display
boxed, colors, end_of_selection, ensure_inside, font, h_spacing, set_boxed, set_colors, set_h_spacing, set_selection, set_v_spacing, start_of_selection, text, v_spacing, x_adjust
 
Methods inherited from class sub_arctic.lib.base_interactor
active_constraints, add_child, add_user_datum, attach_dependent, bound, 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, 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, is_constrained, 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, pick, picked_by, pos, prev_sibling, register_resource_names, remove_child, remove_child, remove_user_datum, restyle_look_resources, restyle, 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_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

END_OF_SCROLL

public static int END_OF_SCROLL
Identifier for callback at end of scroll

_callback_obj

protected callback_object _callback_obj
Object we make callbacks to at the end of a scroll

x_offset

protected int x_offset
Current offset from left edge to the first displayed character (which has index first_vis_char within the string).

first_vis_char

protected int first_vis_char
Index of the first character that is visible under the current offset
Constructor Detail

sliding_text

public sliding_text(java.lang.String s,
                    callback_object cb)
Make a object using some simple defaults. It doesn't try to position itself. It assumes you'll do this with constraints. It sizes height by the size of the text and width is set to a default.
Parameters:
String - s the string to put in the display
callback_object - cb object to call back at end of scroll

sliding_text

public sliding_text(java.lang.String s,
                    int width,
                    callback_object cb)
Again, make an object with some defaults. This time you supply the width. Assumes x and y will use constraints.
Parameters:
String - s the string to display
int - width the width of the displayable area in pixels
callback_object - cb object to call back at end of scroll

sliding_text

public sliding_text(java.lang.String s,
                    int width,
                    java.awt.Font f,
                    callback_object cb)
Again, make an object with some defaults. This time you supply the width & a font. Assumes x and y will use constraints.
Parameters:
String - s the displayed string
int - width the number of pixels wide the display area is
Font - f the font render the string in
callback_object - cb object to call back at end of scroll

sliding_text

public sliding_text(java.lang.String s,
                    java.awt.Font f,
                    callback_object cb)
Again, make a label with some defaults. This time you supply the font. Assumes x and y will use constraints.
Parameters:
String - s the displayed string
Font - f the font to use for rendering the string
callback_object - cb object to call back at end of scroll
Method Detail

first_callback_num

public int first_callback_num()
First valid callback number
Specified by:
first_callback_num in interface does_callback
Overrides:
first_callback_num in class base_interactor

last_callback_num

public int last_callback_num()
Last valid callback number
Specified by:
last_callback_num in interface does_callback
Overrides:
last_callback_num in class base_interactor

callback_obj

public callback_object callback_obj()
Object that we make callbacks to at the end of a scroll. All callbacks have a callback number END_OF_SCROLL and the rest of the fields are unused.
Specified by:
callback_obj in interface does_callback
Returns:
callback_object the object sends the callbacks to.
Overrides:
callback_obj in class base_interactor

set_callback_obj

public void set_callback_obj(callback_object cb)
Object that we make callbacks to at the end of a scroll. All callbacks have a callback number END_OF_SCROLL and the rest of the fields are unused.
Specified by:
set_callback_obj in interface does_callback
Overrides:
set_callback_obj in class base_interactor

shift_text_left

protected void shift_text_left(int dist)
Shift the text left by the given amount (which must be positive!).
Parameters:
int - dist the amount to shift.

trim_front_chars

protected void trim_front_chars()
Potentially adjust first_vis_char based on new offset. If this moves the index over, it will also move over the offset by the width of the characters removed

set_text

public void set_text(java.lang.String txt)
Override to reset offset when text is replaced
Parameters:
String - txt new text to display.
Overrides:
set_text in class label

text_length

public int text_length()
Return the length of the total display string (in pixels). This is the complete string, not just the portion displayed.
Returns:
int length of string.

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)
Handle start of animation transition. This transition is used to drive calls to shift_text_left() to animate the display.
Specified by:
start_transition in interface animatable
Parameters:
transition - trans the transition object controlling this.
trajectory - traj the trajectory it is working over.
double - start_t start value along trajectory 0..1.
Object - start_obj first data value out of trajectory (must be a Point object).
event - e event "causing" the animation.
Object - user_info the information associated with then object when the transition was scheduled.

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)
Handle an animation step. This animation should be along a trajectory of points, and the x value are used to drive calls to shift_text_left().
Specified by:
transition_step in interface animatable
Parameters:
transition - trans the transition object controlling this.
trajectory - traj the trajectory it is working over.
double - start_t start value of this step (within 0..1 overall)
Object - start_obj start data value for this step (this must be a Point object).
double - end_t end value of this step (within 0..1 overall)
Object - end_obj end data value for this step (this must be a Point object).
event - e event "causing" the animation.
Object - user_info the information associated with then object when the transition was scheduled.

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)
Handle the end of the animation transition. This animation should be along a trajectory of points, and the x value are used to drive calls to shift_text_left(). The callback END_OF_SCROLL is made at this point.
Specified by:
end_transition in interface animatable
Parameters:
transition - trans the transition object controlling this.
trajectory - traj the trajectory it is working over.
double - start_t start value of this step (within 0..1 overall)
Object - start_obj start data value for this step (this must be a Point object).
double - end_t end value of this step (within 0..1 overall)
Object - end_obj end data value for this step (this must be a Point object).
event - e event "causing" the animation.
Object - user_info the information associated with then object when the transition was scheduled.

draw_self_local

protected void draw_self_local(drawable d)
Draw the display
Parameters:
drawable - d the drawable on which to do the display
Overrides:
draw_self_local in class label