summaryrefslogtreecommitdiff
path: root/docs/tutorial
diff options
context:
space:
mode:
authorIan Ward <ian@excess.org>2012-08-05 14:18:24 -0400
committerIan Ward <ian@excess.org>2012-08-05 14:18:24 -0400
commit84dc944d7af7bbc56dc56b8043ae096afe28cbf3 (patch)
tree3ab2fd0e4d3781a76f58ba10f31ca16aecc8dc16 /docs/tutorial
parentc9ee42570ac96a2697e4e2d4c51a93aee584cf42 (diff)
downloadurwid-84dc944d7af7bbc56dc56b8043ae096afe28cbf3.tar.gz
tutorial: menu1 example
--HG-- branch : feature-sphinx
Diffstat (limited to 'docs/tutorial')
-rw-r--r--docs/tutorial/menu.py8
-rw-r--r--docs/tutorial/menu1.py24
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()