7#include "abstract_button_widget.hpp"
20 template<
typename Value = observable<value_type>>
24 value_type true_value,
25 Value &&value = {})
noexcept :
28 _value_callback = this->value.subscribe([
this](
auto...) {
29 ttlet lock = std::scoped_lock(gui_system_mutex);
41 ttlet lock = std::scoped_lock(gui_system_mutex);
43 if (compare_then_assign(this->value, this->true_value)) {
49 typename decltype(super::value)::callback_ptr_type _value_callback;
50 typename super::callback_ptr_type _callback;
Definition gui_window.hpp:39
void request_redraw(aarect rectangle=aarect::infinity()) noexcept
Request a rectangle on the window to be redrawn.
Definition gui_window.hpp:115
An abstract button widget.
Definition abstract_button_widget.hpp:16
callback_ptr_type subscribe(Callback &&callback) noexcept
Subscribe a callback to call when the button is activated.
Definition abstract_button_widget.hpp:109
An abstract radio button widget.
Definition abstract_radio_button_widget.hpp:15
void select() noexcept
Select this radio-button.
Definition abstract_radio_button_widget.hpp:39
gui_window & window
Convenient reference to the Window.
Definition widget.hpp:100
abstract_container_widget const & parent() const noexcept
Get a reference to the parent.
virtual aarect window_clipping_rectangle() const noexcept
Get the clipping-rectangle in window coordinates.
Definition widget.hpp:320