HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
hi::v1::abstract_button_widget Class Reference

#include <hikogui/widgets/abstract_button_widget.hpp>

Inheritance diagram for hi::v1::abstract_button_widget:
hi::v1::widget hi::v1::widget_intf hi::v1::momentary_button_widget hi::v1::toolbar_button_widget

Public Types

using super = widget
using delegate_type = button_delegate

Public Member Functions

 abstract_button_widget (std::shared_ptr< delegate_type > delegate) noexcept
Public Member Functions inherited from hi::v1::widget
 widget () noexcept
 Constructor for creating sub views.
 widget (const widget &)=delete
widgetoperator= (const widget &)=delete
 widget (widget &&)=delete
widgetoperator= (widget &&)=delete
generator< widget_intf & > children (bool include_invisible) noexcept override
 Get a list of child widgets.
hitbox hitbox_test (point2 position) const noexcept override
 Find the widget that is under the mouse cursor.
virtual hitbox hitbox_test_from_parent (point2 position) const noexcept
 Call hitbox_test from a parent widget.
virtual hitbox hitbox_test_from_parent (point2 position, hitbox sibling_hitbox) const noexcept
 Call hitbox_test from a parent widget.
bool accepts_keyboard_focus (keyboard_focus_group group) const noexcept override
 Check if the widget will accept keyboard focus.
box_constraints update_constraints () noexcept override
 Update the constraints of the widget.
void set_layout (widget_layout const &context) noexcept override
 Update the internal layout of the widget.
void draw (draw_context const &context) noexcept override
 Draw the widget.
bool process_event (gui_event const &event) const noexcept override
 Send a event to the window.
void request_redraw () const noexcept override
 Request the widget to be redrawn on the next frame.
bool handle_event (gui_event const &event) noexcept override
 Handle command.
bool handle_event_recursive (gui_event const &event, std::vector< widget_id > const &reject_list=std::vector< widget_id >{}) noexcept override
 Handle command recursive.
virtual widget_id find_next_widget (widget_id current_keyboard_widget, keyboard_focus_group group, keyboard_focus_direction direction) const noexcept override
 Find the next widget that handles keyboard focus.
void scroll_to_show (hi::aarectangle rectangle) noexcept override
 Scroll to show the given rectangle on the window.
hi::theme const & theme () const noexcept
gfx_surface const * surface () const noexcept
virtual color foreground_color () const noexcept
virtual color focus_color () const noexcept
virtual color accent_color () const noexcept
virtual generator< widget_intf const & > children (bool include_invisible=true) const noexcept final
 Get a list of child widgets.
void scroll_to_show () noexcept
 Scroll to show the important part of the widget.
Public Member Functions inherited from hi::v1::widget_intf
widget_intf * parent () const noexcept
 Pointer to the parent widget.
virtual void set_parent (widget_intf *new_parent) noexcept
 Set the parent widget.
template<forward_of< void()> Func>
callback< void()> subscribe (Func &&func, callback_flags flags=callback_flags::synchronous) noexcept
 Subscribe a callback to be called when an action is completed by the widget.
auto operator co_await () const noexcept
 Await until an action is completed by the widget.
size_t layer () const noexcept
void set_layer (size_t new_layer) noexcept
widget_mode mode () const noexcept
void set_mode (widget_mode new_mode) noexcept
widget_value value () const noexcept
void set_value (widget_value new_value) noexcept
widget_phase phase () const noexcept
void set_pressed (bool pressed) noexcept
void set_hover (bool hover) noexcept
void set_active (bool active) noexcept
bool focus () const noexcept
void set_focus (bool new_focus) noexcept
widget_layout const & layout () const noexcept
 Get the current layout for this widget.
std::vector< widget_id > parent_chain () const noexcept
 Get a list of parents of a given widget.
void scroll_to_show () noexcept
 Scroll to show the important part of the widget.

Data Fields

std::shared_ptr< delegate_type > delegate
 The delegate that controls the button widget.
observer< label > on_label = txt("on")
 The label to show when the button is in the 'on' state.
observer< label > off_label = txt("off")
 The label to show when the button is in the 'off' state.
observer< label > other_label = txt("other")
 The label to show when the button is in the 'other' state.
observer< alignment > alignment
 The alignment of the button and on/off/other label.
Data Fields inherited from hi::v1::widget
observer< extent2minimum = extent2{}
 The minimum size this widget is allowed to be.
observer< extent2maximum = extent2::large()
 The maximum size this widget is allowed to be.
Data Fields inherited from hi::v1::widget_intf
widget_id id = {}
 The numeric identifier of a widget.
hi::style style = {}
 The style of this widget.
gui_window * window = nullptr
notifier< void()> notifier
 Notifier which is called after an action is completed by a widget.
observer< widget_statestate
 The current state of the widget.

Detailed Description

Base class for implementing button widgets.

Field Documentation

◆ alignment

observer<alignment> hi::v1::abstract_button_widget::alignment

The alignment of the button and on/off/other label.

◆ delegate

std::shared_ptr<delegate_type> hi::v1::abstract_button_widget::delegate

The delegate that controls the button widget.

◆ off_label

observer<label> hi::v1::abstract_button_widget::off_label = txt("off")

The label to show when the button is in the 'off' state.

◆ on_label

observer<label> hi::v1::abstract_button_widget::on_label = txt("on")

The label to show when the button is in the 'on' state.

◆ other_label

observer<label> hi::v1::abstract_button_widget::other_label = txt("other")

The label to show when the button is in the 'other' state.


The documentation for this class was generated from the following file: