Hello
After struggling with listbox, piles, errors, and with the help of 
Rebecca and Ian finally I start to understand a little part of URWID. In 
my previous python example I only had two columns with two ListBox and 
one of them was not-selectable. To get the focus I used simply 
self.queue_widget.get_focus()[1], returning the integer inside the 
self.queue_widget listbox which has the focus. Now, I introduce an extra 
ListBox "self.printing_widget" and piled them:

        self.queue_widget = urwid.AttrWrap(urwid.BoxAdapter(urwid.ListBox(#
                                                                    
[urwid.AttrWrap(SelText(""), None, 'edit')]), 10),'chars')
        self.finish_widget = 
urwid.AttrWrap(urwid.BoxAdapter(UnselectableListBox(#
                                                                    
[urwid.AttrWrap(NotSelText(""), None, 'edit')]), 10), 'chars')
        self.printing_widget = 
urwid.AttrWrap(urwid.BoxAdapter(urwid.ListBox(#
                                                                    
[urwid.AttrWrap(SelText(""), None, 'edit')]), 1),'chars')
        self.QueuePile = urwid.Pile([urwid.Text("On queue", 'center'),
                                                       urwid.Text("  
ID#        User", 'left'),
                                                       self.queue_widget,
                                                       
urwid.AttrWrap(urwid.Divider(top=1), 'body'),
                                                       
urwid.Text("Printing", 'center'),
                                                       
self.printing_widget], focus_item=2)
        FinishPile = urwid.AttrWrap(urwid.Pile([urwid.Text("Finished", 
'center'),
                                                        urwid.Text("  
User        Pages", 'left'),
                                                       
self.finish_widget]), 'header')

        ControlColumns = urwid.Columns([urwid.AttrWrap(self.QueuePile, 
'header'), FinishPile], dividechars=2, focus_column=0)
        ControlColumns = urwid.Padding(ControlColumns, ('fixed left', 
2), ('fixed right', 2))

        Pile = urwid.Pile([ControlColumns])
        Final = urwid.AttrWrap(urwid.Filler(Pile, 'middle'), 'body')
        self.top = urwid.Frame( body=Final, header=HEADER)


Now, I need to know in which part of the self.QueuePile pile I have the 
focus in order to use self.queue_widget.get_focus()[1] and process the 
row. Is this the proper way to know where I have the focus? When I use 
self.QueuePile.get_focus() and don't get what I want, it returns: 
<urwid.widget.AttrWrap object at 0x9e1b78c> . Can somebody help me on this?

Pedro


_______________________________________________
Urwid mailing list
[email protected]
http://lists.excess.org/mailman/listinfo/urwid

Reply via email to