123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import urwid
- def show_or_exit(key):
- if isinstance(key, tuple):
- return
-
- if key in ('esc',):
- raise urwid.ExitMainLoop()
- class ActivityManager(object):
- def __init__(self):
- self.widgets = dict()
- self.app = None
-
- def add(self, widget, name):
- self.widgets[name] = widget
- return widget
-
- def get(self, name):
- if name in self.widgets:
- return self.widgets[name]
- return None
-
- def create(self, cls, name, *args, **kwargs):
- widget = cls(*args, **kwargs)
- if name is not None:
- self.add(widget, name)
- return widget
-
- def show(self, widget):
- if self.app is not None:
- self.app.original_widget = widget
- return
- self.app = widget
- def current(self):
- if self.app is None:
- return None
- return self.app.original_widget
|