sub_arctic.lib
Class text_toggle_collection

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

public class text_toggle_collection
extends base_parent_interactor

This object builds a collection of labeled toggle switches. This useful when you want to create a set of exclusive or non-exclusive choices from a set of strings.

The reason the 0th child is special is that all other children get added to his group. Groups are circularly linked lists of toggles who need to be exclusive of each other. The functions which manipulate "groups" with respect to toggles are defined in the toggle class.

See Also:
toggle

Field Summary
protected  callback_object _callback_obj
          The callback object to send callbacks to.
protected  java.util.Vector _data
          vector of the strings for this collection
protected static int _default_offset
          How much space around the edges and between the items.
protected  int _fixed_width
          This controls if you want a fixed width for the labels.
protected  java.awt.Font _font
          This is where the font lives for drawing the labels.
protected  boolean _use_group
          Use group tells the collection if its collection forms one group or not.
 
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_toggle_collection(java.lang.String[] s, boolean use_a_group, int fw, callback_object cb)
          Build a new text/toggle collection object.
 
Method Summary
 callback_object callback_obj()
          Access the object we send callbacks to.
 void clear_items()
          Get rid of all items
 java.util.Vector data()
          Access the vector of strings in this collection.
protected static int default_offset()
          Return the default distance around the edges of items.
protected  int fixed_width()
          Get the width of all items in this collection.
 java.awt.Font font()
          Return the font we are drawing labels in.
protected  toggle make_toggle(int i)
          Make a toggle.
 java.lang.String nth_string(int n)
          Get the String value for that an index.
 toggle nth_toggle(int n)
          Indexing from 0, get the toggle associated with that index.
 void set_callback_obj(callback_object cb)
          Modify the current callback object.
 void set_data(java.lang.String[] s)
          Set the data in this collection to be (and its toggles to display) an array of strings.
protected  void set_fixed_width(int f)
          Set the value of the width of all items in the collection.
 void set_font(java.awt.Font f)
          Set the font to use for this collection.
 void set_item(int i, java.lang.String s)
          Set the ith item in the collection to display a certain string.
protected  void set_toggle_constraints(toggle t, int i)
          Put the constraints on for the the toggle.
protected  void set_use_group(boolean b)
          Change the state of the use_group variable.
protected  boolean use_group()
          Is the collection using a group (exclusive choices)?
 
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_local, 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, 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_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

_data

protected java.util.Vector _data
vector of the strings for this collection

_callback_obj

protected callback_object _callback_obj
The callback object to send callbacks to.

_use_group

protected boolean _use_group
Use group tells the collection if its collection forms one group or not. It is only consulted when NEW items are added to the collection.

_fixed_width

protected int _fixed_width
This controls if you want a fixed width for the labels. If you specify a value other than negative 1, you get that width. It is only considered when NEW items are added to the collection.

_default_offset

protected static int _default_offset
How much space around the edges and between the items.

_font

protected java.awt.Font _font
This is where the font lives for drawing the labels.
Constructor Detail

text_toggle_collection

public text_toggle_collection(java.lang.String[] s,
                              boolean use_a_group,
                              int fw,
                              callback_object cb)
Build a new text/toggle collection object. This assumes that you will position this object with constraints. If you want the objects formed into a group, set use_a_group. If you want all the labels to be the same width, set fixed_width to the width; if you don't want fixed with, pass -1. The callback object is called when an object get selected. You'll get a user info value which has an Integer in it. That is the index number of the object just selected.
Parameters:
String[] - s the initial set of strings to display.
boolean - use_a_group pass true here if you want the set of toggles to be exclusive, pass false if you want them to be non-exclusive.
int - fw the 'forced width' of the objects in the collection in pixels (if you use -1 the objects don't get forced to particular width).
callback_object - cb the object you want callbacks delivered to.
Method Detail

data

public java.util.Vector data()
Access the vector of strings in this collection.
Returns:
Vector the strings in this collection.

set_data

public void set_data(java.lang.String[] s)
Set the data in this collection to be (and its toggles to display) an array of strings.
Parameters:
String[] - s the array of strings you want the user to choose from.

callback_obj

public callback_object callback_obj()
Access the object we send callbacks to.
Returns:
callback_object the object we send the callbacks to.
Overrides:
callback_obj in class base_interactor

set_callback_obj

public void set_callback_obj(callback_object cb)
Modify the current callback object.
Parameters:
callback_object - cb the new object to receive callbacks.
Overrides:
set_callback_obj in class base_interactor

clear_items

public void clear_items()
Get rid of all items

use_group

protected boolean use_group()
Is the collection using a group (exclusive choices)?
Returns:
boolean true if this collection is a group.

set_use_group

protected void set_use_group(boolean b)
Change the state of the use_group variable. Note that it is only consulted as new items are added to the collection.
Parameters:
boolean - b whether or not this collection should use a group or not (if this is true, then choices are exclusive).

fixed_width

protected int fixed_width()
Get the width of all items in this collection.
Returns:
int the width all items in the collection or -1 if not currently set.

set_fixed_width

protected void set_fixed_width(int f)
Set the value of the width of all items in the collection. Note that this value is only consulted when new items are added to the collection.
Parameters:
int - f the new fixed width for this collection (use -1 for no fixed width)

make_toggle

protected toggle make_toggle(int i)
Make a toggle. Its useful to override this if you want a different toggle class.
Parameters:
int - i which toggle (which possible) you want this new toggle to be
Returns:
toggle the toggle we want added to the collection

set_item

public void set_item(int i,
                     java.lang.String s)
Set the ith item in the collection to display a certain string. You better make sure the items are contiguous or you'll get a null pointer exception when you try to redraw this object.

Items begin numbering at zero.

Parameters:
int - i the number of the item you want to change.
String - s the new string to display.

set_toggle_constraints

protected void set_toggle_constraints(toggle t,
                                      int i)
Put the constraints on for the the toggle.
Parameters:
toggle - t the toggle we are constraining.
int - i the position in the toggle of this collection.

default_offset

protected static int default_offset()
Return the default distance around the edges of items.
Returns:
int the amount of space around items

nth_toggle

public toggle nth_toggle(int n)
Indexing from 0, get the toggle associated with that index.
Parameters:
int - i the index in question
Returns:
toggle the interactor (toggle) for a particular index

nth_string

public java.lang.String nth_string(int n)
Get the String value for that an index.
Parameters:
int - i the index in question
Returns:
String the string associated with the index

font

public java.awt.Font font()
Return the font we are drawing labels in.
Returns:
Font the font for the strings displayed in this object.

set_font

public void set_font(java.awt.Font f)
Set the font to use for this collection.
Parameters:
Font - f the new font to draw the labels in