diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2020-01-18 11:19:32 -0600 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2020-02-08 16:03:13 -0600 |
| commit | 0a1634bedf17f7b27a3781d8e5ac6bafb20cd546 (patch) | |
| tree | 1422bbcf3adc3b715f0f0f3bf4630da728342899 /Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.cpp | |
| parent | e8152b700f76da97d346b93662ef8492bc93190c (diff) | |
InputCommon: Allow Wii remote extension to be set with an input expression.
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.cpp b/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.cpp index 3459040824..ab45b64595 100644 --- a/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.cpp +++ b/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.cpp @@ -4,6 +4,8 @@ #include "InputCommon/ControllerEmu/Setting/NumericSetting.h" +#include <sstream> + namespace ControllerEmu { NumericSettingBase::NumericSettingBase(const NumericSettingDetails& details) : m_details(details) @@ -26,6 +28,36 @@ const char* NumericSettingBase::GetUIDescription() const } template <> +void NumericSetting<int>::SetExpressionFromValue() +{ + m_value.m_input.SetExpression(ValueToString(GetValue())); +} + +template <> +void NumericSetting<double>::SetExpressionFromValue() +{ + // We must use a dot decimal separator for expression parser. + std::ostringstream ss; + ss.imbue(std::locale::classic()); + ss << GetValue(); + + m_value.m_input.SetExpression(ss.str()); +} + +template <> +void NumericSetting<bool>::SetExpressionFromValue() +{ + // Cast bool to prevent "true"/"false" strings. + m_value.m_input.SetExpression(ValueToString(int(GetValue()))); +} + +template <> +SettingType NumericSetting<int>::GetType() const +{ + return SettingType::Int; +} + +template <> SettingType NumericSetting<double>::GetType() const { return SettingType::Double; |
