summaryrefslogtreecommitdiff
path: root/domain/include
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2024-07-16 10:02:47 +0200
committerFelix Morgner <felix.morgner@gmail.com>2024-07-16 10:02:47 +0200
commit5bb826fa63b2b2d6f7b8bca354fa4a1606781dc3 (patch)
treefdff35f04a92965e7044ef84133d93280fac11b7 /domain/include
parent4e3b7165738d6d3648af70553da7fa2096606eb3 (diff)
downloadturns-5bb826fa63b2b2d6f7b8bca354fa4a1606781dc3.tar.xz
turns-5bb826fa63b2b2d6f7b8bca354fa4a1606781dc3.zip
turns: implement basic disposition integration
Diffstat (limited to 'domain/include')
-rw-r--r--domain/include/turns/domain/participant.hpp12
-rw-r--r--domain/include/turns/domain/turn_order.hpp3
2 files changed, 12 insertions, 3 deletions
diff --git a/domain/include/turns/domain/participant.hpp b/domain/include/turns/domain/participant.hpp
index 3f249d5..d845c77 100644
--- a/domain/include/turns/domain/participant.hpp
+++ b/domain/include/turns/domain/participant.hpp
@@ -1,6 +1,8 @@
#ifndef TURNS_DOMAIN_PARTICIPANT_HPP
#define TURNS_DOMAIN_PARTICIPANT_HPP
+#include "turns/domain/disposition.hpp"
+
#include <compare>
#include <glibmm/object.h>
@@ -14,12 +16,17 @@ namespace turns::domain
struct participant : Glib::Object
{
- auto static create(Glib::ustring name, float priority) -> Glib::RefPtr<participant>;
+ auto static create(Glib::ustring name, float priority, disposition disposition) -> Glib::RefPtr<participant>;
- participant(Glib::ustring name, float priority);
+ participant(Glib::ustring name, float priority, disposition disposition);
auto operator<=>(participant const & other) const noexcept -> std::partial_ordering;
+ auto property_disposition() -> Glib::PropertyProxy<disposition>;
+ auto property_disposition() const -> Glib::PropertyProxy_ReadOnly<disposition>;
+ auto get_disposition() const noexcept -> disposition;
+ auto set_disposition(disposition value) -> void;
+
auto property_name() -> Glib::PropertyProxy<Glib::ustring>;
auto property_name() const -> Glib::PropertyProxy_ReadOnly<Glib::ustring>;
auto get_name() const -> Glib::ustring;
@@ -31,6 +38,7 @@ namespace turns::domain
auto set_priority(float value) -> void;
private:
+ Glib::Property<disposition> m_disposition;
Glib::Property<Glib::ustring> m_name;
Glib::Property<float> m_priority;
};
diff --git a/domain/include/turns/domain/turn_order.hpp b/domain/include/turns/domain/turn_order.hpp
index ba9bc3a..d7f8821 100644
--- a/domain/include/turns/domain/turn_order.hpp
+++ b/domain/include/turns/domain/turn_order.hpp
@@ -1,6 +1,7 @@
#ifndef TURNS_DOMAIN_TURN_ORDER_HPP
#define TURNS_DOMAIN_TURN_ORDER_HPP
+#include "turns/domain/disposition.hpp"
#include "turns/domain/participant.hpp"
#include <giomm/liststore.h>
@@ -20,7 +21,7 @@ namespace turns::domain
auto static create() -> Glib::RefPtr<turn_order>;
auto append(Glib::RefPtr<participant> item) -> void;
- auto append(Glib::ustring const & name, float priority) -> void;
+ auto append(Glib::ustring const & name, float priority, disposition disposition) -> void;
auto remove(Glib::RefPtr<participant> item) -> void;
private: