BC_ListBox Class Reference

#include <bclistbox.h>

Inherits BC_SubWindow.

Inherited by AspectPulldown, AssetEditInterlacemodePulldown, AVIVAttributeList, AWindowAssets, AWindowFolders, BatchRenderList, BC_DeleteList, BC_FileBoxFilterMenu, BC_FileBoxListBox, BC_FileBoxRecent, BC_PopupTextBoxList, BC_RecentList, BitsPopupMenu, ByteOrderList, ChannelEditList, ChannelList, ColormodelPulldown, DecimateRateMenu, ExportEDLWindowTrackList, FormatPopup, FormatPresetsPulldown, FrameRatePulldown, FrameSizePulldown, InterlacefixmethodPulldown, InterlacemodePulldown, InterpolateVideoRateMenu, LiveChannelList, LoadModeListBox, MenuEffectWindowList, NewPresetsPulldown, PluginDialogModules, PluginDialogNew, PluginDialogShared, PrefsRenderFarmNodes, RecordGUIBatches, RenderProfileListBox, and SampleRatePulldown.

Collaboration diagram for BC_ListBox:

Collaboration graph
[legend]

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)
int draw_items (int flash)

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_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 
)

BC_ListBox::~BC_ListBox (  )  [virtual]


Member Function Documentation

int BC_ListBox::initialize (  )  [virtual]

int BC_ListBox::enable (  ) 

Definition at line 435 of file bclistbox.C.

References disabled, and draw_button().

Referenced by Interlaceautofix::showhideotherwidgets().

Here is the call graph for this function:

int BC_ListBox::disable (  ) 

Definition at line 442 of file bclistbox.C.

References disabled, and draw_button().

Referenced by Interlaceautofix::showhideotherwidgets().

Here is the call graph for this function:

virtual int BC_ListBox::selection_changed (  )  [inline, virtual]

virtual int BC_ListBox::handle_event (  )  [inline, virtual]

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

Reimplemented in AWindowAssets, BatchRenderList, PrefsRenderFarmNodes, RecordGUIBatches, and BC_FileBoxListBox.

Definition at line 110 of file bclistbox.h.

Referenced by cursor_motion_event().

void BC_ListBox::draw_background (  )  [virtual]

virtual int BC_ListBox::sort_order_event (  )  [inline, virtual]

Reimplemented in BC_FileBoxListBox.

Definition at line 115 of file bclistbox.h.

Referenced by button_release_event().

virtual int BC_ListBox::move_column_event (  )  [inline, virtual]

Reimplemented in BC_FileBoxListBox.

Definition at line 117 of file bclistbox.h.

Referenced by drag_stop_event().

int BC_ListBox::get_from_column (  ) 

Definition at line 1333 of file bclistbox.C.

References dragged_title.

Referenced by BC_FileBoxListBox::move_column_event().

int BC_ListBox::get_to_column (  ) 

Definition at line 1338 of file bclistbox.C.

References highlighted_title.

Referenced by BC_FileBoxListBox::move_column_event().

BC_ListBoxItem * BC_ListBox::get_selection ( int  column,
int  selection_number 
)

Definition at line 1344 of file bclistbox.C.

References data, and get_selection_recursive().

Referenced by AWindowGUI::collect_assets(), AWindowAssets::drag_start_event(), AVIConfigVideo::get_current_attribute_text(), AVIConfigVideo::get_current_attribute_value(), BC_FileBox::get_path(), InterpolateVideoRateMenu::handle_event(), DecimateRateMenu::handle_event(), BC_PopupTextBoxList::handle_event(), BC_RecentList::handle_event(), BC_FileBoxFilterMenu::handle_event(), BC_FileBoxRecent::handle_event(), RenderProfileListBox::handle_event(), PrefsRenderFarmNodes::handle_event(), NewPresetsPulldown::handle_event(), InterlacemodePulldown::handle_event(), ColormodelPulldown::handle_event(), AspectPulldown::handle_event(), FrameSizePulldown::handle_event(), FrameRatePulldown::handle_event(), SampleRatePulldown::handle_event(), LoadModeListBox::handle_event(), FormatFormat::handle_event(), FormatPresetsPulldown::handle_event(), ByteOrderList::handle_event(), BitsPopupMenu::handle_event(), LabelPopupEdit::handle_event(), AWindowDeleteFolder::handle_event(), AWindowAssets::handle_event(), AssetEditFormat::handle_event(), AssetEditInterlacemodePulldown::handle_event(), InterlacefixmethodPulldown::handle_event(), select_next(), select_previous(), AWindowGUI::selected_asset(), AWindowGUI::selected_folder(), AWindowGUI::selected_plugin(), BC_FileBoxListBox::selection_changed(), AWindowAssets::selection_changed(), and AWindowFolders::selection_changed().

Here is the call graph for this function: