sub_arctic.lib
Class text_flow

java.lang.Object
  |
  +--sub_arctic.lib.min_interactor
        |
        +--sub_arctic.lib.base_interactor
              |
              +--sub_arctic.lib.base_parent_interactor
                    |
                    +--sub_arctic.lib.column
                          |
                          +--sub_arctic.lib.text_flow

public class text_flow
extends column

This class takes a string and breaks it into lines which "fit" into the text column's width based on embedded HTML (subset) formatting. This object provides no input behavior.


Field Summary
protected  java.lang.String _font_name
          This variable holds the string for the base font name.
protected  int _font_size
          This is where we hold the basic font size for this text flow.
protected  java.awt.Frame _frame
          The AWT Frame that contains this html_element, if any.
protected  java.lang.String _text
          The text of this object
protected  int minimum_layout_size
          This is the minimum size that this object can be before we bother to try to do a layout.
 
Fields inherited from class sub_arctic.lib.column
_border, _boxed, _colors, _interchild_space, _layout_type, _opaque, _size_by_children, CENTER_JUSTIFIED, LEFT_JUSTIFIED, RIGHT_JUSTIFIED
 
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
text_flow(java.lang.String v, int w)
          Create a new text flow with a given string.
text_flow(java.lang.String v, int w, java.awt.Frame frame)
          Create a new text flow with a given string.
text_flow(java.lang.String v, int w, int h)
          Create a new text flow with a given string.
text_flow(java.lang.String v, int w, int h, java.awt.Frame frame)
          Create a new text flow with a given string.
 
Method Summary
protected  void do_layout()
          Do the layout procedure.
 java.lang.String font_name()
          Retrieve the current base font name
 int font_size()
          Retrieve the basic font size for this text flow.
 java.awt.Frame frame()
           
 void set_font_name(java.lang.String fn)
          Set the current base font name.
 void set_font_size(int n)
          Set the font size of this text flow.
 void set_raw_w(int n)
          We override the set_raw_w so we can catch changes to the width and do a re-layout.
 void set_text(java.lang.String t)
          Set the text in this object.
 java.lang.String text()
          Get the text of this object.
 
Methods inherited from class sub_arctic.lib.column
add_child, border, boxed, colors, draw_self_local, insert_child, interchild_space, layout_type, opaque, remove_child, remove_child, set_border, set_boxed, set_child_constraints, set_child, set_colors, set_interchild_space, set_layout_type, set_local_constraints, set_opaque, set_size_by_children, size_by_children
 
Methods inherited from class sub_arctic.lib.base_interactor
active_constraints, 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, 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, pick, picked_by, pos, prev_sibling, register_resource_names, remove_user_datum, restyle_look_resources, restyle, set_callback_obj, set_child_index, 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_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

_frame

protected java.awt.Frame _frame
The AWT Frame that contains this html_element, if any.

_text

protected java.lang.String _text
The text of this object

minimum_layout_size

protected int minimum_layout_size
This is the minimum size that this object can be before we bother to try to do a layout. This is in pixels.

_font_name

protected java.lang.String _font_name
This variable holds the string for the base font name. We default to SansSerif.

_font_size

protected int _font_size
This is where we hold the basic font size for this text flow.
Constructor Detail

text_flow

public text_flow(java.lang.String v,
                 int w,
                 int h)
Create a new text flow with a given string. This constructor assumes that you are going to set the position of this object with constraints.
Parameters:
String - v the string to put in this text flow.
int - w width of the interactor.
int - h height of the interactor.

text_flow

public text_flow(java.lang.String v,
                 int w,
                 int h,
                 java.awt.Frame frame)
Create a new text flow with a given string. This constructor assumes that you are going to set the position of this object with constraints.
Parameters:
String - v the string to put in this text flow.
int - w width of the interactor.
int - h height of the interactor.
Frame - f the frame which contains this interactor.

text_flow

public text_flow(java.lang.String v,
                 int w)
Create a new text flow with a given string. This constructor assumes that you are going to set the position of this object with constraints and that it is ok for this object to get as tall as necessary to fit the string. If you are using this version, you should probably be using this in conjunction with a panner.
Parameters:
String - v the string to put in this text flow.
int - w width of the interactor.

text_flow

public text_flow(java.lang.String v,
                 int w,
                 java.awt.Frame frame)
Create a new text flow with a given string. This constructor assumes that you are going to set the position of this object with constraints and that it is ok for this object to get as tall as necessary to fit the string. If you are using this version, you should probably be using this in conjunction with a panner.
Parameters:
String - v the string to put in this text flow.
int - w width of the interactor.
Method Detail

frame

public java.awt.Frame frame()

text

public java.lang.String text()
Get the text of this object.
Returns:
String the text contained in this flow

set_text

public void set_text(java.lang.String t)
Set the text in this object.
Parameters:
String - t the new text of this object

do_layout

protected void do_layout()
Do the layout procedure. This ends up removing all the children and re-parsing the text. Notes about this parser:

  1. It is not robust in the face of badly formed HTML.
  2. It expects the de facto standard of using the P tag to separate paragraphs, rather than the more correct P matched with a slash P.
  3. We don't check to see that the tags are matched with the correct slash tag. We just blindly assume you matched them right.

font_name

public java.lang.String font_name()
Retrieve the current base font name
Returns:
String the string with with font name we are using

set_font_name

public void set_font_name(java.lang.String fn)
Set the current base font name. Be aware that this better be a font name that exists on your system and it will only take effect the next time this variable is consulted by the parser. Thus if you want to force this change you'll need to call do_layout yourself.

set_raw_w

public void set_raw_w(int n)
We override the set_raw_w so we can catch changes to the width and do a re-layout.
Parameters:
int - n the new width
Overrides:
set_raw_w in class base_interactor

font_size

public int font_size()
Retrieve the basic font size for this text flow.
Returns:
int the font size (in points) for basic text in this flow

set_font_size

public void set_font_size(int n)
Set the font size of this text flow. This does not take effect immediately, but rather on the next layout. Thus, you have to force a re-layout with "do_layout()" if you want this happen now. When you say "now", what exactly do you mean?
Parameters:
int - n new basic font size for this flow (in points)