#include "turns/domain/disposition.hpp" #include #include #include namespace turns::domain { auto disposition::create(values value) -> Glib::RefPtr { return Glib::make_refptr_for_instance(new disposition(value)); } disposition::disposition(values value) : Glib::ObjectBase{typeid(disposition)} , m_value{*this, "value", value} { } auto disposition::operator<=>(disposition const & other) const -> std::strong_ordering { return get_value() <=> other.get_value(); } auto disposition::property_value() -> Glib::PropertyProxy { return m_value.get_proxy(); } auto disposition::property_value() const -> Glib::PropertyProxy_ReadOnly { return m_value.get_proxy(); } auto disposition::get_value() const -> values { return m_value; } auto disposition::set_value(values value) -> void { m_value = value; } auto disposition::get_presentation_name() const -> Glib::ustring { switch (get_value()) { case values::neutral: return _("Neutral"); case values::friendly: return _("Friendly"); case values::hostile: return _("Hostile"); case values::secret: return _("Secret"); } return _("Unknown disposition value"); } } // namespace turns::domain