diff options
| author | Ian Ward <ian@excess.org> | 2012-08-05 14:18:24 -0400 |
|---|---|---|
| committer | Ian Ward <ian@excess.org> | 2012-08-05 14:18:24 -0400 |
| commit | 84dc944d7af7bbc56dc56b8043ae096afe28cbf3 (patch) | |
| tree | 3ab2fd0e4d3781a76f58ba10f31ca16aecc8dc16 /docs/tutorial | |
| parent | c9ee42570ac96a2697e4e2d4c51a93aee584cf42 (diff) | |
| download | urwid-84dc944d7af7bbc56dc56b8043ae096afe28cbf3.tar.gz | |
tutorial: menu1 example
--HG--
branch : feature-sphinx
Diffstat (limited to 'docs/tutorial')
| -rw-r--r-- | docs/tutorial/menu.py | 8 | ||||
| -rw-r--r-- | docs/tutorial/menu1.py | 24 |
2 files changed, 29 insertions, 3 deletions
diff --git a/docs/tutorial/menu.py b/docs/tutorial/menu.py index ed7c77c..5ef5951 100644 --- a/docs/tutorial/menu.py +++ b/docs/tutorial/menu.py @@ -1,12 +1,12 @@ import urwid inventory = set() -loop = urwid.MainLoop(None) class MenuButton(urwid.Button): def __init__(self, text, callback): super(MenuButton, self).__init__("", callback) - self._w = urwid.SelectableIcon(text, 1) + self._w = urwid.AttrMap(urwid.SelectableIcon(text, 1), + None, focus_map='reversed') class SubMenu(urwid.WidgetWrap): def __init__(self, title, menu): @@ -72,6 +72,8 @@ menu_top = menu(u'porch', ), ), ) -loop.widget = menu_top.menu + +loop = urwid.MainLoop(menu_top.menu, + palette=[('reversed', 'standout', '')]) loop.run() print u"Congratulations, you can make lemonade!" diff --git a/docs/tutorial/menu1.py b/docs/tutorial/menu1.py new file mode 100644 index 0000000..f3dd0a3 --- /dev/null +++ b/docs/tutorial/menu1.py @@ -0,0 +1,24 @@ +import urwid + +def menu(title, choices): + body = [urwid.Text(title), urwid.Divider()] + for c in choices: + button = urwid.Button(c) + urwid.connect_signal(button, 'click', item_chosen, c) + body.append(urwid.AttrMap(button, None, focus_map='reversed')) + return urwid.ListBox(urwid.SimpleListWalker(body)) + +def item_chosen(self, choice): + response = urwid.Text(u'You chose %s' % choice) + loop.widget = urwid.Filler(response) + # exit on the next input from user + loop.unhandled_input = exit_program + +def exit_program(key): + raise urwid.ExitMainLoop() + +choices = u'Chapman Cleese Gilliam Idle Jones Palin'.split() + +loop = urwid.MainLoop(menu(u'Pythons', choices), + palette=[('reversed', 'standout', '')]) +loop.run() |
