1 from GUIComponent import GUIComponent
2 from MenuList import MenuList
3 from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
4 from enigma import eListboxPythonMultiContent, loadPNG, eListbox, gFont, RT_HALIGN_LEFT
6 selectionpng = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "selectioncross-fs8.png"))
8 def SelectionEntryComponent(description, value, index, selected):
9 res = [ (description, value, index, selected) ]
10 res.append((eListboxPythonMultiContent.TYPE_TEXT, 30, 3, 500, 30, 0, RT_HALIGN_LEFT, description))
12 res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 0, 0, 30, 30, selectionpng))
15 class SelectionList(MenuList, GUIComponent):
16 def __init__(self, list = []):
17 GUIComponent.__init__(self)
18 self.l = eListboxPythonMultiContent()
21 self.l.setFont(0, gFont("Regular", 20))
22 self.l.setItemHeight(30)
26 def postWidgetCreate(self, instance):
27 instance.setContent(self.l)
29 def addSelection(self, description, value, index, selected = True):
30 self.list.append(SelectionEntryComponent(description, value, index, selected))
31 self.setList(self.list)
33 def toggleSelection(self):
34 item = self.list[self.getSelectedIndex()][0]
35 self.list[self.getSelectedIndex()] = SelectionEntryComponent(item[0], item[1], item[2], not item[3])
36 self.setList(self.list)
38 def getSelectionsList(self):
40 for item in self.list:
42 list.append((item[0][0], item[0][1], item[0][2]))