X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FConverter%2FStringList.py;fp=lib%2Fpython%2FComponents%2FConverter%2FStringList.py;h=31dbcd3c9ae1b21cb54dfd4ec5fec7339b7593dd;hb=ee0903f520403c5e03caef287f813e7b062d05ab;hp=0000000000000000000000000000000000000000;hpb=9c3098c8667241d18d2551a9a37ce7fbce396b71;p=vuplus_dvbapp diff --git a/lib/python/Components/Converter/StringList.py b/lib/python/Components/Converter/StringList.py new file mode 100644 index 0000000..31dbcd3 --- /dev/null +++ b/lib/python/Components/Converter/StringList.py @@ -0,0 +1,40 @@ +from Converter import Converter +from enigma import eListboxPythonStringContent + + +class StringList(Converter): + """Turns a simple python list into a list which can be used in a listbox.""" + def __init__(self, *args, **kwargs): + Converter.__init__(self) + + def changed(self): + self.content = eListboxPythonStringContent() + if self.source: + self.content.setList(self.source.list) + self.downstream_elements.changed() + + def selectionChanged(self, index): + self.upstream_elements.selectionChanged(index) + # update all non-master targets + for x in self.downstream_elements: + if x is not self.master: + x.index = index + + def getCurrent(self): + if self.source is None: + return None + return self.source.list[self.index] + + current = property(getCurrent) + + # pass through: getIndex / setIndex to master + def getIndex(self): + if self.master is None: + return None + return self.master.index + + def setIndex(self, index): + if self.master is not None: + self.master.index = index + + index = property(getIndex, setIndex)