From: Andreas Monzner Date: Fri, 15 Feb 2008 15:02:44 +0000 (+0000) Subject: fix and simplify ChoiceList X-Git-Tag: 2.6.0~1535 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/1a356266af95c3dcf2d85baee824a1bae55c5de2?hp=6f40c2fa2430b8cc96cc4bafb8cac26850a55ecc fix and simplify ChoiceList more flexible MenuList --- diff --git a/lib/python/Components/ChoiceList.py b/lib/python/Components/ChoiceList.py index 07bb56d0..af9f950e 100644 --- a/lib/python/Components/ChoiceList.py +++ b/lib/python/Components/ChoiceList.py @@ -1,5 +1,3 @@ -from HTMLComponent import HTMLComponent -from GUIComponent import GUIComponent from MenuList import MenuList from Tools.Directories import SCOPE_SKIN_IMAGE, resolveFilename from enigma import RT_HALIGN_LEFT, eListboxPythonMultiContent, eListbox, gFont @@ -18,18 +16,13 @@ def ChoiceEntryComponent(key, text): return res -class ChoiceList(MenuList, HTMLComponent, GUIComponent): - def __init__(self, list, selection = 0): - GUIComponent.__init__(self) - self.l = eListboxPythonMultiContent() - self.list = list - self.l.setList(list) +class ChoiceList(MenuList): + def __init__(self, list, selection = 0, enableWrapAround=False): + MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent()) self.l.setFont(0, gFont("Regular", 20)) self.l.setItemHeight(25) self.selection = selection - GUI_WIDGET = eListbox - def postWidgetCreate(self, instance): - instance.setContent(self.l) + MenuList.postWidgetCreate(self, instance) self.moveToIndex(self.selection) diff --git a/lib/python/Components/MenuList.py b/lib/python/Components/MenuList.py index dbdf00a4..8e083c9c 100644 --- a/lib/python/Components/MenuList.py +++ b/lib/python/Components/MenuList.py @@ -4,25 +4,25 @@ from GUIComponent import GUIComponent from enigma import eListboxPythonStringContent, eListbox class MenuList(HTMLComponent, GUIComponent): - def __init__(self, list, enableWrapAround=False): + def __init__(self, list, enableWrapAround=False, content=eListboxPythonStringContent()): GUIComponent.__init__(self) self.list = list - self.l = eListboxPythonStringContent() + self.l = content self.l.setList(self.list) self.onSelectionChanged = [ ] self.enableWrapAround = enableWrapAround - + def getCurrent(self): return self.l.getCurrentSelection() GUI_WIDGET = eListbox - + def postWidgetCreate(self, instance): instance.setContent(self.l) instance.selectionChanged.get().append(self.selectionChanged) if self.enableWrapAround: self.instance.setWrapAround(True) - + def preWidgetRemove(self, instance): instance.setContent(None) instance.selectionChanged.get().remove(self.selectionChanged) @@ -45,19 +45,19 @@ class MenuList(HTMLComponent, GUIComponent): def pageUp(self): if self.instance is not None: self.instance.moveSelection(self.instance.pageUp) - + def pageDown(self): if self.instance is not None: self.instance.moveSelection(self.instance.pageDown) - + def up(self): if self.instance is not None: self.instance.moveSelection(self.instance.moveUp) - + def down(self): if self.instance is not None: self.instance.moveSelection(self.instance.moveDown) - + def selectionEnabled(self, enabled): if self.instance is not None: self.instance.setSelectionEnable(enabled)