diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-06-08 22:03:14 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-06-08 22:03:14 +0200 |
| commit | 4466f721192844fe542d02aced2c8b3860e1433c (patch) | |
| tree | c5e8d219b71b25d0b6a7b60b4f5a798792926b68 /gui/include | |
| parent | a9605c42349394bba021ed9f02ac512eee8c95ae (diff) | |
| download | turns-4466f721192844fe542d02aced2c8b3860e1433c.tar.xz turns-4466f721192844fe542d02aced2c8b3860e1433c.zip | |
gui: make TurnOrderView default constructible
Diffstat (limited to 'gui/include')
| -rw-r--r-- | gui/include/turn_order_view.hpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/gui/include/turn_order_view.hpp b/gui/include/turn_order_view.hpp index eaa8501..603c6c5 100644 --- a/gui/include/turn_order_view.hpp +++ b/gui/include/turn_order_view.hpp @@ -11,6 +11,8 @@ #include <turnsmm/turn-order.hpp> #include <glibmm/object.h> +#include <glibmm/property.h> +#include <glibmm/propertyproxy.h> #include <glibmm/refptr.h> #include <gtkmm/box.h> #include <gtkmm/listbox.h> @@ -23,21 +25,27 @@ namespace Turns::gui { struct TurnOrderView : template_widget<TurnOrderView, Gtk::Box> { - using model_type = TurnOrder; - auto constexpr inline static children = std::array{ "progress", "view", }; - explicit TurnOrderView(Glib::RefPtr<model_type> model = {}); + TurnOrderView(); + explicit TurnOrderView(Glib::RefPtr<TurnOrder> const & turn_order); + + [[nodiscard]] auto get_turn_order() const -> Glib::RefPtr<TurnOrder>; + + auto set_turn_order(Glib::RefPtr<TurnOrder> const & turn_order) -> void; + + auto property_turn_order() -> Glib::PropertyProxy<Glib::RefPtr<TurnOrder>>; + auto property_turn_order() const -> Glib::PropertyProxy_ReadOnly<Glib::RefPtr<TurnOrder>>; 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; + Glib::Property<Glib::RefPtr<TurnOrder>> m_turn_order{*this, "turn-order", nullptr}; + Gtk::ProgressBar * m_progress{get_widget<Gtk::ProgressBar>("progress")}; + Gtk::ListBox * m_view{get_widget<Gtk::ListBox>("view")}; }; } // namespace Turns::gui |
