sub_arctic.lib
Class listbox_child_display

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

public class listbox_child_display
extends base_parent_interactor

This is a helper class for listbox_display. This object does the work of laying out the children in a "columnlike" way. It can reset what children are displayed and what children are selected based on a vector.


Field Summary
protected  int _cached_height
          Cached height of this object.
protected  int _cached_width
          Cached width of this object.
protected  listbox_display _parent_listbox
          Store the parent listbox_display of this object.
protected  java.util.Vector _selected_set
          We keep a cached copy of the set of selected objects so we can make dragging faster.
 
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
listbox_child_display(int w, int h, listbox_display pl)
          Create a listbox display.
 
Method Summary
 void calculate_width()
          Calculate the width by iterating over the children and computing our width to be the largest of the children.
 void configure()
          We need to inform the parent when our size changes, so we override configure to allow us to detect this.
 java.util.Vector contents_raw()
          Retrieve the contents of the listbox as list_elements.
 java.util.Vector contents()
          Retrieve the contents of the listbox transformed by the listbox elements via convert_to_object.
 void draw_self_local(drawable d)
          This object wants to have an opaque background which is the color of the text background of the style system.
 int index_for_pixel(int target)
          This function is called by our parent to find the object which will cover a given pixel coordinate.
 listbox_display parent_listbox()
          Retrieve the parent listbox_display of this object.
 java.util.Vector selected_set_raw()
          This function retrieves the currently selected set of objects as list_elements.
 java.util.Vector selected_set()
          This function retrieves the currently selected set of objects as values.
 void set_contents(java.util.Vector contents)
          Put a vector of list_elements into this object.
 void set_selected(java.util.Vector new_set)
          This method sets the set of objects which are selected.
 boolean will_fit_height(int height)
          This function is a predicate used by other classes to see if this display will fit in an area's height;
 boolean will_fit_width(int width)
          This function is a predicate used by other classes to see if this display will fit in an area's width.
 
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, pick, 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

_cached_width

protected int _cached_width
Cached width of this object.

_cached_height

protected int _cached_height
Cached height of this object.

_parent_listbox

protected listbox_display _parent_listbox
Store the parent listbox_display of this object.

_selected_set

protected java.util.Vector _selected_set
We keep a cached copy of the set of selected objects so we can make dragging faster.
Constructor Detail

listbox_child_display

public listbox_child_display(int w,
                             int h,
                             listbox_display pl)
Create a listbox display. The creator should supply a width a height. This object has no sizing behavior, it should be clipped by placing it inside another object. We assume that the creator of the listbox will position this object "by hand" if it is necessary for this object to appear at a location other than 0,0 of its parent.
Parameters:
int - w width of this object
int - h height of this object
listbox_display - pl the listbox_display this object is embedded in
Method Detail

parent_listbox

public listbox_display parent_listbox()
Retrieve the parent listbox_display of this object.
Returns:
listbox the listbox this object is associated with

set_contents

public void set_contents(java.util.Vector contents)
Put a vector of list_elements into this object. This will replace the current contents of this object.
Parameters:
Vector - contents the new contents of this object (all the objects in this vector must be list_elements).

set_selected

public void set_selected(java.util.Vector new_set)
This method sets the set of objects which are selected. All of the objects in this list should be objects which are already in the set of objects in this display. If they are not, they are ignored. However, they objects in this Vector must be list_elements.
Parameters:
Vector - selected_set the objects which should be displayed as selected.

configure

public void configure()
We need to inform the parent when our size changes, so we override configure to allow us to detect this.
Overrides:
configure in class base_interactor

draw_self_local

public void draw_self_local(drawable d)
This object wants to have an opaque background which is the color of the text background of the style system. We override draw self local to get this behavior.
Parameters:
drawable - d the surface to draw on
Overrides:
draw_self_local in class base_interactor

calculate_width

public void calculate_width()
Calculate the width by iterating over the children and computing our width to be the largest of the children.

will_fit_width

public boolean will_fit_width(int width)
This function is a predicate used by other classes to see if this display will fit in an area's width.
Parameters:
int - width the width we would like to display this object in
Returns:
boolean true if this object will fit in that area

will_fit_height

public boolean will_fit_height(int height)
This function is a predicate used by other classes to see if this display will fit in an area's height;
Parameters:
int - height the height we would like to display this object in
Returns:
boolean true if this object will fit in that area

index_for_pixel

public int index_for_pixel(int target)
This function is called by our parent to find the object which will cover a given pixel coordinate.
Parameters:
int - target the target pixel we are looking for
Returns:
int the index of the object. We return 0 if this object is empty.

selected_set_raw

public java.util.Vector selected_set_raw()
This function retrieves the currently selected set of objects as list_elements. This is primarily useful if you wish to address these objects as interactors, rather than as data values.
Returns:
Vector a vector of list_elements which are those objects that are currently selected. This will return an empty (not null) Vector if the selected set is currently empty.

selected_set

public java.util.Vector selected_set()
This function retrieves the currently selected set of objects as values. list_element objects which support the "convert_to_object" method will return a more convenient representation of themselves, and those that done will be returned as list_elements. If nothing is selected, this will return an empty (not null) vector.
Returns:
Vector a vector of selected set objects

contents

public java.util.Vector contents()
Retrieve the contents of the listbox transformed by the listbox elements via convert_to_object. If the listbox is empty, this will return an empty Vector.
Returns:
Vector the contents of the listbox

contents_raw

public java.util.Vector contents_raw()
Retrieve the contents of the listbox as list_elements. If the listbox is empty, this will return an empty Vector.
Returns:
Vector the contents of the listbox