Attempt a focus change callback

This commit is contained in:
Douglas Clowes
2013-08-19 09:24:16 +10:00
parent 4ecebd5e1f
commit 7225f1920f

View File

@@ -42,8 +42,14 @@ def main():
frame.footer = urwid.AttrWrap(urwid.Text( frame.footer = urwid.AttrWrap(urwid.Text(
[u"Pressed: ", button.get_label()]), 'header') [u"Pressed: ", button.get_label()]), 'header')
radio_button_group = [] def fcc(focus):
frame.footer = urwid.AttrWrap(urwid.Text(
[u"Focus: " + str(focus)]), 'header')
radio_button_group = []
pile = urwid.Pile(cb_list)
edit = urwid.Edit()
cols = urwid.Columns([pile, edit])
blank = urwid.Divider() blank = urwid.Divider()
listbox_content = [ listbox_content = [
# urwid.Padding(urwid.GridFlow( # urwid.Padding(urwid.GridFlow(
@@ -52,9 +58,7 @@ def main():
# 13, 3, 1, 'left'), # 13, 3, 1, 'left'),
# left=4, right=3, min_width=13), # left=4, right=3, min_width=13),
blank, blank,
urwid.Padding(urwid.GridFlow( urwid.Padding(cols,
cb_list,
20, 3, 1, 'left') ,
left=4, right=3, min_width=10), left=4, right=3, min_width=10),
blank, blank,
# urwid.Padding(urwid.GridFlow( # urwid.Padding(urwid.GridFlow(
@@ -66,7 +70,10 @@ def main():
# blank, # blank,
] ]
header = urwid.AttrWrap(urwid.Text(text_header), 'header') header = urwid.AttrWrap(urwid.Text(text_header), 'header')
listbox = urwid.ListBox(urwid.SimpleListWalker(listbox_content)) # TODO: Make this operate on the cb_list
sflw = urwid.SimpleFocusListWalker(listbox_content)
sflw.set_focus_changed_callback(fcc)
listbox = urwid.ListBox(sflw)
frame = urwid.Frame(urwid.AttrWrap(listbox, 'body'), header=header) frame = urwid.Frame(urwid.AttrWrap(listbox, 'body'), header=header)
palette = [ palette = [