12 namespace Standalone {
19 using StringList = std::vector<StringType>;
20 virtual bool updateStringList (
const StringList& newStrings) = 0;
42 const ValueConverterPtr& valueConverter =
nullptr);
55 const ValueConverterPtr& valueConverter =
nullptr);
71 const std::initializer_list<IStringListValue::StringType>& strings,
133 return value.getConverter ().plainToNormalized (plainValue);
139 return value.getConverter ().normalizedToPlain (normalizeValue);
145 if (
auto sv = value.dynamicCast<
IStepValue> ())
147 return sv->stepToValue (stepValue);
153 inline IStepValue::StepType normalizeToStep (
IValue& value,
IValue::Type normalizeValue)
155 if (
auto sv = value.dynamicCast<
IStepValue> ())
157 return sv->valueToStep (normalizeValue);
159 return IStepValue::InvalidStep;
165 return normalizeToPlain (value, value.getValue ());
169 inline IStepValue::StepType currentStepValue (
IValue& value)
171 return normalizeToStep (value, value.getValue ());
178 value.performEdit (newValue);
185 performSingleEdit (value, plainToNormalize (value, plainValue));
189 inline bool performSingleStepEdit (
IValue& value, IStepValue::StepType step)
191 if (
auto stepValue = value.dynamicCast<
IStepValue> ())
193 performSingleEdit (value, stepValue->stepToValue (step));
ValueConverterPtr makeRangeConverter(IValue::Type minValue, IValue::Type maxValue)
Definition: value.cpp:526
ValuePtr makeStepValue(const UTF8String &id, IStepValue::StepType numSteps, IValue::Type initialValue=0., const ValueConverterPtr &valueConverter=nullptr)
Definition: value.cpp:480
ValuePtr makeStringListValue(const UTF8String &id, const std::initializer_list< IStringListValue::StringType > &strings, IValue::Type initialValue=0.)
Definition: value.cpp:488
double Type
Definition: ivalue.h:24
Definition: interface.h:13
Definition: customcontrols.cpp:8
ValuePtr make(const UTF8String &id, IValue::Type initialValue=0., const ValueConverterPtr &valueConverter=nullptr)
Definition: value.cpp:470
ValuePtr makeStaticStringValue(const UTF8String &id, const UTF8String &value)
Definition: value.cpp:508
ValueConverterPtr makePercentConverter()
Definition: value.cpp:520
static constexpr Type InvalidValue
Definition: ivalue.h:26
holds an UTF8 encoded string and a platform representation of it
Definition: cstring.h:56