HelenOS sources
#ifndef _UI_LIST_H
#define _UI_LIST_H
#include <errno.h>
#include <gfx/coord.h>
#include <ui/control.h>
#include <ui/window.h>
#include <stdbool.h>
#include <types/ui/list.h>
extern errno_t ui_list_create(ui_window_t *, bool, ui_list_t **);
extern void ui_list_destroy(ui_list_t *);
extern ui_control_t *ui_list_ctl(ui_list_t *);
extern void ui_list_set_cb(ui_list_t *, ui_list_cb_t *, void *);
extern void *ui_list_get_cb_arg(ui_list_t *);
extern void ui_list_set_rect(ui_list_t *, gfx_rect_t *);
extern errno_t ui_list_activate(ui_list_t *);
extern void ui_list_deactivate(ui_list_t *);
extern ui_list_entry_t *ui_list_get_cursor(ui_list_t *);
extern void ui_list_set_cursor(ui_list_t *, ui_list_entry_t *);
extern void ui_list_entry_attr_init(ui_list_entry_attr_t *);
extern errno_t ui_list_entry_append(ui_list_t *,
ui_list_entry_attr_t *, ui_list_entry_t **);
extern void ui_list_entry_move_up(ui_list_entry_t *);
extern void ui_list_entry_move_down(ui_list_entry_t *);
extern void ui_list_entry_delete(ui_list_entry_t *);
extern void *ui_list_entry_get_arg(ui_list_entry_t *);
extern ui_list_t *ui_list_entry_get_list(ui_list_entry_t *);
extern errno_t ui_list_entry_set_caption(ui_list_entry_t *, const char *);
extern size_t ui_list_entries_cnt(ui_list_t *);
extern errno_t ui_list_sort(ui_list_t *);
extern void ui_list_cursor_center(ui_list_t *, ui_list_entry_t *);
extern ui_list_entry_t *ui_list_first(ui_list_t *);
extern ui_list_entry_t *ui_list_last(ui_list_t *);
extern ui_list_entry_t *ui_list_next(ui_list_entry_t *);
extern ui_list_entry_t *ui_list_prev(ui_list_entry_t *);
extern bool ui_list_is_active(ui_list_t *);
#endif
HelenOS homepage, sources at GitHub