|
EasyGUI
|
Group for visible widgets on screen. More...
Modules | |
| GUI_TEMPLATE | |
| Button | |
| Button which can be pressed. | |
| Checkbox | |
| Checkbox widget. | |
| Container | |
| Container widget holding widgets. | |
| Debug box | |
| Debug box widget. | |
| Dialog base element | |
| Base element for dialog, usually parent of dialog window. | |
| Dropdown | |
| Dropdown widget. | |
| Edit text | |
| Single-line edit text widget. | |
| Graph | |
| Graph which can display plots. | |
| Image | |
| Image display widget. | |
| Led | |
| Simple LED. | |
| List view container | |
| List view container is basic widget for scrolling. | |
| Listbox | |
| LISTBOX widget. | |
| List view | |
| List view object. | |
| Progress bar | |
| Progress bar for progress visualization. | |
| Radio box | |
| Radio box widget. | |
| Slider | |
| Simple slider widget for user interaction. | |
| Text view | |
| Text view widget. | |
| Core widget functions | |
| Core functions for all widgets. | |
| List view helpers | |
| Helper functions for widgets implementing view for lists. | |
| Window | |
| Basic widget and core parent to all other widgets. | |
Group for visible widgets on screen.
Widgets are organized in multi depth linked list of parent widgets where each widget has reference to:
Next widget in linked list is used to get next widget for drawing operation. Widget which is at the end of linked list is later visible on top on LCD.
Previous link is used to get widget which is "behind" current widget. This link is used for touch management where widget at the end of linked list is first checked for events (touch, mouse, etc) because it is visible on top
Link to parent widget is always required to calculate currect widget position on LCD and for other tasks (like percentage width, etc)
Children links are supported on widgets which implement GUI_HANDLE_ROOT_t structure to handle children widgets (such as windows). It holds link to first children widget on the list.
Children last widget is used for events processing (touch, mouse, etc)
Any operation on widget structure (change Z-index, put on front, etc) is only moving widgets on linked list. With this, you can change visible order and also order how events are processed (touch, keyboard). Linked list is most important part of GUI library therefore it is designed in robust way.