summaryrefslogtreecommitdiff
path: root/ui/include
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2025-04-30 09:21:20 +0200
committerFelix Morgner <felix.morgner@gmail.com>2025-04-30 09:21:20 +0200
commit8181e59a6e1e76161e50ab545f4f62c2d05c8b80 (patch)
tree374c294a6cfe6ba06bdf9a691cb0156e93cd8484 /ui/include
parent64c2e6601c62d583f9ce06079bfaa6b052626f6b (diff)
downloadturns-8181e59a6e1e76161e50ab545f4f62c2d05c8b80.tar.xz
turns-8181e59a6e1e76161e50ab545f4f62c2d05c8b80.zip
ui: convert tracker to template_widget
Diffstat (limited to 'ui/include')
-rw-r--r--ui/include/turns/ui/init.hpp4
-rw-r--r--ui/include/turns/ui/tracker.hpp18
2 files changed, 19 insertions, 3 deletions
diff --git a/ui/include/turns/ui/init.hpp b/ui/include/turns/ui/init.hpp
index b872063..77bd009 100644
--- a/ui/include/turns/ui/init.hpp
+++ b/ui/include/turns/ui/init.hpp
@@ -1,6 +1,10 @@
#ifndef TURNS_UI_INIT_HPP
#define TURNS_UI_INIT_HPP
+#include <glibmm/refptr.h>
+
+#include <adwaitamm/application.hpp>
+
namespace turns::ui
{
diff --git a/ui/include/turns/ui/tracker.hpp b/ui/include/turns/ui/tracker.hpp
index 94ecda3..20f3800 100644
--- a/ui/include/turns/ui/tracker.hpp
+++ b/ui/include/turns/ui/tracker.hpp
@@ -2,6 +2,7 @@
#define TURNS_UI_TRACKER_HPP
#include "turns/core/turn_order.hpp"
+#include "turns/ui/template_widget.hpp"
#include "turns/ui/turn_order_view.hpp"
#include <glibmm/propertyproxy.h>
@@ -22,19 +23,30 @@
#include <gtkmm/stack.h>
#include <gtkmm/widget.h>
+#include <adwaitamm/application.hpp>
#include <adwaitamm/applicationwindow.hpp>
#include <adwaitamm/toastoverlay.hpp>
#include <adwaitamm/windowtitle.hpp>
+#include <array>
#include <exception>
#include <string>
namespace turns::ui
{
- struct tracker : Adwaita::ApplicationWindow
+ struct Tracker : template_widget<Tracker, Adwaita::ApplicationWindow>
{
- tracker(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder, Glib::RefPtr<Gio::Settings> settings);
+ auto constexpr inline static children = std::array{
+ "controls",
+ "empty",
+ "overlay",
+ "stack",
+ "start",
+ "title",
+ };
+
+ Tracker(Glib::RefPtr<Adwaita::Application> const & app, Glib::RefPtr<Gio::Settings> const & settings);
auto load(Glib::RefPtr<Gio::File> file) -> void;
@@ -84,6 +96,6 @@ namespace turns::ui
Glib::RefPtr<Gtk::CssProvider> m_css{};
};
-} // namespace turns::ui::windows
+} // namespace turns::ui
#endif \ No newline at end of file