diff options
Diffstat (limited to 'gui/include/turn_order_view.hpp')
| -rw-r--r-- | gui/include/turn_order_view.hpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/gui/include/turn_order_view.hpp b/gui/include/turn_order_view.hpp new file mode 100644 index 0000000..9a7ede6 --- /dev/null +++ b/gui/include/turn_order_view.hpp @@ -0,0 +1,45 @@ +/* + * SPDX-FileCopyrightText: 2025 Felix Morgner <felix.morgner@gmail.com> + * SPDX-License-Identifier: LGPL-2.1-only + */ + +#ifndef TURNS_UI_TURN_ORDER_VIEW_HPP +#define TURNS_UI_TURN_ORDER_VIEW_HPP + +#include "turns/core/fwd.hpp" +#include "turns/core/turn_order_model.hpp" +#include "turns/ui/template_widget.hpp" + +#include <glibmm/object.h> +#include <glibmm/refptr.h> + +#include <gtkmm/box.h> +#include <gtkmm/listbox.h> +#include <gtkmm/progressbar.h> +#include <gtkmm/widget.h> + +#include <array> + +namespace turns::ui +{ + struct TurnOrderView : template_widget<TurnOrderView, Gtk::Box> + { + using model_type = core::TurnOderModel; + + auto constexpr inline static children = std::array{ + "progress", + "view", + }; + + explicit TurnOrderView(Glib::RefPtr<model_type> model = {}); + + private: + auto handle_create_row(Glib::RefPtr<Glib::Object> const item) -> Gtk::Widget *; + + Glib::RefPtr<model_type> m_model; + Gtk::ProgressBar * m_progress; + Gtk::ListBox * m_view; + }; +} // namespace turns::ui::widgets + +#endif
\ No newline at end of file |
