1
0
Fork 0
elinks/src/bfu
Witold Filipczyk d8de9ac7e5 [gcc] pragma outside function body 2019-12-06 20:13:38 +01:00
..
Makefile path_to_top -> top_builddir 2005-10-20 04:00:35 +02:00
README doc: Added src/bfu/README. 2006-05-13 17:01:20 +03:00
button.c Rename struct box to struct el_box. 2018-09-09 19:14:56 +02:00
button.h Merge branch 'elinks-0.12' 2009-07-24 18:32:25 +03:00
checkbox.c Rename struct box to struct el_box. 2018-09-09 19:14:56 +02:00
checkbox.h big dialogs: Refactoring. do not pass the term. 2008-09-07 18:27:06 +02:00
common.h BFU: Add comments in enum widget_type 2011-05-09 23:28:12 +03:00
dialog.c [gcc] pragma outside function body 2019-12-06 20:13:38 +01:00
dialog.h Rename struct box to struct el_box. 2018-09-09 19:14:56 +02:00
group.c big dialogs: draw_dlg_text: no need to pass the term. 2008-10-11 23:52:09 +03:00
group.h big dialogs: Refactoring. do not pass the term. 2008-09-07 18:27:06 +02:00
hierbox.c Revert "Compile with C++." 2019-04-21 12:27:40 +02:00
hierbox.h Update hierbox comments and make them ready for Doxygen 2007-08-08 13:18:53 +02:00
hotkey.c Explicit cast to (const char *) for strchr function (C++) 2016-04-20 19:43:37 +02:00
hotkey.h BFU UTF-8: check_hotkeys_common() compares hotkeys as Unicode. 2006-08-13 23:45:41 +03:00
inpfield.c Rename struct box to struct el_box. 2018-09-09 19:14:56 +02:00
inpfield.h big dialogs: Refactoring. do not pass the term. 2008-09-07 18:27:06 +02:00
inphist.c Revert "Compile with C++." 2019-04-21 12:27:40 +02:00
inphist.h Declare element types of lists. 2007-07-26 22:47:23 +03:00
leds.c Rename struct box to struct el_box. 2018-09-09 19:14:56 +02:00
leds.h Indicate backgrounded downloads using an unused led. 2007-11-07 11:24:52 +01:00
listbox.c delete -> delete_ for C++ compatibility 2016-04-20 18:57:32 +02:00
listbox.h delete -> delete_ for C++ compatibility 2016-04-20 18:57:32 +02:00
listmenu.c Revert "Compile with C++." 2019-04-21 12:27:40 +02:00
listmenu.h Revert "Compile with C++." 2019-04-21 12:27:40 +02:00
menu.c Revert "Compile with C++." 2019-04-21 12:27:40 +02:00
menu.h Rename struct box to struct el_box. 2018-09-09 19:14:56 +02:00
msgbox.c Rename VA_COPY to va_copy 2017-11-23 19:18:20 -05:00
msgbox.h Type-check button arguments of msg_box. 2007-03-10 23:50:56 +02:00
style.c get_opt_*: Add ses parameter 2007-08-28 17:24:59 +00:00
style.h Doxify bfu/style 2007-07-31 14:39:12 +02:00
text.c Rename struct box to struct el_box. 2018-09-09 19:14:56 +02:00
text.h big dialogs: dlg_format_text: no need to pass the term. 2008-09-07 18:12:42 +02:00
widget.c Remove now useless $Id: lines. 2005-10-21 09:14:07 +02:00
widget.h Rename struct box to struct el_box. 2018-09-09 19:14:56 +02:00

README

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.