Provides functionalities for 2D widget that can hold other widgets as children.
More...
#include <base_container_widget.hpp>
|
|
| base_container_widget (base_container_widget *parent) |
|
virtual void | add_held (base_widget *widget)=0 |
|
virtual void | remove_held (base_widget *widget)=0 |
| virtual bool | handle_child_Delete ()=0 |
| const std::vector< base_widget * > & | get_held () const |
| | Retrieves all held widgets, including duplicates.
|
| std::vector< base_widget * > | get_unique_held () const |
| | Retrieves held widgets, filtering out duplicates.
|
| std::vector< base_widget * > | get_deepest_held () |
| | Retrieves all held items that do not have child held widgets i.e. the deepest held widget in the hierarchy.
|
| void | remove_widget (base_widget *widget) |
| | Removes a child widget.
|
| virtual void | repaint () |
| | Calls for this widget to be repainted.
|
|
virtual void | update ()=0 |
|
virtual void | handle_painter (painter &painter) const =0 |
|
virtual bool | handle_presser (presser &presser)=0 |
|
virtual bool | handle_Delete ()=0 |
| base_container_widget * | get_parent () const |
| | Retrieves the parent widget.
|
| base_controller * | get_root () const |
| | Retrieves the root widget.
|
|
int | get_x () const |
|
int | get_y () const |
|
void | set_x (int new_x) |
|
void | set_y (int new_y) |
|
int | get_width () const |
|
int | get_height () const |
|
void | set_width (int new_width) |
|
void | set_height (int new_height) |
|
void | set_size (int new_size) |
|
void | set (int new_x, int new_y) |
|
void | set (int new_x, int new_y, int new_width, int new_height) |
|
const point & | get_top_left () const |
|
const point & | get_bottom_right () const |
|
void | set_top_left (point &&new_top_left) |
|
void | set_bottom_right (point &&new_bottom_right) |
|
template<typename T, typename ... Args>
requires std::derived_from<T, base_widget> |
| base_widget * | add_widget (Args &...args) |
| | Create and add a child widget.
|
template<typename T, typename ... Args>
requires std::derived_from<T, base_widget> |
| base_widget * | add_widget (Args &&...args) |
| | Create and add a child widget.
|
template<class Pred>
requires (!std::derived_from<std::remove_pointer_t<Pred> , base_widget>) |
| base_widget * | remove_widget (Pred pred) |
| | Removes a child widget.
|
|
| base_widget (base_container_widget *parent) |
| virtual bool | overlap (rectangle &other) const |
| | Checks whether this rectangle overlaps with another. This funciton is the bassis for handling inputs on the grid. The presser object also inherits from rectangle, and this function is called to check if a press event overlaps with a widget. If so, we can determine that this particular widget is pressed. Custom widgets can override this funciton for a more fine grained handling of presses.
|
Provides functionalities for 2D widget that can hold other widgets as children.
◆ add_widget() [1/2]
template<typename T, typename ... Args>
requires std::derived_from<T, base_widget>
| base_widget * bugui::base_container_widget::add_widget |
( |
Args &&... | args | ) |
|
|
inlineprotected |
Create and add a child widget.
- Parameters
-
| args... | the constructor parameters of the widget to create (passed by r-value reference). |
- Returns
- A pointer to the created widget (see base_widget).
◆ add_widget() [2/2]
template<typename T, typename ... Args>
requires std::derived_from<T, base_widget>
| base_widget * bugui::base_container_widget::add_widget |
( |
Args &... | args | ) |
|
|
inlineprotected |
Create and add a child widget.
- Parameters
-
| args... | the constructor parameters of the widget to create (passed by reference). |
- Returns
- A pointer to the created widget (see base_widget).
◆ get_deepest_held()
| std::vector< base_widget * > bugui::base_container_widget::get_deepest_held |
( |
| ) |
|
Retrieves all held items that do not have child held widgets i.e. the deepest held widget in the hierarchy.
- Returns
- A vector of widget pointers (see base_widgets).
◆ get_held()
| const std::vector< base_widget * > & bugui::base_container_widget::get_held |
( |
| ) |
const |
|
inline |
Retrieves all held widgets, including duplicates.
- Returns
- A vector of widget pointers (see base_widgets).
◆ get_unique_held()
| std::vector< base_widget * > bugui::base_container_widget::get_unique_held |
( |
| ) |
const |
Retrieves held widgets, filtering out duplicates.
- Returns
- A vector of unique widget pointers. (see base_widgets).
◆ handle_child_Delete()
| virtual bool bugui::base_container_widget::handle_child_Delete |
( |
| ) |
|
|
pure virtual |
◆ remove_widget() [1/2]
| void bugui::base_container_widget::remove_widget |
( |
base_widget * | widget | ) |
|
Removes a child widget.
- Parameters
-
| widget | to be deleted widget to remove. |
◆ remove_widget() [2/2]
template<class Pred>
requires (!std::derived_from<std::remove_pointer_t<Pred> , base_widget>)
| base_widget * bugui::base_container_widget::remove_widget |
( |
Pred | pred | ) |
|
|
inlineprotected |
Removes a child widget.
- Parameters
-
| predicate | that evaluates true for the desired widget to remove. |
- Returns
- A pointer to the removed widget (see base_widget).
The documentation for this struct was generated from the following file: