_new_tree_callback is not specific to drawing
[pysize.git] / core / observable.py
blob0573d914555c44cf823ae8c1d7aef5948273f9ee
1 class observable:
2 """The Observer/Observable pattern"""
4 def __init__(self):
5 self.callbacks = []
7 def add_observer(self, callback):
8 self.callbacks.append(callback)
10 def del_observer(self, callback):
11 self.callbacks.remove(callback)
13 def fire_observers(self, *args, **kwargs):
14 # Copy in case the list is modified by an observer
15 for cb in self.callbacks[:]:
16 cb(*args, **kwargs)