/* * SPDX-FileCopyrightText: 2025 Felix Morgner * SPDX-License-Identifier: LGPL-2.1-only */ #ifndef TURNS_GUI_PARTICIPANT_ROW_HPP #define TURNS_GUI_PARTICIPANT_ROW_HPP #include "template_widget.hpp" #include #include #include #include #include #include #include #include #include namespace Turns::gui { struct ParticipantRow : template_widget { auto constexpr inline static children = std::array{ "delete", "edit", "subtitle", "title", "toggle_defeated", }; ParticipantRow(); explicit 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::gui #endif