mc/lib/widget/history.h
Andrew Borodin 29110e5681 Move history operation routines from lib/widget/history.c to lib/mcconfig/history.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2019-09-01 19:41:12 +03:00

52 lines
2.1 KiB
C

/** \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 sring 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 */