diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2006-06-17 16:48:40 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2006-06-17 16:48:40 +0000 |
| commit | ee0903f520403c5e03caef287f813e7b062d05ab (patch) | |
| tree | 947857d4c0ee13747b403a04f06f5078319e0c80 /lib/python/Components/Sources/MenuList.py | |
| parent | 9c3098c8667241d18d2551a9a37ce7fbce396b71 (diff) | |
| download | enigma2-ee0903f520403c5e03caef287f813e7b062d05ab.tar.gz enigma2-ee0903f520403c5e03caef287f813e7b062d05ab.zip | |
add some new (currently unused) source/renderer based elements
Diffstat (limited to 'lib/python/Components/Sources/MenuList.py')
| -rw-r--r-- | lib/python/Components/Sources/MenuList.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/python/Components/Sources/MenuList.py b/lib/python/Components/Sources/MenuList.py new file mode 100644 index 00000000..98764418 --- /dev/null +++ b/lib/python/Components/Sources/MenuList.py @@ -0,0 +1,40 @@ +from Source import Source +from Tools.Event import Event + +class MenuList(Source, object): + def __init__(self, list = [ ], enableWrapAround = False): + Source.__init__(self) + self.__list = list + self.onSelectionChanged = [ ] + + def setList(self, list): + self.__list = list + self.changed() + + list = property(lambda self: self.__list, setList) + + def entry_changed(self, index): + self.downstream_elements.entry_changed(self, index) + + def selectionChanged(self, index): + for x in self.onSelectionChanged: + x() + + def getCurrent(self): + return self.master and self.master.current + + current = property(getCurrent) + + def setIndex(self, index): + if self.master is not None: + self.master = index + + def getIndex(self, index): + if self.master is not None: + return self.master.index + else: + return -1 + + setCurrentIndex = setIndex + + index = property(getIndex, setIndex) |
