1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00
elinks/src/bfu
Kalle Olavi Niemitalo 4d80fe6453 BFU UTF-8: select_button_by_key() folds the case of Unicode characters.
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.
2006-08-13 20:30:19 +03:00
..
button.c Trim trailing whitespaces. 2006-07-27 09:51:10 +02:00
button.h Added format_only parameter for distinguish between formating. 2006-03-06 06:01:12 +01:00
checkbox.c Added format_only parameter for distinguish between formating. 2006-03-06 06:01:12 +01:00
checkbox.h Added format_only parameter for distinguish between formating. 2006-03-06 06:01:12 +01:00
common.h Remove empty lines in start of header files 2005-11-15 11:33:27 +01:00
dialog.c BFU UTF-8: select_button_by_key() folds the case of Unicode characters. 2006-08-13 20:30:19 +03:00
dialog.h Initially place cursor on the current listbox item 2006-02-12 17:11:57 +00:00
group.c Trim trailing whitespaces. 2006-07-27 09:51:10 +02:00
group.h Added format_only parameter for distinguish between formating. 2006-03-06 06:01:12 +01:00
hierbox.c done_listbox_item: if_assert_failed return 2006-06-16 21:13:32 +00:00
hierbox.h Bookmarks: Fix update after move 2006-06-16 21:13:31 +00:00
hotkey.c check_hotkeys_common(): @res -> @found. 2006-01-06 21:37:36 +01:00
hotkey.h Remove now useless $Id: lines. 2005-10-21 09:14:07 +02:00
inpfield.c terminal UTF-8: term_event_keyboard.key is UCS-4, #ifdef CONFIG_UTF_8. 2006-08-06 20:02:43 +00:00
inpfield.h Added format_only parameter for distinguish between formating. 2006-03-06 06:01:12 +01:00
inphist.c Preserve the text when doing a prefix completion. 2006-04-29 22:55:32 +00:00
inphist.h Remove empty lines in start of header files 2005-11-15 11:33:27 +01:00
leds.c Remove now useless $Id: lines. 2005-10-21 09:14:07 +02:00
leds.h Remove empty lines in start of header files 2005-11-15 11:33:27 +01:00
listbox.c Added support for double-width UTF-8 checkboxes and listbox in dialogs. 2006-03-06 15:15:30 +01:00
listbox.h Merge with utf8. src/document/plain/renderer.c replaced by utf8 version 2006-07-21 13:12:06 +02:00
listmenu.c Remove now useless $Id: lines. 2005-10-21 09:14:07 +02:00
listmenu.h Remove now useless $Id: lines. 2005-10-21 09:14:07 +02:00
Makefile path_to_top -> top_builddir 2005-10-20 04:00:35 +02:00
menu.c terminal: Introduce term_event_key_T. 2006-08-12 14:48:08 +03:00
menu.h Properly deselect the main menu instead of crashing 2006-06-19 11:07:03 +00:00
msgbox.c Here is a framework that detects cases where a PO file assigns 2006-01-01 18:55:18 +02:00
msgbox.h #include util/align.h in bfu/msgbox.h. 2005-12-20 10:48:45 +00:00
README doc: Added src/bfu/README. 2006-05-13 17:01:20 +03:00
style.c Pass a pointer to a hash pointer to free_hash() to ensure hash pointer 2006-05-31 19:33:36 +02:00
style.h Remove empty lines in start of header files 2005-11-15 11:33:27 +01:00
text.c BFU: Fix cell count for forcibly wrapped lines. 2006-08-06 23:26:55 +00:00
text.h Added format_only parameter for distinguish between formating. 2006-03-06 06:01:12 +01:00
widget.c Remove now useless $Id: lines. 2005-10-21 09:14:07 +02:00
widget.h Drop unused listbox widget height stuff. 2006-01-05 11:50:42 +01:00

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.