mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
4d80fe6453
This causes the documented-slow cp2u() to be called in a loop, which fortunately doesn't have very many iterations. If this is too slow, then cp2u() can be rewritten, or the hotkeys can be cached in struct widget or struct widget_data. Note that check_kbd_label_key() does not yet allow non-ASCII characters when CONFIG_UTF_8 is defined. Before they are allowed, menu.c should also be updated. |
||
---|---|---|
.. | ||
button.c | ||
button.h | ||
checkbox.c | ||
checkbox.h | ||
common.h | ||
dialog.c | ||
dialog.h | ||
group.c | ||
group.h | ||
hierbox.c | ||
hierbox.h | ||
hotkey.c | ||
hotkey.h | ||
inpfield.c | ||
inpfield.h | ||
inphist.c | ||
inphist.h | ||
leds.c | ||
leds.h | ||
listbox.c | ||
listbox.h | ||
listmenu.c | ||
listmenu.h | ||
Makefile | ||
menu.c | ||
menu.h | ||
msgbox.c | ||
msgbox.h | ||
README | ||
style.c | ||
style.h | ||
text.c | ||
text.h | ||
widget.c | ||
widget.h |
OVERVIEW OF BFU =============== BFU is the text-mode user interface used by ELinks. It builds dialogs, widgets and menus on top of the window system implemented at src/terminal/. ===================== | struct widget_ops | | bfu/widget.h | ===================== 1^ | *| ==================== ====================== ================= | struct menu_item | | struct widget_data | * 1 | struct widget | | bfu/menu.h | | bfu/widget.h | ---> | bfu/widget.h | ==================== ====================== ================= +^ +^ +^ | | | ?| 1| 1| =============== ====================== ================= | struct menu | | struct dialog_data | * 1 | struct dialog | | bfu/menu.h | | bfu/dialog.h | ----> | bfu/dialog.h | =============== ====================== ================= ?^ ?^ ?^ ?| 1| 1| | | | | | | | | | 1v | 1v | 1v 1v ====================== | ======================== | ===================== | struct memory_list | | | struct dialog_layout | | | struct window | | util/memlist.h | | | bfu/dialog.h | | | terminal/window.h | ====================== | ======================== | ===================== ?v | *^ ========================= | | | struct dialog_refresh | | 1v | bfu/dialog.h | | ======================= ========================= | ? | struct terminal | ---------- | terminal/terminal.h | main_menu ======================= ?| ?| | | 1v ?v ========================== ============================= | struct terminal_screen | | struct terminal_interlink | | terminal/screen.h | | terminal/event.c | ========================== ============================= Legend: ---> can be followed like a pointer ? zero or one 1 exactly one * zero or more + one or more There may be errors in the quantifiers.