-
-
Notifications
You must be signed in to change notification settings - Fork 6
Widget
-
Abstract widget, and abstract UI data
-
Type
-
Level
EKG has two layers of objects: ekg::ui::abstract_widget, and ekg::ui::abstract. Both are used together but with different purposes.
ekg::ui::abstract objects work as intermediary data between the user-programmer, and the ekg::ui::abstract_widget, which is used for processing the logic, and rendering.
This philosophy allows more control, and memory security for the application. While backing service tools handle the ekg::ui::abstract_widget, the user only has access to ekg::ui::abstract.
Type represents different widgets, and helps check the instance of the current context widget object class, ekg::type contains the following enum(s) constant:
-
ekg::type::abstractrefers to the abstract UI element -
ekg::type::framerefers to the frame UI element -
ekg::type::buttonrefers to the button UI element -
ekg::type::labelrefers to the label UI element -
ekg::type::sliderrefers to the slider UI element -
ekg::type::slider2drefers to the slider 2D UI element -
ekg::type::checkboxrefers to the frame UI element -
ekg::type::textboxrefers to the textbox UI element -
ekg::type::comboboxrefers to the combobox UI element -
ekg::type::listboxrefers to the listbox UI element -
ekg::type::tabrefers to the tab UI element -
ekg::type::popuprefers to the popup UI element -
ekg::type::scrollrefers to the scroll UI element
A level-constant ekg::level::bottom_level, and ekg::level::top_leveldefines how the widget should be processed and placed. Most of the widgets except popup(s), by default sets ekg::level::bottom_level.
Normal placement(s) ekg::level::bottom_level is followed by layout service, and can not interrupt the current processing widgets IO (input, events calling) context.
Regular placement(s) ekg::level::top_level is followed by a private invocation of layout service features, and has the ability to interrupt the current processing widgets IO (input, events calling) context. Top-level widgets can not be a child, this rule allows separating IO events processing between top-level and bottom-level widgets.