abstract property: added setValueEnum and setValueSet methods

Dieser Commit ist enthalten in:
Reinder Feenstra 2021-08-18 12:58:06 +02:00
Ursprung 61aed34785
Commit 70fba44bc4

Datei anzeigen

@ -51,6 +51,13 @@ class AbstractProperty : public BaseProperty
return static_cast<T>(toInt64());
}
template<typename T>
void setValueEnum(T value)
{
static_assert(std::is_enum_v<T>);
return setValueInt64(static_cast<int64_t>(value));
}
template<typename T>
T toSet() const
{
@ -58,6 +65,13 @@ class AbstractProperty : public BaseProperty
return static_cast<T>(toInt64());
}
template<typename T>
void setValueSet(T value)
{
static_assert(is_set_v<T>);
return setValueInt64(static_cast<int64_t>(value));
}
[[nodiscard]] virtual int setValueBool(bool value, std::function<void(const QString& error)> callback) { Q_ASSERT(value != value); return -1; }
[[nodiscard]] virtual int setValueInt64(int64_t value, std::function<void(const QString& error)> callback) { Q_ASSERT(value != value); return -1; }
[[nodiscard]] virtual int setValueDouble(double value, std::function<void(const QString& error)> callback) { Q_ASSERT(value != value); return -1; }