sub_arctic.lib
Class sliding_stylized_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
                                |
                                +--sub_arctic.lib.sliding_stylized_text

public class sliding_stylized_text
extends sliding_text

This is a subclass of sliding_text which adds text style and color changes to the text. Here we support HTML-like tags within the text which indicate style and color changes. Tags accepted include: <b>...</b> and <i>...</i> for bold and italics, as well as matching tag pairs for the colors: black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red, white, and yellow (e.g., <red>...</red>).

See Also:
sliding_text

Field Summary
protected  java.util.Vector _effect_list
          Vector of effects that are being applied to the text.
protected  int first_vis_effect
          First effect record that could affect the displayed text (i.e.
protected static java.util.Hashtable tag_table
          Hashtable holding codes for the tags we know how to process.
 
Fields inherited from class sub_arctic.lib.sliding_text
_callback_obj, END_OF_SCROLL, first_vis_char, x_offset
 
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_stylized_text(java.lang.String s, callback_object cb)
          Make an object using some simple defaults.
sliding_stylized_text(java.lang.String s, java.awt.Font f, callback_object cb)
          Again, make a label with some defaults.
sliding_stylized_text(java.lang.String s, int width, callback_object cb)
          Again, make an object with some defaults.
sliding_stylized_text(java.lang.String s, int width, java.awt.Font f, callback_object cb)
          Again, make an object with some defaults.
 
Method Summary
protected  void draw_self_local(drawable d)
          Draw the display
 java.util.Vector effect_list()
          Vector of effects that are being applied to the text.
protected  java.lang.String parse_tags(java.lang.String tagged_string, java.util.Vector result_eff)
          Process a string with HTML-like tags to produce a new string without the tags and an effect list corresponding to the tags.
protected static java.awt.Font restyle(java.awt.Font fnt, int new_style)
          Helper routine to clone a font in a different style.
 void set_text(java.lang.String txt)
          Override to reset offset for text and effect when text is replaced.
protected  void setup_tag_table()
          Initialize the hashtable holding codes for the tags we know how to process.
protected  void trim_front_chars()
          Potentially adjust first_vis_char and first_vis_effect based on new offset.
 
Methods inherited from class sub_arctic.lib.sliding_text
callback_obj, end_transition, first_callback_num, last_callback_num, set_callback_obj, shift_text_left, start_transition, text_length, transition_step
 
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

_effect_list

protected java.util.Vector _effect_list
Vector of effects that are being applied to the text. This vector contains text_effect_record objects each of which encode a substring of text that they apply to, a color and a font. Effect records must not overlap and must be in sorted order.

first_vis_effect

protected int first_vis_effect
First effect record that could affect the displayed text (i.e. has a start position past first_vis_char. If there is no such record, this is set past the last index of the effect_list vector.

tag_table

protected static java.util.Hashtable tag_table
Hashtable holding codes for the tags we know how to process. Two types of entries get put in this table: Color objects representing the fact that the tag represents a color change, and Integer objects which encode add bold with 1, remove bold with -1, add italics with 2, remove italics with -2 and revert to normal color with 0.
Constructor Detail

sliding_stylized_text

public sliding_stylized_text(java.lang.String s,
                             callback_object cb)
Make an 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_stylized_text

public sliding_stylized_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_stylized_text

public sliding_stylized_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_stylized_text

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

restyle

protected static java.awt.Font restyle(java.awt.Font fnt,
                                       int new_style)
Helper routine to clone a font in a different style.
Parameters:
Font - fnt the font to clone
int - new_style new style bits -- these should be a combination of Font.PLAIN, Font.Bold, and font.ITALIC.

effect_list

public java.util.Vector effect_list()
Vector of effects that are being applied to the text. This vector contains text_effect_record objects each of which encode a substring of text that they apply to, a color and a font. Effect records must not overlap and must be in sorted order.
Returns:
Vector containing text_effect_record objects to apply to the text.

setup_tag_table

protected void setup_tag_table()
Initialize the hashtable holding codes for the tags we know how to process.

parse_tags

protected java.lang.String parse_tags(java.lang.String tagged_string,
                                      java.util.Vector result_eff)
Process a string with HTML-like tags to produce a new string without the tags and an effect list corresponding to the tags. Tags accepted include: <b>...</b> and <i>...</i> for bold and italics, as well as matching tag pairs for the colors: black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red, white, and yellow (e.g., <red>...</red>).
Parameters:
String - tagged_string the input string with tags
Vector - result_eff a Vector object that will be filled with text_effect_records corresponding to the tags found.
Returns:
String new string with tags stripped out

trim_front_chars

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

set_text

public void set_text(java.lang.String txt)
Override to reset offset for text and effect when text is replaced.
Parameters:
String - txt tnew text to display.
Overrides:
set_text in class sliding_text

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 sliding_text