blob: 03f764ffd17533df1e2d1a2b9ce1cd69da00c59f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
/** \file lib/widget/history.h
* \brief Header: show history
*/
#ifndef MC__WIDGET_HISTORY_H
#define MC__WIDGET_HISTORY_H
/*** typedefs(not structures) and defined constants **********************************************/
/* forward declarations */
struct history_descriptor_t;
struct WLEntry;
struct WListbox;
typedef void (*history_create_item_func) (struct history_descriptor_t * hd, void *data);
typedef void *(*history_release_item_func) (struct history_descriptor_t * hd, struct WLEntry * le);
/*** enums ***************************************************************************************/
/*** structures declarations (and typedefs of structures)*****************************************/
typedef struct history_descriptor_t
{
GList *list; /**< list with history items */
int y; /**< y-coordinate to place history window */
int x; /**< x-coordinate to place history window */
int current; /**< initially selected item in the history */
int action; /**< return action in the history */
char *text; /**< return text of selected item */
size_t max_width; /**< maximum width of string in history */
struct WListbox *listbox; /**< listbox widget to draw history */
history_create_item_func create; /**< function to create item of @list */
history_release_item_func release; /**< function to release item of @list */
GDestroyNotify free; /**< function to destroy element of @list */
} history_descriptor_t;
/*** global variables defined in .c file *********************************************************/
/*** declarations of public functions ************************************************************/
void history_descriptor_init (history_descriptor_t * hd, int y, int x, GList * history,
int current);
void history_show (history_descriptor_t * hd);
/*** inline functions ****************************************************************************/
#endif /* MC__WIDGET_HISTORY_H */
|