summaryrefslogtreecommitdiff
path: root/domain/src
diff options
context:
space:
mode:
Diffstat (limited to 'domain/src')
-rw-r--r--domain/src/participant.cpp28
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