X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/08fca93e7f2a37a452399d08c5c84b969b7e52af..7b0d371a7bbfb9e8d624eec9ed97e9a835f75ca7:/lib/python/Components/MenuList.py diff --git a/lib/python/Components/MenuList.py b/lib/python/Components/MenuList.py index 0e337198..876300bd 100644 --- a/lib/python/Components/MenuList.py +++ b/lib/python/Components/MenuList.py @@ -1,38 +1,45 @@ -from HTMLComponent import * -from GUIComponent import * +from HTMLComponent import HTMLComponent +from GUIComponent import GUIComponent from enigma import eListboxPythonStringContent, eListbox class MenuList(HTMLComponent, GUIComponent): - def __init__(self, list): + def __init__(self, list, enableWrapAround=False): GUIComponent.__init__(self) self.list = list self.l = eListboxPythonStringContent() self.l.setList(self.list) self.onSelectionChanged = [ ] + self.enableWrapAround = enableWrapAround def getCurrent(self): return self.l.getCurrentSelection() + + GUI_WIDGET = eListbox - def GUIcreate(self, parent): - self.instance = eListbox(parent) - self.instance.setContent(self.l) - self.instance.selectionChanged.get().append(self.selectionChanged) + def postWidgetCreate(self, instance): + instance.setContent(self.l) + instance.selectionChanged.get().append(self.selectionChanged) + if self.enableWrapAround: + self.instance.setWrapAround(True) - def GUIdelete(self): - self.instance.setContent(None) - self.instance = None + def preWidgetRemove(self, instance): + instance.setContent(None) def selectionChanged(self): for f in self.onSelectionChanged: f() + def getSelectedIndex(self): + return self.l.getCurrentSelectionIndex() + def setList(self, list): self.list = list self.l.setList(self.list) def moveToIndex(self, idx): - self.instance.moveSelectionTo(idx) + if self.instance is not None: + self.instance.moveSelectionTo(idx) def pageUp(self): if self.instance is not None: @@ -52,4 +59,4 @@ class MenuList(HTMLComponent, GUIComponent): def selectionEnabled(self, enabled): if self.instance is not None: - self.instance.setSelectionEnable(enabled) \ No newline at end of file + self.instance.setSelectionEnable(enabled)