diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2024-07-16 10:02:47 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2024-07-16 10:02:47 +0200 |
| commit | 5bb826fa63b2b2d6f7b8bca354fa4a1606781dc3 (patch) | |
| tree | fdff35f04a92965e7044ef84133d93280fac11b7 /domain/src | |
| parent | 4e3b7165738d6d3648af70553da7fa2096606eb3 (diff) | |
| download | turns-5bb826fa63b2b2d6f7b8bca354fa4a1606781dc3.tar.xz turns-5bb826fa63b2b2d6f7b8bca354fa4a1606781dc3.zip | |
turns: implement basic disposition integration
Diffstat (limited to 'domain/src')
| -rw-r--r-- | domain/src/participant.cpp | 27 | ||||
| -rw-r--r-- | domain/src/turn_order.cpp | 4 |
2 files changed, 26 insertions, 5 deletions
diff --git a/domain/src/participant.cpp b/domain/src/participant.cpp index 08c6deb..5265eb3 100644 --- a/domain/src/participant.cpp +++ b/domain/src/participant.cpp @@ -8,13 +8,14 @@ namespace turns::domain { - auto participant::create(Glib::ustring name, float priority) -> Glib::RefPtr<participant> + auto participant::create(Glib::ustring name, float priority, disposition disposition) -> Glib::RefPtr<participant> { - return Glib::make_refptr_for_instance(new participant{name, priority}); + return Glib::make_refptr_for_instance(new participant{name, priority, disposition}); } - participant::participant(Glib::ustring name, float priority) + participant::participant(Glib::ustring name, float priority, disposition disposition) : Glib::ObjectBase{typeid(participant)} + , m_disposition{*this, "disposition", disposition} , m_name{*this, "name", name} , m_priority{*this, "priority", priority} { @@ -25,6 +26,16 @@ namespace turns::domain return m_priority <=> other.m_priority; } + auto participant::get_disposition() const noexcept -> disposition + { + return m_disposition; + } + + auto participant::set_disposition(disposition value) -> void + { + m_disposition = value; + } + auto participant::get_name() const -> Glib::ustring { return m_name; @@ -45,6 +56,16 @@ namespace turns::domain m_priority = value; } + auto participant::property_disposition() -> Glib::PropertyProxy<disposition> + { + return m_disposition.get_proxy(); + } + + auto participant::property_disposition() const -> Glib::PropertyProxy_ReadOnly<disposition> + { + return m_disposition.get_proxy(); + } + auto participant::property_name() -> Glib::PropertyProxy<Glib::ustring> { return m_name.get_proxy(); diff --git a/domain/src/turn_order.cpp b/domain/src/turn_order.cpp index eddd468..4f1ed3b 100644 --- a/domain/src/turn_order.cpp +++ b/domain/src/turn_order.cpp @@ -42,9 +42,9 @@ namespace turns::domain } } - auto turn_order::append(Glib::ustring const & name, float priority) -> void + auto turn_order::append(Glib::ustring const & name, float priority, disposition disposition) -> void { - auto participant = participant::create(name, priority); + auto participant = participant::create(name, priority, disposition); participant->property_priority().signal_changed().connect([this] { sort(comparator); }); append(participant); } |
