Add GUI generator TextParameter annotations
This commit is contained in:
@@ -62,7 +62,7 @@ class GUI : Extension {
|
|||||||
h3 { obj.title() ?: "untitled" }
|
h3 { obj.title() ?: "untitled" }
|
||||||
|
|
||||||
for (parameter in parameters) {
|
for (parameter in parameters) {
|
||||||
addSlider(obj, parameter)
|
addControl(obj, parameter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -75,7 +75,7 @@ class GUI : Extension {
|
|||||||
program.extend(panel)
|
program.extend(panel)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun Div.addSlider(obj: Any, parameter: Parameter) {
|
private fun Div.addControl(obj: Any, parameter: Parameter) {
|
||||||
|
|
||||||
when(val type = parameter.parameterType) {
|
when(val type = parameter.parameterType) {
|
||||||
ParameterType.Int -> {
|
ParameterType.Int -> {
|
||||||
@@ -126,6 +126,18 @@ class GUI : Extension {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ParameterType.Text -> {
|
||||||
|
textfield {
|
||||||
|
label = parameter.label
|
||||||
|
value = (parameter.property as KMutableProperty1<Any, String>).get(obj)
|
||||||
|
events.valueChanged.subscribe {
|
||||||
|
value = it.newValue
|
||||||
|
(parameter.property as KMutableProperty1<Any, String>).set(obj, value)
|
||||||
|
onChangeListener?.invoke(parameter.property.name, it.newValue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user