2010-11-12 11:03:57 +03:00
|
|
|
|
2012-08-31 18:05:29 +04:00
|
|
|
/** \file lib/widget/history.h
|
2019-07-28 15:24:00 +03:00
|
|
|
* \brief Header: show history
|
2010-11-12 11:03:57 +03:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef MC__WIDGET_HISTORY_H
|
|
|
|
#define MC__WIDGET_HISTORY_H
|
|
|
|
|
|
|
|
/*** typedefs(not structures) and defined constants **********************************************/
|
|
|
|
|
2019-07-27 11:44:00 +03:00
|
|
|
/* 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);
|
|
|
|
|
2010-11-12 11:03:57 +03:00
|
|
|
/*** enums ***************************************************************************************/
|
|
|
|
|
|
|
|
/*** structures declarations (and typedefs of structures)*****************************************/
|
|
|
|
|
2019-07-27 11:44:00 +03:00
|
|
|
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;
|
|
|
|
|
2010-11-12 11:03:57 +03:00
|
|
|
/*** global variables defined in .c file *********************************************************/
|
|
|
|
|
|
|
|
/*** declarations of public functions ************************************************************/
|
|
|
|
|
2019-07-27 11:44:00 +03:00
|
|
|
void history_descriptor_init (history_descriptor_t * hd, int y, int x, GList * history,
|
|
|
|
int current);
|
|
|
|
|
|
|
|
void history_show (history_descriptor_t * hd);
|
2010-11-12 11:03:57 +03:00
|
|
|
|
|
|
|
/*** inline functions ****************************************************************************/
|
|
|
|
|
|
|
|
#endif /* MC__WIDGET_HISTORY_H */
|