- added Temp controller

- use AttributeChange for Processing objects
This commit is contained in:
jens
2020-11-29 14:35:44 +01:00
parent d16b6b272a
commit d9c587476f
7 changed files with 72 additions and 14 deletions
+8 -4
View File
@@ -33,11 +33,14 @@ class ValueChanged(object):
class AttributeChange(object):
callbacks = {}
def __init__(self):
self.callbacks = {}
def set_on_changed(self, key, on_changed: ValueChanged):
def set_on_changed(self, key, on_changed):
if key not in self.callbacks:
self.callbacks[key] = on_changed
self.callbacks[key] = [on_changed]
else:
self.callbacks[key].append(on_changed)
def __setattr__(self, key, value):
try:
@@ -48,4 +51,5 @@ class AttributeChange(object):
super().__setattr__(key, value)
if key in self.callbacks:
self.callbacks[key].set(value)
for cb in self.callbacks[key]:
cb(value)