fix mac build pt 2

This commit is contained in:
HJfod 2022-12-14 00:05:10 +02:00
parent bd79f275cc
commit 407ea1ba01
2 changed files with 25 additions and 18 deletions

View file

@ -214,16 +214,8 @@ namespace geode {
ValueType getValue() const {
return m_value;
}
void setValue(ValueType const& value) {
m_value = this->toValid(value).first;
}
Result<> validate(ValueType const& value) const {
auto reason = this->toValid(value).second;
if (reason.has_value()) {
return Err(static_cast<std::string>(reason.value()));
}
return Ok();
}
GEODE_DLL void setValue(ValueType const& value);
GEODE_DLL Result<> validate(ValueType const& value) const;
};
using BoolSettingValue = GeodeSettingValue<BoolSetting>;

View file

@ -223,6 +223,21 @@ std::string SettingValue::getKey() const {
return type_##SettingNode::create(this, width); \
} \
template<> \
void GeodeSettingValue< \
type_##Setting \
>::setValue(ValueType const& value) { \
m_value = this->toValid(value).first; \
} \
Result<> GeodeSettingValue< \
type_##Setting \
>::validate(ValueType const& value) const { \
auto reason = this->toValid(value).second; \
if (reason.has_value()) { \
return Err(static_cast<std::string>(reason.value())); \
} \
return Ok(); \
} \
template<> \
typename type_##Setting::ValueType SettingValueSetter< \
typename type_##Setting::ValueType \
>::get(SettingValue* setting) { \
@ -274,14 +289,6 @@ namespace geode {
template class GeodeSettingValue<ColorAlphaSetting>;
}
IMPL_NODE_AND_SETTERS(Bool);
IMPL_NODE_AND_SETTERS(Int);
IMPL_NODE_AND_SETTERS(Float);
IMPL_NODE_AND_SETTERS(String);
IMPL_NODE_AND_SETTERS(File);
IMPL_NODE_AND_SETTERS(Color);
IMPL_NODE_AND_SETTERS(ColorAlpha);
IMPL_TO_VALID(Bool) {
return { value, std::nullopt };
}
@ -346,6 +353,14 @@ IMPL_TO_VALID(ColorAlpha) {
return { value, std::nullopt };
}
IMPL_NODE_AND_SETTERS(Bool);
IMPL_NODE_AND_SETTERS(Int);
IMPL_NODE_AND_SETTERS(Float);
IMPL_NODE_AND_SETTERS(String);
IMPL_NODE_AND_SETTERS(File);
IMPL_NODE_AND_SETTERS(Color);
IMPL_NODE_AND_SETTERS(ColorAlpha);
// SettingChangedEvent
SettingChangedEvent::SettingChangedEvent(Mod* mod, SettingValue* value)