test_ok2/py/test/tkinter/event.py

20 lines
495 B
Python

class Event:
def __init__(self, *args, **kwargs):
self.args = args
self.kwargs = kwargs
self.callbacks = []
def __call__(self, *args, **kwargs):
default_kwargs = kwargs.copy()
default_kwargs.update(kwargs)
for callable in self.callbacks:
callable(*args, **default_kwargs)
def subscribe(self, callable):
self.callbacks.append(callable)
def remove(self, callable):
while f in self.callbacks: self.callbacks.remove(f)