1 from Converter import Converter
2 from enigma import eListboxPythonStringContent
3 from Components.Element import cached
5 class StringList(Converter):
6 """Turns a simple python list into a list which can be used in a listbox."""
7 def __init__(self, type):
8 Converter.__init__(self, type)
10 def changed(self, what):
11 self.content = eListboxPythonStringContent()
13 self.content.setList(self.source.list)
14 self.downstream_elements.changed(what)
16 def selectionChanged(self, index):
17 self.source.selectionChanged(index)
18 # update all non-master targets
19 for x in self.downstream_elements:
20 if x is not self.master:
25 if self.source is None:
27 return self.source.list[self.index]
29 current = property(getCurrent)
31 # pass through: getIndex / setIndex to master
34 if self.master is None:
36 return self.master.index
38 def setIndex(self, index):
39 if self.master is not None:
40 self.master.index = index
42 index = property(getIndex, setIndex)