|
| | tab_widget (gui_window &window, widget *parent, std::weak_ptr< delegate_type > delegate) noexcept |
| | Construct a tab widget with a delegate.
|
| |
template<typename Value >
requires (not std::is_convertible_v<Value, weak_or_unique_ptr<delegate_type>>) |
| | tab_widget (gui_window &window, widget *parent, Value &&value) noexcept |
| | Construct a tab widget with an observable value.
|
| |
| template<typename WidgetType , typename Key , typename... Args> |
| WidgetType & | make_widget (Key const &key, Args &&...args) noexcept |
| | Make and add a child 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.
|
| |
|
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 graphical element that shows only one of a predefined set of mutually exclusive child widgets.
A tab widget is generally controlled by a toolbar_tab_button_widget or another selection widget.
In the following example we create three tabs on the window which observes a value controlled by a set of toolbar tab buttons. Each tab is configured with a different value: 0, 1 and 2.
auto &tab_view = window.content().make_widget<
tab_widget>(
"A1", value);
- Note
- A
tab_button is not directly controlled by a toolbar_tab_button_widget. This is accomplished by sharing a delegate or a observable between the toolbar tab button and the tab widget.