A container widget for displaying a list of arbitrarily-positioned child widgets. More...
#include <collection.hpp>
Public Member Functions | |
| Collection (const Size &size, const Position &pos={0, 0}, const Alignment &align={ALIGN_LEFT, ALIGN_TOP}, const Padding &padding={0}) | |
| Construct a collection. | |
| Size | size () const override |
| Get the size of the widget. | |
Public Member Functions inherited from ui::MultiChildWidget | |
| MultiChildWidget (const Position &pos={0, 0}, const Alignment &align={ALIGN_LEFT, ALIGN_TOP}, const Padding &padding={0}) | |
| Constructor. | |
| ~MultiChildWidget () override | |
| Destructor. | |
| void | update (time_t time_ms) override |
| Update any internal state of the widget, and check if it needs to be re-rendered. | |
| void | render (bool force) const override |
| Recursively render this widget and any child widgets that need it. | |
| void | drawDone () override |
| Reset any state variables after rendering has finished. | |
| void | draw () const override |
| Render the widget to the screen. | |
| virtual void | push (Widget *const child) |
| Append a child widget to the end of the list. | |
| bool | handleEvent (Event &event) override |
| Handle events from the touchscreen. | |
| virtual void | drawBoundingBox (time_t time) const override |
| Render the bounding box of this and any child widgets. | |
| Widget * | getWidgetById (id_t id) noexcept override |
| Get the first widget (this or any children) that has the given ID. | |
Public Member Functions inherited from ui::Widget | |
| Widget (const Position &pos={0, 0}, const Alignment &align={ALIGN_LEFT, ALIGN_TOP}, const Padding &padding={0}) | |
| The default widget constructor. | |
| virtual | ~Widget () |
| The default widget destructor. | |
| virtual Bounds | bounds () const |
| Get the rendering bounds of this widget. | |
| void | setPosition (const Position &pos) |
| Set the position of this widget. | |
| Position | getPosition () const |
| Get the position of this widget. | |
| void | setAlign (const Alignment &align) |
| Set the alignment of this widget. | |
| void | requestRedraw () |
| Tell this widget that it needs to be re-rendered. | |
| void | requestParentRedraw () |
| Tell the parent widget that it needs to be re-rendered. | |
| bool | needsRedraw () const |
| Check if this widget has requested to be redrawn. | |
| void | setParent (Widget *parent) |
| Set the parent widget. | |
| Bounds | parentBounds () const |
| Get the bounds of the parent widget, if any. | |
| void | onpress (std::function< void(Widget &, const Event &)> callback) override |
| Register a touchscreen event handler that triggers on press. | |
| void | onblur (std::function< void(Widget &, const Event &)> callback) override |
| Register a touchscreen event handler that triggers when the widget stops being pressed. | |
| void | onhold (std::function< void(Widget &, const Event &, time_t)> callback) override |
| Register a touchscreen event handler that repeatedly triggers when the widget is held for a while. | |
| void | onrelease (std::function< void(Widget &, const Event &)> callback) override |
| Register a touchscreen event handler that triggers on release. | |
| void | click () |
| Manually trigger the onrelease event handler. | |
| void | press () |
| Manually trigger the onpress event handler. | |
| void | blur () |
| Manually trigger the onblur event handler. | |
| void | release () |
| Manually trigger the onrelease event handler. | |
| void | hold (time_t time) |
| Manually trigger the onhold event handler. | |
Public Member Functions inherited from ui::EventHandlers< Widget > | |
| void | onpress (std::function< void(Widget &)> callback) |
| Register a touchscreen event handler that triggers on press. | |
| void | onpress (std::function< void(const Event &)> callback) |
| Register a touchscreen event handler that triggers on press. | |
| void | onpress (std::function< void()> callback) |
| Register a touchscreen event handler that triggers on press. | |
| void | onrelease (std::function< void(Widget &)> callback) |
| Register a touchscreen event handler that triggers when the widget stops being pressed. | |
| void | onrelease (std::function< void(const Event &)> callback) |
| Register a touchscreen event handler that triggers when the widget stops being pressed. | |
| void | onrelease (std::function< void()> callback) |
| Register a touchscreen event handler that triggers when the widget stops being pressed. | |
| void | onblur (std::function< void(Widget &)> callback) |
| Register a touchscreen event handler that triggers when the widget stops being pressed. | |
| void | onblur (std::function< void(const Event &)> callback) |
| Register a touchscreen event handler that triggers when the widget stops being pressed. | |
| void | onblur (std::function< void()> callback) |
| Register a touchscreen event handler that triggers when the widget stops being pressed. | |
| void | onhold (std::function< void(Widget &, time_t)> callback) |
| Register a touchscreen event handler that repeatedly triggers when the widget is held for a while. | |
| void | onhold (std::function< void(const Event &, time_t)> callback) |
| Register a touchscreen event handler that repeatedly triggers when the widget is held for a while. | |
| void | onhold (std::function< void(time_t)> callback) |
| Register a touchscreen event handler that repeatedly triggers when the widget is held for a while. | |
| void | onhold (std::function< void(Widget &)> callback) |
| Register a touchscreen event handler that repeatedly triggers when the widget is held for a while. | |
| void | onhold (std::function< void(const Event &)> callback) |
| Register a touchscreen event handler that repeatedly triggers when the widget is held for a while. | |
| void | onhold (std::function< void()> callback) |
| Register a touchscreen event handler that repeatedly triggers when the widget is held for a while. | |
| void | onclick (std::function< void(Widget &)> callback) |
| Register a touchscreen event handler that triggers on release. | |
| void | onclick (std::function< void(const Event &)> callback) |
| Register a touchscreen event handler that triggers on release. | |
| void | onclick (std::function< void()> callback) |
| Register a touchscreen event handler that triggers on release. | |
Public Member Functions inherited from ui::CoreEventHandlers< T > | |
| virtual void | onpress (std::function< void(T &, const Event &)> callback)=0 |
| Register a touchscreen event handler that triggers on press. | |
| virtual void | onrelease (std::function< void(T &, const Event &)> callback)=0 |
| Register a touchscreen event handler that triggers when the widget stops being pressed. | |
| virtual void | onblur (std::function< void(T &, const Event &)> callback)=0 |
| Register a touchscreen event handler that triggers when the widget stops being pressed. | |
| virtual void | onhold (std::function< void(T &, const Event &, time_t)> callback)=0 |
| Register a touchscreen event handler that repeatedly triggers when the widget is held for a while. | |
| void | onclick (std::function< void(T &, const Event &)> callback) |
| Register a touchscreen event handler that triggers on release. | |
Additional Inherited Members | |
Public Attributes inherited from ui::Widget | |
| id_t | id |
| An optional (usually unique) identifier that can be used to search for this widget. | |
Protected Attributes inherited from ui::MultiChildWidget | |
| std::vector< Widget * > | children |
| The child widgets. | |
Protected Attributes inherited from ui::Widget | |
| Padding | padding |
| The padding that will be applied to any child widgets. | |
| bool | redrawSelf |
| If true, force a redraw of this widget and any child widgets. | |
A container widget for displaying a list of arbitrarily-positioned child widgets.
| ui::Collection::Collection | ( | const Size & | size, |
| const Position & | pos = {0, 0}, |
||
| const Alignment & | align = {ALIGN_LEFT, ALIGN_TOP}, |
||
| const Padding & | padding = {0} |
||
| ) |
Construct a collection.
| size | The size of this container widget. |
| pos | The position of this widget relative to its parent. |
| align | The alignment of this widget relative to its parent. |
| padding | The padding to apply to the child widget. |
|
overridevirtual |
Get the size of the widget.
Implements ui::Widget.