[Urwid] Passive Overlay

Joern Koerner koerner at in.tu-clausthal.de
Fri Apr 25 04:26:31 EDT 2008


Hi!

I've a small problem with Overlay.
I want to create a "caption" for a LineBox that contains a listbox with an 
overlay.  Just a small simple text that sits around the top left corner and 
does nothing.

# This creates the left and right listboxes 
self.leftlistbox = urwid.ListBox( ListWalker() )
self.rightlistbox = urwid.ListBox( ListWalker() )
		
#Overlay the filename
lfname = urwid.Filler(urwid.Text(lfilename))
lovl = urwid.Overlay(lfname,  urwid.LineBox(self.leftlistbox), \
	align=('fixed left',  2) ,  valign='top', \
	width=len(lfilename),  height=1,   )
		
self.columns = urwid.Columns( [ urwid.Frame(  lovl,  None ),  \
	urwid.Frame( urwid.LineBox(self.rightlistbox),  None ) ],  1)\
self.col_list = self.columns.widget_list
self.columns.set_focus_column( 1 )
		
#now the bottom editbox which contains the merged file
self.bottomlistbox = urwid.ListBox( EditWalker() )
self.bottom = urwid.Frame( urwid.LineBox(self.bottomlistbox),  None )
		
#last but not least create the whole main ui
self.ui = urwid.Frame( urwid.Pile( [ ('weight', 4, self.columns) , \
	('weight', 2, self.bottom)] ) )
self.footer = urwid.AttrWrap( urwid.Text( self.footer_text ), 'foot')
self.view = urwid.Frame( urwid.AttrWrap( self.ui,  'body'),\
	footer=self.footer )

This works fine in fact, but now the left listbox can not be selected anymore.

Any ideas how I can get this work?

Thanks in advance!

 Joern




More information about the Urwid mailing list