|
| | tab_widget (widget *parent, std::shared_ptr< delegate_type > delegate) noexcept |
| | Construct a tab widget with a delegate.
|
| |
| | tab_widget (widget *parent, different_from< std::shared_ptr< delegate_type > > auto &&value) noexcept |
| | Construct a tab widget with an observer value.
|
| |
| template<typename WidgetType , typename Key , typename... Args> |
| WidgetType & | make_widget (Key const &key, Args &&...args) |
| | Make and add a child widget.
|
| |
|
| widget (widget *parent) noexcept |
| |
|
| widget (widget const &)=delete |
| |
|
| widget (widget &&)=delete |
| |
|
widget & | operator= (widget &&)=delete |
| |
|
widget & | operator= (widget const &)=delete |
| |
|
generator< widget & > | children (bool include_invisible) noexcept |
| |
| virtual hitbox | hitbox_test_from_parent (point2i position) const noexcept |
| | Call hitbox_test from a parent widget.
|
| |
| virtual hitbox | hitbox_test_from_parent (point2i position, hitbox sibling_hitbox) const noexcept |
| | Call hitbox_test from a parent widget.
|
| |
| virtual bool | accepts_keyboard_focus (keyboard_focus_group group) const noexcept |
| | Check if the widget will accept keyboard focus.
|
| |
| void | reset_layout (gui_window *new_window, gfx_surface *new_surface, float new_scale) noexcept |
| | Reset the layout.
|
| |
|
virtual sub_theme_selector_type | sub_theme_selector () const noexcept |
| |
|
virtual bool | process_event (gui_event const &event) const noexcept |
| |
| virtual void | request_redraw () const noexcept |
| | Request the widget to be redrawn on the next frame.
|
| |
| virtual bool | handle_event (gui_event const &event) noexcept |
| | Handle command.
|
| |
| virtual bool | handle_event_recursive (gui_event const &event, std::vector< widget_id > const &reject_list=std::vector< widget_id >{}) noexcept |
| | Handle command recursive.
|
| |
|
widget_id | find_first_widget (keyboard_focus_group group) const noexcept |
| |
|
widget_id | find_last_widget (keyboard_focus_group group) const noexcept |
| |
|
bool | is_first (keyboard_focus_group group) const noexcept |
| |
|
bool | is_last (keyboard_focus_group group) const noexcept |
| |
| virtual void | scroll_to_show (hi::aarectanglei rectangle) noexcept |
| | Scroll to show the given rectangle on the window.
|
| |
| std::vector< widget_id > | parent_chain () const noexcept |
| | Get a list of parents of a given widget.
|
| |
| virtual bool | is_tab_button () const noexcept |
| | Check if this widget is a tab-button.
|
| |
|
template<forward_of< void()> Callback> |
| callback_token | subscribe (Callback &&callback, callback_flags flags=callback_flags::synchronous) const noexcept |
| |
|
awaiter_type | operator co_await () const noexcept |
| |
template<fixed_string Name = "">
class hi::v1::tab_widget< Name >
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.
tab_view.make_widget<
label_widget<>>(1, tr(
"two"), alignment::middle_center());
tab_view.make_widget<
label_widget<>>(2, tr(
"three"), alignment::middle_center());
- Note
- A
tab_button is not directly controlled by a toolbar_tab_button_widget. This is accomplished by sharing a delegate or a observer between the toolbar tab button and the tab widget.