[orx-gui] Add min/max values to saved parameter json files

This commit is contained in:
Edwin Jakobs
2022-08-22 17:57:02 +02:00
parent 775abf35f9
commit 7853a1a1b3

View File

@@ -693,10 +693,12 @@ class GUI(val baseColor:ColorRGBa = ColorRGBa.GRAY, val defaultStyles: List<Styl
var vector4Value: Vector4? = null, var vector4Value: Vector4? = null,
var doubleListValue: MutableList<Double>? = null, var doubleListValue: MutableList<Double>? = null,
var textValue: String? = null, var textValue: String? = null,
var optionValue: String? = null var optionValue: String? = null,
var minValue: Double? = null,
var maxValue: Double? = null
) )
/** /**
* Can be called by the user to obtain an object to be serialized * Can be called by the user to obtain an object to be serialized
* externally. This allows the user to combine custom data with gui * externally. This allows the user to combine custom data with gui
@@ -712,17 +714,43 @@ class GUI(val baseColor:ColorRGBa = ColorRGBa.GRAY, val defaultStyles: List<Styl
Pair(k.property?.name ?: k.function?.name Pair(k.property?.name ?: k.function?.name
?: error("no name"), when (k.parameterType) { ?: error("no name"), when (k.parameterType) {
/* 3) setup serializers */ /* 3) setup serializers */
ParameterType.Double -> ParameterValue(doubleValue = k.property.qget(lo.obj) as Double) ParameterType.Double -> ParameterValue(
ParameterType.Int -> ParameterValue(intValue = k.property.qget(lo.obj) as Int) doubleValue = k.property.qget(lo.obj) as Double,
minValue = k.doubleRange?.start,
maxValue = k.doubleRange?.endInclusive
)
ParameterType.Int -> ParameterValue(
intValue = k.property.qget(lo.obj) as Int,
minValue = k.intRange?.start?.toDouble(),
maxValue = k.intRange?.endInclusive?.toDouble()
)
ParameterType.Action -> ParameterValue() ParameterType.Action -> ParameterValue()
ParameterType.Color -> ParameterValue(colorValue = k.property.qget(lo.obj) as ColorRGBa) ParameterType.Color -> ParameterValue(colorValue = k.property.qget(lo.obj) as ColorRGBa)
ParameterType.Text -> ParameterValue(textValue = k.property.qget(lo.obj) as String) ParameterType.Text -> ParameterValue(textValue = k.property.qget(lo.obj) as String)
ParameterType.Boolean -> ParameterValue(booleanValue = k.property.qget(lo.obj) as Boolean) ParameterType.Boolean -> ParameterValue(booleanValue = k.property.qget(lo.obj) as Boolean)
ParameterType.XY -> ParameterValue(vector2Value = k.property.qget(lo.obj) as Vector2) ParameterType.XY -> ParameterValue(vector2Value = k.property.qget(lo.obj) as Vector2)
ParameterType.DoubleList -> ParameterValue(doubleListValue = k.property.qget(lo.obj) as MutableList<Double>) ParameterType.DoubleList -> ParameterValue(doubleListValue = k.property.qget(
ParameterType.Vector2 -> ParameterValue(vector2Value = k.property.qget(lo.obj) as Vector2) lo.obj) as MutableList<Double>,
ParameterType.Vector3 -> ParameterValue(vector3Value = k.property.qget(lo.obj) as Vector3) minValue = k.doubleRange?.start,
ParameterType.Vector4 -> ParameterValue(vector4Value = k.property.qget(lo.obj) as Vector4) maxValue = k.doubleRange?.endInclusive
)
ParameterType.Vector2 -> ParameterValue(
vector2Value = k.property.qget(lo.obj) as Vector2,
minValue = k.doubleRange?.start,
maxValue = k.doubleRange?.endInclusive
)
ParameterType.Vector3 -> ParameterValue(
vector3Value = k.property.qget(lo.obj) as Vector3,
minValue = k.doubleRange?.start,
maxValue = k.doubleRange?.endInclusive
)
ParameterType.Vector4 -> ParameterValue(
vector4Value = k.property.qget(lo.obj) as Vector4,
minValue = k.doubleRange?.start,
maxValue = k.doubleRange?.endInclusive
)
ParameterType.Option -> ParameterValue(optionValue = (k.property.qget(lo.obj) as Enum<*>).name) ParameterType.Option -> ParameterValue(optionValue = (k.property.qget(lo.obj) as Enum<*>).name)
}) })
}) })