From ee0903f520403c5e03caef287f813e7b062d05ab Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sat, 17 Jun 2006 16:48:40 +0000 Subject: add some new (currently unused) source/renderer based elements --- lib/python/Components/Converter/Converter.py | 20 ++------------ lib/python/Components/Converter/Makefile.am | 3 +- lib/python/Components/Converter/StringList.py | 40 +++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 18 deletions(-) create mode 100644 lib/python/Components/Converter/StringList.py (limited to 'lib/python/Components/Converter') diff --git a/lib/python/Components/Converter/Converter.py b/lib/python/Components/Converter/Converter.py index b75d253f..3f054c12 100644 --- a/lib/python/Components/Converter/Converter.py +++ b/lib/python/Components/Converter/Converter.py @@ -1,18 +1,4 @@ -from Tools.Event import Event +from Components.Element import Element -class Converter: - def __init__(self): - self.changed = Event(start = self.start, stop = self.stop) - - def connect(self, source): - source.changed.listen(self.changed) - self.source = source - - def disconnect(self): - self.source.changed.unlisten(self.changed) - - def start(self): - pass - - def stop(self): - pass +class Converter(Element): + pass diff --git a/lib/python/Components/Converter/Makefile.am b/lib/python/Components/Converter/Makefile.am index c2e55eef..5b55ac42 100644 --- a/lib/python/Components/Converter/Makefile.am +++ b/lib/python/Components/Converter/Makefile.am @@ -2,4 +2,5 @@ installdir = $(LIBDIR)/enigma2/python/Components/Converter install_PYTHON = \ __init__.py ClockToText.py Converter.py EventName.py StaticText.py EventTime.py \ - Poll.py RemainingToText.py + Poll.py RemainingToText.py StringList.py + diff --git a/lib/python/Components/Converter/StringList.py b/lib/python/Components/Converter/StringList.py new file mode 100644 index 00000000..31dbcd3c --- /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) -- cgit v1.2.3