Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

BC_ListBox Class Reference

#include <bclistbox.h>

Inheritance diagram for BC_ListBox:

BC_SubWindow BC_WindowBase BC_RelocatableWidget BC_DeleteList BC_FileBoxFilterMenu BC_FileBoxListBox BC_FileBoxRecent BC_PopupTextBoxList BC_RecentList List of all members.

Public Types

enum  { SORT_ASCENDING, SORT_DESCENDING }

Public Member Functions

 BC_ListBox (int x, int y, int w, int h, int display_format, ArrayList< BC_ListBoxItem * > *data=0, char **column_titles=0, int *column_width=0, int columns=1, int yposition=0, int is_popup=0, int selection_mode=LISTBOX_SINGLE, int icon_position=ICON_LEFT, int allow_drag=0)
virtual ~BC_ListBox ()
int initialize ()
int enable ()
int disable ()
virtual int selection_changed ()
virtual int handle_event ()
virtual int column_resize_event ()
virtual void draw_background ()
virtual int sort_order_event ()
virtual int move_column_event ()
int get_from_column ()
int get_to_column ()
BC_ListBoxItemget_selection (int column, int selection_number)
BC_ListBoxItemget_selection_recursive (ArrayList< BC_ListBoxItem * > *data, int column, int selection_number)
int get_selection_number (int column, int selection_number)
int get_selection_number_recursive (ArrayList< BC_ListBoxItem * > *data, int column, int selection_number, int *counter=0)
virtual int evaluate_query (int list_item, char *string)
void expand_item (BC_ListBoxItem *item, int expand)
int item_to_index (ArrayList< BC_ListBoxItem * > *data, BC_ListBoxItem *item, int *counter=0)
BC_ListBoxItemindex_to_item (ArrayList< BC_ListBoxItem * > *data, int number, int column, int *counter=0)
int focus_out_event ()
virtual int button_press_event ()
int button_release_event ()
int cursor_enter_event ()
int cursor_leave_event ()
int cursor_motion_event ()
virtual int drag_start_event ()
virtual int drag_motion_event ()
virtual int drag_stop_event ()
int deactivate ()
void deactivate_selection ()
int activate ()
virtual int keypress_event ()
int translation_event ()
int repeat_event (int64_t duration)
BC_DragWindowget_drag_popup ()
int update (ArrayList< BC_ListBoxItem * > *data, char **column_titles, int *column_widths, int columns, int xposition=0, int yposition=0, int highlighted_number=-1, int recalc_positions=0, int draw=1)
void center_selection ()
void update_format (int display_format, int redraw)
int get_format ()
void set_drag_scroll (int value)
void set_allow_drag_column (int value)
void set_process_drag (int value)
void set_master_column (int value, int redraw)
void set_search_column (int value)
int set_selection_mode (int mode)
int set_yposition (int position, int draw_items=1)
int get_yposition ()
int set_xposition (int position)
int get_xposition ()
int get_highlighted_item ()
int get_yscroll_x ()
int get_yscroll_y ()
int get_yscroll_height ()
int get_xscroll_x ()
int get_xscroll_y ()
int get_xscroll_width ()
int get_column_offset (int column)
int get_column_width (int column, int clamp_right=0)
int get_w ()
int get_h ()
int get_display_mode ()
void set_justify (int value)
int get_sort_column ()
void set_sort_column (int value, int redraw=0)
int get_sort_order ()
void set_sort_order (int value, int redraw=0)
void reset_query ()
int reposition_window (int x, int y, int w=-1, int h=-1)
BC_Pixmapget_bg_surface ()
void set_autoplacement (ArrayList< BC_ListBoxItem * > *data, int do_icon, int do_text)
void set_all_selected (ArrayList< BC_ListBoxItem * > *data, int value)
void set_selected (ArrayList< BC_ListBoxItem * > *data, int item_number, int value, int *counter=0)
int select_previous (int skip, BC_ListBoxItem *selected_item=0, int *counter=0, ArrayList< BC_ListBoxItem * > *data=0, int *got_it=0, int *got_second=0)
int select_next (int skip, BC_ListBoxItem *selected_item=0, int *counter=0, ArrayList< BC_ListBoxItem * > *data=0, int *got_it=0, int *got_second=0)
int update_selection (ArrayList< BC_ListBoxItem * > *data, int selection_number, int *counter=0)

Static Public Member Functions

static void collapse_recursive (ArrayList< BC_ListBoxItem * > *data, int master_column)
static int get_total_items (ArrayList< BC_ListBoxItem * > *data, int *result, int master_column)
static void dump (ArrayList< BC_ListBoxItem * > *data, int columns, int indent, int master_column)

