summaryrefslogtreecommitdiff
path: root/lib/src/turnsmm/participant.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/src/turnsmm/participant.cpp')
-rw-r--r--lib/src/turnsmm/participant.cpp66
1 files changed, 58 insertions, 8 deletions
diff --git a/lib/src/turnsmm/participant.cpp b/lib/src/turnsmm/participant.cpp
index 0086ada..5cc3db6 100644
--- a/lib/src/turnsmm/participant.cpp
+++ b/lib/src/turnsmm/participant.cpp
@@ -2,12 +2,14 @@
#include "turns-disposition.h"
#include "turns-participant.h"
+#include "turnsmm/enums.hpp"
#include "turnsmm/private/participant_p.hpp"
#include <glibmm/class.h>
#include <glibmm/object.h>
#include <glibmm/objectbase.h>
#include <glibmm/private/object_p.h>
+#include <glibmm/propertyproxy.h>
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
#include <glibmm/utility.h>
@@ -23,8 +25,6 @@ namespace Turns
namespace
{
auto constinit _class = Participant_Class{};
-
- auto constexpr type_name = "TurnsParticipant";
} // namespace
auto Participant_Class::init() -> Glib::Class const &
@@ -49,13 +49,13 @@ namespace Turns
}
Participant::Participant()
- : Glib::ObjectBase{type_name}
+ : Glib::ObjectBase{nullptr}
, Glib::Object{Glib::ConstructParams{_class.init()}}
{
}
- Participant::Participant(Glib::ustring const & name, float priority, int disposition)
- : Glib::ObjectBase{type_name}
+ Participant::Participant(Glib::ustring const & name, float priority, Disposition disposition)
+ : Glib::ObjectBase{nullptr}
, Glib::Object{Glib::ConstructParams{_class.init(), "name", name.c_str(), "priority", priority, "disposition", disposition, nullptr}}
{
}
@@ -86,9 +86,9 @@ namespace Turns
return turns_participant_get_defeated(const_cast<BaseObjectType *>(unwrap(this)));
}
- auto Participant::get_disposition() const noexcept -> int
+ auto Participant::get_disposition() const noexcept -> Disposition
{
- return turns_participant_get_disposition(const_cast<BaseObjectType *>(unwrap(this)));
+ return static_cast<Disposition>(turns_participant_get_disposition(const_cast<BaseObjectType *>(unwrap(this))));
}
auto Participant::get_name() const -> Glib::ustring
@@ -111,7 +111,7 @@ namespace Turns
return turns_participant_set_defeated(unwrap(this), value);
}
- auto Participant::set_disposition(int value) noexcept -> void
+ auto Participant::set_disposition(Disposition value) noexcept -> void
{
return turns_participant_set_disposition(unwrap(this), static_cast<TurnsDisposition>(value));
}
@@ -126,6 +126,56 @@ namespace Turns
return turns_participant_set_priority(unwrap(this), value);
}
+ auto Participant::property_active() const noexcept -> Glib::PropertyProxy_ReadOnly<bool>
+ {
+ return {this, "active"};
+ }
+
+ auto Participant::property_active() noexcept -> Glib::PropertyProxy<bool>
+ {
+ return {this, "active"};
+ }
+
+ auto Participant::property_defeated() const noexcept -> Glib::PropertyProxy_ReadOnly<bool>
+ {
+ return {this, "defeated"};
+ }
+
+ auto Participant::property_defeated() noexcept -> Glib::PropertyProxy<bool>
+ {
+ return {this, "defeated"};
+ }
+
+ auto Participant::property_disposition() const noexcept -> Glib::PropertyProxy_ReadOnly<Disposition>
+ {
+ return {this, "disposition"};
+ }
+
+ auto Participant::property_disposition() noexcept -> Glib::PropertyProxy<Disposition>
+ {
+ return {this, "disposition"};
+ }
+
+ auto Participant::property_name() const noexcept -> Glib::PropertyProxy_ReadOnly<Glib::ustring const &>
+ {
+ return {this, "name"};
+ }
+
+ auto Participant::property_name() noexcept -> Glib::PropertyProxy<Glib::ustring const &>
+ {
+ return {this, "name"};
+ }
+
+ auto Participant::property_priority() const noexcept -> Glib::PropertyProxy_ReadOnly<float>
+ {
+ return {this, "priority"};
+ }
+
+ auto Participant::property_priority() noexcept -> Glib::PropertyProxy<float>
+ {
+ return {this, "priority"};
+ }
+
Participant::Participant(BaseObjectType * gobj)
: Glib::Object((GObject *)gobj)
{