|
| | grid_widget (gui_window &window, widget *parent, std::weak_ptr< delegate_type > delegate={}) noexcept |
| | Constructs an empty grid widget.
|
| |
| template<typename Widget , typename... Args> |
| Widget & | make_widget (size_t column_nr, size_t row_nr, Args &&...args) |
| | Add a widget directly to this grid-widget.
|
| |
| template<typename Widget , typename... Args> |
| Widget & | make_widget (std::string_view address, Args &&...args) |
| | Add a widget directly to this grid-widget.
|
| |
| | widget (gui_window &window, widget *parent) noexcept |
| |
|
| widget (const widget &)=delete |
| |
|
widget & | operator= (const widget &)=delete |
| |
|
| widget (widget &&)=delete |
| |
|
widget & | operator= (widget &&)=delete |
| |
| extent2 | minimum_size () const noexcept |
| | Minimum size.
|
| |
| extent2 | preferred_size () const noexcept |
| | Preferred size.
|
| |
| extent2 | maximum_size () const noexcept |
| | Maximum size.
|
| |
| void | set_layout_parameters (geo::transformer auto const &local_to_parent, extent2 size, aarectangle const &clipping_rectangle) noexcept |
| | Set the location and size of the widget inside the window.
|
| |
|
void | set_layout_parameters_from_parent (aarectangle child_rectangle, aarectangle parent_clipping_rectangle, float draw_layer_delta) noexcept |
| |
|
void | set_layout_parameters_from_parent (aarectangle child_rectangle) noexcept |
| |
|
matrix3 | parent_to_local () const noexcept |
| |
|
matrix3 | local_to_parent () const noexcept |
| |
|
matrix3 | window_to_local () const noexcept |
| |
|
matrix3 | local_to_window () const noexcept |
| |
|
extent2 | size () const noexcept |
| |
|
float | width () const noexcept |
| |
|
float | height () const noexcept |
| |
| aarectangle | rectangle () const noexcept |
| | Get the rectangle in local coordinates.
|
| |
| virtual float | base_line () const noexcept |
| | Return the base-line where the text should be located.
|
| |
|
aarectangle | clipping_rectangle () const noexcept |
| |
| virtual hitbox | hitbox_test (point2 position) const noexcept |
| | Find the widget that is under the mouse cursor.
|
| |
| virtual bool | accepts_keyboard_focus (keyboard_focus_group group) const noexcept |
| | Check if the widget will accept keyboard focus.
|
| |
|
virtual color | background_color () const noexcept |
| |
|
virtual color | foreground_color () const noexcept |
| |
|
virtual color | focus_color () const noexcept |
| |
|
virtual color | accent_color () const noexcept |
| |
|
virtual color | label_color () const noexcept |
| |
| virtual void | draw (draw_context context, hires_utc_clock::time_point display_time_point) noexcept |
| | Draw the widget.
|
| |
|
virtual void | request_redraw () const noexcept |
| |
| virtual bool | handle_event (command command) noexcept |
| | Handle command.
|
| |
|
virtual bool | handle_event (std::vector< command > const &commands) noexcept |
| |
| virtual bool | handle_command_recursive (command command, std::vector< widget const * > const &reject_list) noexcept |
| | Handle command recursive.
|
| |
| virtual bool | handle_event (mouse_event const &event) noexcept |
| |
| virtual bool | handle_event (keyboard_event const &event) noexcept |
| | Handle keyboard event.
|
| |
| virtual widget const * | find_next_widget (widget const *current_keyboard_widget, keyboard_focus_group group, keyboard_focus_direction direction) const noexcept |
| | Find the next widget that handles keyboard focus.
|
| |
|
widget const * | find_first_widget (keyboard_focus_group group) const noexcept |
| |
|
widget const * | find_last_widget (keyboard_focus_group group) const noexcept |
| |
| bool | is_first (keyboard_focus_group group) const noexcept |
| | Is this widget the first widget in the parent container.
|
| |
| bool | is_last (keyboard_focus_group group) const noexcept |
| | Is this widget the last widget in the parent container.
|
| |
| virtual void | scroll_to_show (tt::rectangle rectangle) noexcept |
| | Scroll to show the given rectangle on the window.
|
| |
| std::vector< widget const * > | parent_chain () const noexcept |
| | Get a list of parents of a given widget.
|
| |
| void | clear () noexcept |
| | Remove and deallocate all child widgets.
|
| |
| widget & | add_widget (std::unique_ptr< widget > widget) noexcept |
| | Add a widget directly to this widget.
|
| |
A GUI widget that lays out child-widgets in a grid with variable sized cells.
The grid widget lays out child widgets in a grid pattern. Each child widget occupies a single cell, which belongs into a single column and a single row.
Columns are laid out from left to right, and rows from top to bottom. The row and columns number may be specified as integers, or using an spreadsheet-like cell-address:
The grid widget will calculate the size of each row and column based on the minimum, preferred and maximum size of each child widget contained in them. Margins are also taken into account in the spacing between columns and between rows.
When laid out, each child is sized to where it will occupy the full width and height of each cell.