ui/curses: add curses interface draft

This commit is contained in:
rr-
2019-01-03 21:38:19 +01:00
parent 81f6dbede2
commit ca7ab192c5
32 changed files with 1413 additions and 18 deletions
+14
View File
@@ -0,0 +1,14 @@
import typing as T
class EventHandler:
def __init__(self) -> None:
self.callbacks: T.List[T.Callable[..., T.Any]] = []
def __call__(self, *args: T.Any, **kwargs: T.Any) -> None:
for callback in self.callbacks:
callback(*args, **kwargs)
def __iadd__(self, callback: T.Callable[..., T.Any]) -> "EventHandler":
self.callbacks.append(callback)
return self