1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-11-04 08:17:17 -05:00
elinks/src/bfu
Kalle Olavi Niemitalo 44e8a38693 Bug 914: Don't let UTF-8 I/O affect internal representations.
Use it for the actual I/O only.  Previously, defining CONFIG_UTF8 and
enabling UTF-8 used to force many strings to the UTF-8 charset
regardless of the terminal charset option.  Now, those strings always
follow the terminal charset.  This fixes bug 914 which was caused
because _() returned strings in the terminal charset and functions
then assumed they were in UTF-8.  This reduction in the effects of
UTF-8 I/O may also simplify future testing.
2007-05-20 20:11:55 +02:00
..
button.c Bug 914: Don't let UTF-8 I/O affect internal representations. 2007-05-20 20:11:55 +02:00
button.h add_dlg_button_do: Let file point to const. 2007-01-28 14:44:24 +02:00
checkbox.c Make all instances of struct widget_ops const. 2007-01-28 14:41:40 +02:00
checkbox.h Make all instances of struct widget_ops const. 2007-01-28 14:41:40 +02:00
common.h Remove empty lines in start of header files 2005-11-15 11:33:27 +01:00
dialog.c Bug 914: Don't let UTF-8 I/O affect internal representations. 2007-05-20 20:11:55 +02:00
dialog.h Initially place cursor on the current listbox item 2006-02-12 17:11:57 +00:00
group.c Bug 914: Don't let UTF-8 I/O affect internal representations. 2007-05-20 20:11:55 +02:00
group.h Added format_only parameter for distinguish between formating. 2006-03-06 06:01:12 +01:00
hierbox.c Cast variadic arguments of getml to void *. 2007-05-01 20:04:50 +02:00
hierbox.h bug 397: It works for download_manger. I hope this don't break anything. 2007-05-01 22:07:33 +02:00
hotkey.c Trim some trailing whitespaces. 2006-09-29 00:07:54 +02:00
hotkey.h BFU UTF-8: check_hotkeys_common() compares hotkeys as Unicode. 2006-08-13 23:45:41 +03:00
inpfield.c Bug 914: Don't let UTF-8 I/O affect internal representations. 2007-05-20 20:11:55 +02:00
inpfield.h Make all instances of struct widget_ops const. 2007-01-28 14:41:40 +02:00
inphist.c Cast the NULL argument of straconcat to unsigned char *. 2007-05-01 20:05:04 +02:00
inphist.h Remove empty lines in start of header files 2005-11-15 11:33:27 +01:00
leds.c menu_leds_info: Revert the previous change. 2007-05-01 19:58:22 +02:00
leds.h Remove empty lines in start of header files 2005-11-15 11:33:27 +01:00
listbox.c Bug 914: Don't let UTF-8 I/O affect internal representations. 2007-05-20 20:11:55 +02:00
listbox.h Make instances of struct listbox_ops const. 2007-02-04 15:17:49 +02:00
listmenu.c Cast the NULL argument of straconcat to unsigned char *. 2007-05-01 20:05:04 +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 Bug 914: Don't let UTF-8 I/O affect internal representations. 2007-05-20 20:11:55 +02:00
menu.h Properly deselect the main menu instead of crashing 2006-06-19 11:07:03 +00:00
msgbox.c Type-check button arguments of msg_box. 2007-05-01 19:57:52 +02:00
msgbox.h Type-check button arguments of msg_box. 2007-05-01 19:57:52 +02:00
README doc: Added src/bfu/README. 2006-05-13 17:01:20 +03:00
style.c Explicitly compare to COLOR_MODE_MONO where appropriate. 2006-12-25 10:27:23 +02:00
style.h Remove empty lines in start of header files 2005-11-15 11:33:27 +01:00
text.c Bug 914: Don't let UTF-8 I/O affect internal representations. 2007-05-20 20:11:55 +02:00
text.h Make all instances of struct widget_ops const. 2007-01-28 14:41:40 +02:00
widget.c Remove now useless $Id: lines. 2005-10-21 09:14:07 +02:00
widget.h Bug 914: Don't let UTF-8 I/O affect internal representations. 2007-05-20 20:11:55 +02: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.