Private Types

enum  {
  NO_OPERATION, BUTTON_DOWN_SELECT, BUTTON_DN, DRAG_DIVISION,
  DRAG_COLUMN, DRAG_ITEM, SELECT, SELECT_RECT,
  WHEEL, COLUMN_DN, COLUMN_DRAG, EXPAND_DN
}

Private Member Functions

void delete_columns ()
void set_columns (char **column_titles, int *column_widths, int columns)
int draw_button ()
int draw_items (int flash)
int draw_border (int flash)
int draw_titles (int flash)
void draw_toggles (int flash)
int draw_rectangle (int flash)
void draw_text_recursive (ArrayList< BC_ListBoxItem * > *data, int column, int indent, int *current_toggle)
int query_list ()
void init_column_width ()
void reset_cursor (int new_cursor)
void column_width_boundaries ()
int get_first_selection (ArrayList< BC_ListBoxItem * > *data, int *result=0)
int get_last_selection (ArrayList< BC_ListBoxItem * > *data, int *result=0)
int expand_selection (int button_press, int selection_number)
void select_range (ArrayList< BC_ListBoxItem * > *data, int start, int end, int *current=0)
int toggle_item_selection (ArrayList< BC_ListBoxItem * > *data, int selection_number, int *counter=0)
void promote_selections (ArrayList< BC_ListBoxItem * > *data, int old_value, int new_value)
int test_column_divisions (int cursor_x, int cursor_y, int &new_cursor)
int test_column_titles (int cursor_x, int cursor_y)
int test_expanders ()
int get_title_h ()
int calculate_item_coords ()
void calculate_last_coords_recursive (ArrayList< BC_ListBoxItem * > *data, int *icon_x, int *next_icon_x, int *next_icon_y, int *next_text_y, int top_level)
void calculate_item_coords_recursive (ArrayList< BC_ListBoxItem * > *data, int *icon_x, int *next_icon_x, int *next_icon_y, int *next_text_y, int top_level)
int get_items_width ()
int get_items_height (ArrayList< BC_ListBoxItem * > *data, int columns, int *result=0)
int get_icon_w (BC_ListBoxItem *item)
int get_icon_h (BC_ListBoxItem *item)
int get_item_x (BC_ListBoxItem *item)
int get_item_y (BC_ListBoxItem *item)
int get_item_w (BC_ListBoxItem *item)
int get_item_h (BC_ListBoxItem *item)
int get_item_highlight (ArrayList< BC_ListBoxItem * > *data, int column, int item)
int get_item_color (ArrayList< BC_ListBoxItem * > *data, int column, int item)
int get_icon_mask (BC_ListBoxItem *item, int &x, int &y, int &w, int &h)
int get_text_mask (BC_ListBoxItem *item, int &x, int &y, int &w, int &h)
void clear_listbox (int x, int y, int w, int h)
int test_drag_scroll (int cursor_x, int cursor_y)
int drag_scroll_event ()
int select_scroll_event ()
int rectangle_scroll_event ()
void move_vertical (int pixels)
void move_horizontal (int pixels)
void clamp_positions ()
int get_scrollbars ()
void update_scrollbars ()
int get_cursor_item (ArrayList< BC_ListBoxItem * > *data, int cursor_x, int cursor_y, BC_ListBoxItem **item_return=0, int *counter=0, int expanded=1)
int select_rectangle (ArrayList< BC_ListBoxItem * > *data, int x1, int y1, int x2, int y2)
BC_ListBoxItemnumber_to_item (int row)
int reposition_item (ArrayList< BC_ListBoxItem * > *data, int selection_number, int x, int y, int *counter=0)
void move_selection (ArrayList< BC_ListBoxItem * > *dst, ArrayList< BC_ListBoxItem * > *src)
int put_selection (ArrayList< BC_ListBoxItem * > *data, ArrayList< BC_ListBoxItem * > *src, int destination, int *counter=0)
int center_selection (int selection, ArrayList< BC_ListBoxItem * > *data=0, int *counter=0)

Private Attributes

