diff options
Diffstat (limited to 'domain/src')
| -rw-r--r-- | domain/src/participant.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/domain/src/participant.cpp b/domain/src/participant.cpp index d7e6b30..8b16916 100644 --- a/domain/src/participant.cpp +++ b/domain/src/participant.cpp @@ -1,6 +1,7 @@ #include "turns/domain/participant.hpp" #include <utility> +#include <typeinfo> namespace turns::domain { @@ -11,36 +12,37 @@ namespace turns::domain } participant::participant(Glib::ustring name, float order_value) - : m_name{std::move(name)} - , m_order_value{order_value} + : Glib::ObjectBase{typeid(participant)} + , m_name{*this, "name"} + , m_order_value{*this, "order_value"} { + m_name = name; + m_order_value = order_value; } auto participant::operator<=>(participant const & other) const noexcept -> std::partial_ordering { - return order() <=> other.order(); + return m_order_value <=> other.m_order_value; } - auto participant::name() const noexcept -> Glib::ustring const & + auto participant::property_name() -> Glib::PropertyProxy<Glib::ustring> { - return m_name; + return m_name.get_proxy(); } - auto participant::name(Glib::ustring value) -> participant & + auto participant::property_name() const -> Glib::PropertyProxy_ReadOnly<Glib::ustring> { - m_name = std::move(value); - return *this; + return m_name.get_proxy(); } - auto participant::order() const noexcept -> float + auto participant::property_over_value() -> Glib::PropertyProxy<float> { - return m_order_value; + return m_order_value.get_proxy(); } - auto participant::order(float value) noexcept -> participant & + auto participant::property_over_value() const -> Glib::PropertyProxy_ReadOnly<float> { - m_order_value = value; - return *this; + return m_order_value.get_proxy(); } auto operator<=>(Glib::RefPtr<participant> const & lhs, Glib::RefPtr<participant> const & rhs) -> std::partial_ordering |
