=== modified file 'curses/curses_misc.py' --- curses/curses_misc.py 2012-05-06 15:16:15 +0000 +++ curses/curses_misc.py 2012-11-15 09:26:21 +0000 @@ -349,7 +349,10 @@ # We need this to pick our keypresses self.use_enter = use_enter - self.focus = focus + if urwid.VERSION < (1, 1, 0): + self.focus = focus + else: + self.focus_position = focus self.callback = callback self.user_args = user_args @@ -362,7 +365,11 @@ self.list = list def set_focus(self,index): - self.focus = index + if urwid.VERSION < (1, 1, 0): + self.focus = index + else: + self.focus_position = index + # API changed between urwid 0.9.8.4 and 0.9.9 try: self.cbox.set_w(SelText(self.list[index]+self.DOWN_ARROW)) @@ -376,16 +383,21 @@ def build_combobox(self,parent,ui,row): str,trash = self.label.get_text() - self.cbox = DynWrap(SelText([self.list[self.focus]+self.DOWN_ARROW]), + if urwid.VERSION < (1, 1, 0): + index = self.focus + else: + index = self.focus_position + + self.cbox = DynWrap(SelText([self.list[index]+self.DOWN_ARROW]), attrs=self.attrs,focus_attr=self.focus_attr) if str != '': w = urwid.Columns([('fixed',len(str),self.label),self.cbox], dividechars=1) - self.overlay = self.ComboSpace(self.list,parent,ui,self.focus, + self.overlay = self.ComboSpace(self.list,parent,ui,index, pos=(len(str)+1,row)) else: w = urwid.Columns([self.cbox]) - self.overlay = self.ComboSpace(self.list,parent,ui,self.focus, + self.overlay = self.ComboSpace(self.list,parent,ui,index, pos=(0,row)) self._w = w @@ -419,7 +431,10 @@ if self.overlay: return self.overlay._listbox.get_focus() else: - return None,self.focus + if urwid.VERSION < (1, 1, 0): + return None, self.focus + else: + return None, self.focus_position def get_sensitive(self): return self.cbox.get_sensitive()