enum event_list_color { LIST_COLOR_NONE, LIST_COLOR_COMMENT, LIST_COLOR_COLLISION, LIST_COLOR_COLLISION_HIGHLIGHT, LIST_COLOR_COUNT }; enum { LAYER_COLUMN, INDEX_COLUMN, FLAGS_COLUMN, START_COLUMN, END_COLUMN, DUR_COLUMN, STYLE_COLUMN, NAME_COLUMN, TEXT_COLUMN, PTR_COLUMN, COLOR_COLUMN, N_COLUMNS }; enum { INDEX_COLUMN_UI, LAYER_COLUMN_UI, START_COLUMN_UI, END_COLUMN_UI, DUR_COLUMN_UI, STYLE_COLUMN_UI, NAME_COLUMN_UI, TEXT_COLUMN_UI }; struct KryEventList { GtkTreeView *view; GtkListStore *store; gboolean dummy; GtkTreeViewColumn *columns[N_COLUMNS]; }; struct KryEventList *gui_event_list_new(gboolean dummy); void gui_event_list_disable_selection_event(struct KryEventList *event_list); void gui_event_list_enable_selection_event(struct KryEventList *event_list); void gui_event_list_fill_from_list_detailed(struct KryEventList *event_list, kryList *list, gboolean add_blanks = TRUE); void gui_event_list_fill_from_list_karaoke(struct KryEventList *event_list, kryList *list); void gui_event_list_clear(struct KryEventList *event_list); void gui_event_list_set_row_color(struct KryEventList *event_list, int index, enum event_list_color col_color); void gui_event_list_color_collisions(struct KryEventList *event_list); void gui_event_list_append_blank_rows(struct KryEventList *event_list, int count); void gui_event_list_update_line(struct KryEventList *event_list, kryEvent *line, GtkTreeIter *iter_param = NULL); void gui_event_list_update_blank_count(struct KryEventList *event_list); GtkTreeView *gui_event_list_get_view(struct KryEventList *event_list); GtkTreeSelection *gui_event_list_get_selection(struct KryEventList *event_list); GtkListStore *gui_event_list_get_store(struct KryEventList *event_list); void gui_event_list_update_visible_columns(struct KryEventList *event_list, enum ui_mode ui_mode); void gui_event_list_color_change_string(kryColor *color); void gui_event_list_scroll_if_necessary(struct KryEventList *list, GtkTreePath *path, gboolean up);