diff --git a/orx-gui/src/main/kotlin/Gui.kt b/orx-gui/src/main/kotlin/Gui.kt index 6adade0c..f67e6f2a 100644 --- a/orx-gui/src/main/kotlin/Gui.kt +++ b/orx-gui/src/main/kotlin/Gui.kt @@ -78,6 +78,8 @@ class GUI : Extension { private var onChangeListener: ((name: String, value: Any?) -> Unit)? = null override var enabled = true + private var visible = true + var compartmentsCollapsedByDefault = true var doubleBind = false @@ -91,18 +93,20 @@ class GUI : Extension { onChangeListener = listener } - override fun setup(program: Program) { + val collapsed = ElementClass("collapsed") + override fun setup(program: Program) { program.keyboard.keyDown.listen { if (it.key == KEY_F11) { - enabled = !enabled - val collapsed = ElementClass("collapsed") - if(enabled) { + println("f11 pressed") + visible = !visible + + if(visible) { panel.body!!.classes.remove(collapsed) } else { panel.body!!.classes.add(collapsed) } - sidebarState().hidden = !enabled + sidebarState().hidden = !visible } if (it.key == KEY_LEFT_SHIFT) { @@ -342,12 +346,11 @@ class GUI : Extension { } } - if (sidebarState().hidden) { - enabled = false - panel.enabled = false + visible = !sidebarState().hidden + if(visible) { + panel.body!!.classes.remove(collapsed) } else { - enabled = true - panel.enabled = true + panel.body!!.classes.add(collapsed) } program.extend(panel) @@ -496,6 +499,7 @@ class GUI : Extension { obj )?.let { value = it + setAndPersist(compartment.label, parameter.property as KMutableProperty1>, obj, it) } } } @@ -521,6 +525,7 @@ class GUI : Extension { obj )?.let { value = it + setAndPersist(compartment.label, parameter.property as KMutableProperty1, obj, it) } } } @@ -546,6 +551,7 @@ class GUI : Extension { obj )?.let { value = it + setAndPersist(compartment.label, parameter.property as KMutableProperty1, obj, it) } } } @@ -571,6 +577,7 @@ class GUI : Extension { obj )?.let { value = it + setAndPersist(compartment.label, parameter.property as KMutableProperty1, obj, it) } } } @@ -605,6 +612,7 @@ class GUI : Extension { )?.let { enum -> (this@dropdownButton).value = items().find { item -> item.data == enum } ?: error("no matching item found") + setAndPersist(compartment.label, parameter.property as KMutableProperty1>, obj, enum) } } } diff --git a/orx-panel/src/main/kotlin/org/openrndr/panel/elements/SlidersVector.kt b/orx-panel/src/main/kotlin/org/openrndr/panel/elements/SlidersVector.kt index 6acf538b..df0b18b6 100644 --- a/orx-panel/src/main/kotlin/org/openrndr/panel/elements/SlidersVector.kt +++ b/orx-panel/src/main/kotlin/org/openrndr/panel/elements/SlidersVector.kt @@ -13,6 +13,7 @@ class SlidersVector2 : SequenceEditorBase("sliders-vector2") { set(value) { baseValue[0] = value.x baseValue[1] = value.y + requestRedraw() } class ValueChangedEvent(val source: SequenceEditorBase, @@ -48,6 +49,7 @@ class SlidersVector3 : SequenceEditorBase("sliders-vector3") { baseValue[0] = value.x baseValue[1] = value.y baseValue[2] = value.z + requestRedraw() } class ValueChangedEvent(val source: SequenceEditorBase, @@ -83,6 +85,7 @@ class SlidersVector4 : SequenceEditorBase("sliders-vector4") { baseValue[1] = value.y baseValue[2] = value.z baseValue[3] = value.w + requestRedraw() } class ValueChangedEvent(val source: SequenceEditorBase,