ArrayList< BC_ListBoxItem * > * data
int is_popup
int popup_w
int popup_h
int yposition
int xposition
int row_height
int row_ascent
int row_descent
int selection_mode
int display_format
int icon_position
BC_ListBoxXScrollxscrollbar
BC_ListBoxYScrollyscrollbar
ArrayList< BC_ListBoxToggle * > expanders
char query [BCTEXTLEN]
BC_WindowBasegui
char ** column_titles
int * column_width
int default_column_width [1]
int columns
int master_column
int search_column
int view_h
int view_w
int title_h
int items_w
int items_h
int new_value
int need_xscroll
int need_yscroll
int process_drag
int allow_drag
int allow_drag_scroll
int allow_drag_column
int list_background
BC_Pixmapbutton_images [4]
BC_Pixmaptoggle_images [5]
BC_Pixmapbg_surface
BC_Pixmapbg_tile
VFramedrag_icon_vframe
VFramedrag_column_icon_vframe
BC_Pixmapbg_pixmap
BC_Pixmapcolumn_bg [3]
BC_Pixmapcolumn_sort_up
BC_Pixmapcolumn_sort_dn
int sort_column
int sort_order
int current_operation
int button_highlighted
int disabled
int list_highlighted
int highlighted_item
BC_ListBoxItemhighlighted_ptr
int highlighted_title
int highlighted_division
int dragged_title
int selection_start
int selection_end
int selection_center
int selection_number
int selection_number1
int selection_number2
int active
int button_releases
int current_cursor
int rect_x1
int rect_y1
int rect_x2
int rect_y2
BC_DragWindowdrag_popup
int justify

Friends

class BC_ListBoxToggle

Detailed Description

Definition at line 79 of file bclistbox.h.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
SORT_ASCENDING 
SORT_DESCENDING 

Definition at line 228 of file bclistbox.h.

anonymous enum [private]
 

Enumerator:
NO_OPERATION 
BUTTON_DOWN_SELECT 
BUTTON_DN 
DRAG_DIVISION 
DRAG_COLUMN 
DRAG_ITEM 
SELECT 
SELECT_RECT 
WHEEL 
COLUMN_DN 
COLUMN_DRAG 
EXPAND_DN 

Definition at line 540 of file bclistbox.h.


Constructor & Destructor Documentation

BC_ListBox::BC_ListBox int  x,
int  y,
int  w,
int  h,
int  display_format,
ArrayList< BC_ListBoxItem * > *  data = 0,
char **  column_titles = 0,
int *  column_width = 0,
int  columns = 1,
int  yposition = 0,
int  is_popup = 0,
int  selection_mode = LISTBOX_SINGLE,
int  icon_position = ICON_LEFT,
int  allow_drag = 0
 

Definition at line 306 of file bclistbox.C.

BC_ListBox::~BC_ListBox  )  [virtual]
 

Definition at line 414 of file bclistbox.C.


Member Function Documentation

int BC_ListBox::activate  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 3821 of file bclistbox.C.

int BC_ListBox::button_press_event  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 2741 of file bclistbox.C.

int BC_ListBox::button_release_event  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 2971 of file bclistbox.C.

int BC_ListBox::calculate_item_coords  )  [private]
 

Definition at line 614 of file bclistbox.C.

void BC_ListBox::calculate_item_coords_recursive ArrayList< BC_ListBoxItem * > *  data,
int *  icon_x,
int *  next_icon_x,
int *  next_icon_y,
int *  next_text_y,
int  top_level
[private]
 

Definition at line 713 of file bclistbox.C.

void BC_ListBox::calculate_last_coords_recursive ArrayList< BC_ListBoxItem * > *  data,
int *  icon_x,
int *  next_icon_x,
int *  next_icon_y,
int *  next_text_y,
int  top_level
[private]
 

Definition at line 652 of file bclistbox.C.

int BC_ListBox::center_selection int  selection,
ArrayList< BC_ListBoxItem * > *  data = 0,
int *  counter = 0
[private]
 

Definition at line 1725 of file bclistbox.C.

void BC_ListBox::center_selection  ) 
 

Definition at line 1526 of file bclistbox.C.

void BC_ListBox::clamp_positions  )  [private]
 

Definition at line 1705 of file bclistbox.C.

void BC_ListBox::clear_listbox int  x,
int  y,
int  w,
int  h
[private]
 

Definition at line 4005 of file bclistbox.C.

void BC_ListBox::collapse_recursive ArrayList< BC_ListBoxItem * > *  data,
int  master_column
[static]
 

Definition at line 1106 of file bclistbox.C.

virtual int BC_ListBox::column_resize_event  )  [inline, virtual]
 

Reimplemented in BC_FileBoxListBox.

Definition at line 110 of file bclistbox.h.

void BC_ListBox::column_width_boundaries  )  [private]
 

Definition at line 1221 of file bclistbox.C.

int BC_ListBox::cursor_enter_event  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 2399 of file bclistbox.C.

int BC_ListBox::cursor_leave_event  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 2438 of file bclistbox.C.

int BC_ListBox::cursor_motion_event  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 3216 of file bclistbox.C.

