1 from GUIComponent import GUIComponent
2 from MenuList import MenuList
3 from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
4 from enigma import eListboxPythonMultiContent, eListbox, gFont, RT_HALIGN_LEFT
5 from Tools.LoadPixmap import LoadPixmap
7 selectionpng = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "selectioncross-fs8.png"))
9 def SelectionEntryComponent(description, value, index, selected):
10 res = [ (description, value, index, selected) ]
11 res.append((eListboxPythonMultiContent.TYPE_TEXT, 30, 3, 500, 30, 0, RT_HALIGN_LEFT, description))
13 res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 0, 0, 30, 30, selectionpng))
16 class SelectionList(MenuList, GUIComponent):
17 def __init__(self, list = None):
18 GUIComponent.__init__(self)
19 self.l = eListboxPythonMultiContent()
20 self.list = list or []
21 self.setList(self.list)
22 self.l.setFont(0, gFont("Regular", 20))
23 self.l.setItemHeight(30)
27 def postWidgetCreate(self, instance):
28 instance.setContent(self.l)
30 def addSelection(self, description, value, index, selected = True):
31 self.list.append(SelectionEntryComponent(description, value, index, selected))
32 self.setList(self.list)
34 def toggleSelection(self):
35 item = self.list[self.getSelectedIndex()][0]
36 self.list[self.getSelectedIndex()] = SelectionEntryComponent(item[0], item[1], item[2], not item[3])
37 self.setList(self.list)
39 def getSelectionsList(self):
41 for item in self.list:
43 list.append((item[0][0], item[0][1], item[0][2]))