|
HikoGUI
A low latency retained GUI
|
#include <ttauri/widgets/toolbar_widget.hpp>
Public Types | |
| using | super = widget |
Public Member Functions | |
| toolbar_widget (gui_window &window, widget *parent) noexcept | |
| Constructs an empty row/column widget. | |
| template<typename Widget , horizontal_alignment Alignment = horizontal_alignment::left, typename... Args> | |
| Widget & | make_widget (Args &&...args) |
| Add a widget directly to this toolbar-widget. | |
Public Member Functions inherited from tt::widget | |
| widget (gui_window &window, widget *parent) noexcept | |
| widget (const widget &)=delete | |
| widget & | operator= (const widget &)=delete |
| widget (widget &&)=delete | |
| widget & | operator= (widget &&)=delete |
| virtual void | init () noexcept |
| Should be called right after allocating and constructing a widget. | |
| virtual void | deinit () noexcept |
| Should be called right after allocating and constructing a widget. | |
| 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 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 | 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. | |
Additional Inherited Members | |
Data Fields inherited from tt::widget | |
| gui_window & | window |
| Convenient reference to the Window. | |
| widget *const | parent |
| Pointer to the parent widget. | |
| std::string | id |
| A name of widget, should be unique between siblings. | |
| observable< bool > | enabled = true |
| The widget is enabled. | |
| observable< bool > | visible = true |
| The widget is visible. | |
| float | draw_layer |
| The draw layer of the widget. | |
| int | semantic_layer |
| The draw layer of the widget. | |
| int | logical_layer |
| The logical layer of the widget. | |
A toolbar widget is located at the top of a window and lays out its children horizontally.
The toolbar widget is shown at the top of a window, it is drawn with a different background than the window's content to differentiate from it.
Child widgets may be added on both the left side and right side of the toolbar, a small space in the center is added for visual separation.
Child widgets are drawn to full height of the toolbar determined by the preferred size of all contained widgets. The width of each widget is determined by their preferred size
|
noexcept |
Constructs an empty row/column widget.
| window | The window. |
| parent | The parent widget. |
| delegate | An optional delegate can be used to populate the row/column widget during initialization. |
|
inline |
Add a widget directly to this toolbar-widget.
When Alignment is horizontal_alignment::left the new widget is added to the right of the previous added widget on the left side of the toolbar.
When Alignment is horizontal_alignment::right the new widget is added to the left of the previous added widget on the right side of the toolbar.
| Widget | The type of the widget to be constructed. |
| Alignment | Add widgets to the left, or right. |
| args | The arguments passed to the constructor of the widget. |