From 07a899ad61e292260bd8aff4ca73217662a323d6 Mon Sep 17 00:00:00 2001 From: Jakob Stendahl Date: Wed, 13 Oct 2021 08:12:38 +0200 Subject: :lipstick: Add Trigger variable, fix small UI bug --- NeoRuntime/Runtime/luxcena_neo/neo_behaviour.py | 15 +++++++++++++++ .../Components/MainControls/ControlComponents.svelte | 10 +++++++++- src_frontend/Components/MainControls/ControlOthers.svelte | 2 +- src_frontend/Components/ModeList/NewModeDialog.svelte | 1 + 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/NeoRuntime/Runtime/luxcena_neo/neo_behaviour.py b/NeoRuntime/Runtime/luxcena_neo/neo_behaviour.py index 4da3093..6ae58fe 100644 --- a/NeoRuntime/Runtime/luxcena_neo/neo_behaviour.py +++ b/NeoRuntime/Runtime/luxcena_neo/neo_behaviour.py @@ -56,6 +56,7 @@ class VariableType(Enum): FLOAT = 3 COLOR = 4 BOOL = 5 + TRIGGER = 6 class Variables: @@ -264,3 +265,17 @@ class BooleanVariable(Variable): super(BooleanVariable, type(self)).value.fset(self, value) except: print("Attempted to set {} to \"{}\", which is not a valid bool...".format(self.name, value)) + +class Trigger(self): + + def __init__(self, name: str, **kwargs): + super().__init__(name, False, VariableType.TRIGGER, **kwargs) + + @Variable.value.setter + def value(self, value): + try: + value = bool(value) + if value: value = False + super(BooleanVariable, type(self)).value.fset(self, value) + except: + print("Attempted to set {} to \"{}\", which is not a valid bool...".format(self.name, value)) \ No newline at end of file diff --git a/src_frontend/Components/MainControls/ControlComponents.svelte b/src_frontend/Components/MainControls/ControlComponents.svelte index 65bd1c4..71c522a 100644 --- a/src_frontend/Components/MainControls/ControlComponents.svelte +++ b/src_frontend/Components/MainControls/ControlComponents.svelte @@ -19,6 +19,7 @@ let activeMode = ""; let colorVariables = {}; + let variables = {}; function togglePower() { powerIsOn = !powerIsOn; @@ -54,6 +55,13 @@ } colorVariables = colorVariables; break; + default: + if (value.value == null) { + delete variables[name]; + } else { + variables[name] = value.value; + } + variables = variables; } } openSocket.on("modelist", (modelist) => { @@ -135,5 +143,5 @@ {#if Object.keys(colorVariables).length > 0} {/if} - + \ No newline at end of file diff --git a/src_frontend/Components/MainControls/ControlOthers.svelte b/src_frontend/Components/MainControls/ControlOthers.svelte index 862a4f5..390daf9 100644 --- a/src_frontend/Components/MainControls/ControlOthers.svelte +++ b/src_frontend/Components/MainControls/ControlOthers.svelte @@ -1,7 +1,7 @@