int BC_ListBox::deactivate  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 3802 of file bclistbox.C.

void BC_ListBox::deactivate_selection  ) 
 

Definition at line 580 of file bclistbox.C.

void BC_ListBox::delete_columns  )  [private]
 

Definition at line 1433 of file bclistbox.C.

int BC_ListBox::disable  ) 
 

Definition at line 441 of file bclistbox.C.

int BC_ListBox::drag_motion_event  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 3611 of file bclistbox.C.

int BC_ListBox::drag_scroll_event  )  [private]
 

Definition at line 1962 of file bclistbox.C.

int BC_ListBox::drag_start_event  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 3550 of file bclistbox.C.

int BC_ListBox::drag_stop_event  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 3662 of file bclistbox.C.

void BC_ListBox::draw_background  )  [virtual]
 

Definition at line 3992 of file bclistbox.C.

int BC_ListBox::draw_border int  flash  )  [private]
 

Definition at line 4290 of file bclistbox.C.

int BC_ListBox::draw_button  )  [private]
 

Definition at line 585 of file bclistbox.C.

int BC_ListBox::draw_items int  flash  )  [private]
 

Definition at line 4032 of file bclistbox.C.

int BC_ListBox::draw_rectangle int  flash  )  [private]
 

Definition at line 4393 of file bclistbox.C.

void BC_ListBox::draw_text_recursive ArrayList< BC_ListBoxItem * > *  data,
int  column,
int  indent,
int *  current_toggle
[private]
 

Definition at line 4168 of file bclistbox.C.

int BC_ListBox::draw_titles int  flash  )  [private]
 

Definition at line 4314 of file bclistbox.C.

void BC_ListBox::draw_toggles int  flash  )  [private]
 

Definition at line 4380 of file bclistbox.C.

void BC_ListBox::dump ArrayList< BC_ListBoxItem * > *  data,
int  columns,
int  indent,
int  master_column
[static]
 

Definition at line 4416 of file bclistbox.C.

int BC_ListBox::enable  ) 
 

Definition at line 434 of file bclistbox.C.

int BC_ListBox::evaluate_query int  list_item,
char *  string
[virtual]
 

Reimplemented in BC_FileBoxListBox.

Definition at line 453 of file bclistbox.C.

void BC_ListBox::expand_item BC_ListBoxItem item,
int  expand
 

Definition at line 1087 of file bclistbox.C.

int BC_ListBox::expand_selection int  button_press,
int  selection_number
[private]
 

Definition at line 2574 of file bclistbox.C.

int BC_ListBox::focus_out_event  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 2735 of file bclistbox.C.

BC_Pixmap * BC_ListBox::get_bg_surface  ) 
 

Definition at line 3986 of file bclistbox.C.

int BC_ListBox::get_column_offset int  column  ) 
 

Definition at line 1209 of file bclistbox.C.

int BC_ListBox::get_column_width int  column,
int  clamp_right = 0
 

Definition at line 1239 of file bclistbox.C.

int BC_ListBox::get_cursor_item ArrayList< BC_ListBoxItem * > *  data,
int  cursor_x,
int  cursor_y,
BC_ListBoxItem **  item_return = 0,
int *  counter = 0,
int  expanded = 1
[private]
 

Definition at line 2286 of file bclistbox.C.

int BC_ListBox::get_display_mode  ) 
 

Definition at line 885 of file bclistbox.C.

BC_DragWindow * BC_ListBox::get_drag_popup  ) 
 

Definition at line 3748 of file bclistbox.C.

int BC_ListBox::get_first_selection ArrayList< BC_ListBoxItem * > *  data,
int *  result = 0
[private]
 

Definition at line 2471 of file bclistbox.C.

int BC_ListBox::get_format  ) 
 

Definition at line 4025 of file bclistbox.C.

int BC_ListBox::get_from_column  ) 
 

Definition at line 1332 of file bclistbox.C.

int BC_ListBox::get_h  )  [virtual]
 

Reimplemented from BC_WindowBase.

Definition at line 1150 of file bclistbox.C.

int BC_ListBox::get_highlighted_item  ) 
 

Definition at line 900 of file bclistbox.C.

int BC_ListBox::get_icon_h BC_ListBoxItem item  )  [private]
 

Definition at line 975 of file bclistbox.C.

int BC_ListBox::get_icon_mask BC_ListBoxItem item,
int &  x,
int &  y,
int &  w,
int &  h
[private]
 

Definition at line 1251 of file bclistbox.C.

int BC_ListBox::get_icon_w BC_ListBoxItem item  )  [private]
 

Definition at line 968 of file bclistbox.C.