ELinks 0.18.0
hierbox.h File Reference
#include "bfu/common.h"
#include "bfu/listbox.h"
#include "util/lists.h"
Include dependency graph for hierbox.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct  hierbox_browser_button
 BFU hierbox browser button. More...
 
struct  hierbox_browser
 BFU hierbox browser. More...
 
struct  hierbox_dialog_list_item
 

Macros

#define struct_hierbox_browser(name, title, buttons, ops)
 Define a hierbox browser This macro takes care of initializing all the fields of a hierbox browser so it is ready to use.
 
#define add_listbox_folder(browser, root, data)    add_listbox_item(browser, root, BI_FOLDER, data, 1)
 
#define add_listbox_leaf(browser, root, data)    add_listbox_item(browser, root, BI_LEAF, data, 1)
 

Functions

void done_listbox_item (struct hierbox_browser *browser, struct listbox_item *item)
 
void update_hierbox_browser (struct hierbox_browser *browser)
 
struct listbox_itemadd_listbox_item (struct hierbox_browser *browser, struct listbox_item *root, enum listbox_item_type type, void *data, int add_position)
 
struct dialog_datahierbox_browser (struct hierbox_browser *browser, struct session *ses)
 Open a hierbox browser Opens an instantiation of a hierbox browser.
 
widget_handler_status_T push_hierbox_info_button (struct dialog_data *dlg_data, struct widget_data *button)
 
widget_handler_status_T push_hierbox_goto_button (struct dialog_data *dlg_data, struct widget_data *button)
 
widget_handler_status_T push_hierbox_delete_button (struct dialog_data *dlg_data, struct widget_data *button)
 
widget_handler_status_T push_hierbox_clear_button (struct dialog_data *dlg_data, struct widget_data *button)
 
widget_handler_status_T push_hierbox_search_button (struct dialog_data *dlg_data, struct widget_data *button)
 

Macro Definition Documentation

◆ add_listbox_folder

#define add_listbox_folder ( browser,
root,
data )    add_listbox_item(browser, root, BI_FOLDER, data, 1)

◆ add_listbox_leaf

#define add_listbox_leaf ( browser,
root,
data )    add_listbox_item(browser, root, BI_LEAF, data, 1)

◆ struct_hierbox_browser

#define struct_hierbox_browser ( name,
title,
buttons,
ops )
Value:
struct hierbox_browser name = { \
title, \
NULL, \
sizeof_array(buttons), \
{ D_LIST_HEAD_EL(name.boxes) }, \
{ D_LIST_HEAD_EL(name.dialogs) }, \
{ \
{ D_LIST_HEAD_EL(name.root.child) }, \
-1, \
1, \
0, \
}, \
ops, \
}
#define ops(matchfn)
Definition dialogs.c:243
#define NULL
Definition explodename.c:35
@ BI_FOLDER
Definition listbox.h:117
#define D_LIST_HEAD_EL(x)
Definition lists.h:116
#define NULL_LIST_HEAD_EL
Definition lists.h:115
BFU hierbox browser.
Definition hierbox.h:39
struct hierbox_dialog_list_item list dialogs
List of active dialogs.
Definition hierbox.h:72
struct listbox_item root
The root listbox The ancestor of all listboxes in this listbox browser.
Definition hierbox.h:76
const struct hierbox_browser_button * buttons
Array of browser buttons.
Definition hierbox.h:55
struct listbox_data list boxes
List of active listbox containers.
Definition hierbox.h:65
char * title
The title of the browser Note, it is automatically localized.
Definition hierbox.h:42
struct listbox_item list child
Definition listbox.h:126

Define a hierbox browser This macro takes care of initializing all the fields of a hierbox browser so it is ready to use.

Function Documentation

◆ add_listbox_item()

struct listbox_item * add_listbox_item ( struct hierbox_browser * browser,
struct listbox_item * root,
enum listbox_item_type type,
void * data,
int add_position )

◆ done_listbox_item()

void done_listbox_item ( struct hierbox_browser * browser,
struct listbox_item * item )

◆ hierbox_browser()

struct dialog_data * hierbox_browser ( struct hierbox_browser * browser,
struct session * ses )

Open a hierbox browser Opens an instantiation of a hierbox browser.

Parameters
browserThe browser to open.
sesThe session (and terminal) on which it should appear.
Returns
A reference to the dialog that was created or NULL.

◆ push_hierbox_clear_button()

widget_handler_status_T push_hierbox_clear_button ( struct dialog_data * dlg_data,
struct widget_data * button )

◆ push_hierbox_delete_button()

widget_handler_status_T push_hierbox_delete_button ( struct dialog_data * dlg_data,
struct widget_data * button )

◆ push_hierbox_goto_button()

widget_handler_status_T push_hierbox_goto_button ( struct dialog_data * dlg_data,
struct widget_data * button )

◆ push_hierbox_info_button()

widget_handler_status_T push_hierbox_info_button ( struct dialog_data * dlg_data,
struct widget_data * button )

◆ push_hierbox_search_button()

widget_handler_status_T push_hierbox_search_button ( struct dialog_data * dlg_data,
struct widget_data * button )

◆ update_hierbox_browser()

void update_hierbox_browser ( struct hierbox_browser * browser)