/* * SPDX-FileCopyrightText: 2025 Felix Morgner * SPDX-License-Identifier: LGPL-2.1-only */ #ifndef TURNS_UI_PARTICIPANT_ROW_HPP #define TURNS_UI_PARTICIPANT_ROW_HPP #include "turns/core/fwd.hpp" #include "turns/ui/template_widget.hpp" #include #include #include #include #include #include #include #include namespace turns::ui { struct ParticipantRow : template_widget { auto constexpr inline static children = std::array{ "delete", "edit", "subtitle", "title", "toggle_defeated", }; ParticipantRow(Glib::RefPtr participant); auto delete_enabled() -> Glib::PropertyProxy; auto edit_enabled() -> Glib::PropertyProxy; private: auto handle_delete() -> void; auto handle_edit() -> void; Gtk::Button * m_delete; Gtk::Button * m_edit; Gtk::Label * m_subtitle; Gtk::Label * m_title; Gtk::ToggleButton * m_toggle_defeated; Glib::Property m_delete_enabled; Glib::Property m_edit_enabled; }; } // namespace turns::ui::widgets #endif