From eaa8bc374ff5eca1bb3caf9517dc6772cae34dd6 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Tue, 19 Dec 2006 07:19:55 +0000 Subject: add IpkgInstaller Media Scanner plugin --- lib/python/Components/SelectionList.py | 43 ++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 lib/python/Components/SelectionList.py (limited to 'lib/python/Components/SelectionList.py') diff --git a/lib/python/Components/SelectionList.py b/lib/python/Components/SelectionList.py new file mode 100644 index 00000000..1500254a --- /dev/null +++ b/lib/python/Components/SelectionList.py @@ -0,0 +1,43 @@ +from GUIComponent import GUIComponent +from MenuList import MenuList +from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE +from enigma import eListboxPythonMultiContent, loadPNG, eListbox, gFont, RT_HALIGN_LEFT + +selectionpng = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "selectioncross-fs8.png")) + +def SelectionEntryComponent(description, value, index, selected): + res = [ (description, value, index, selected) ] + res.append((eListboxPythonMultiContent.TYPE_TEXT, 30, 3, 500, 30, 0, RT_HALIGN_LEFT, description)) + if selected: + res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 0, 0, 30, 30, selectionpng)) + return res + +class SelectionList(MenuList, GUIComponent): + def __init__(self, list = []): + GUIComponent.__init__(self) + self.l = eListboxPythonMultiContent() + self.list = list + self.setList(list) + self.l.setFont(0, gFont("Regular", 20)) + + GUI_WIDGET = eListbox + + def postWidgetCreate(self, instance): + instance.setContent(self.l) + instance.setItemHeight(30) + + def addSelection(self, description, value, index, selected = True): + self.list.append(SelectionEntryComponent(description, value, index, selected)) + self.setList(self.list) + + def toggleSelection(self): + item = self.list[self.getSelectedIndex()][0] + self.list[self.getSelectedIndex()] = SelectionEntryComponent(item[0], item[1], item[2], not item[3]) + self.setList(self.list) + + def getSelectionsList(self): + list = [] + for item in self.list: + if item[0][3]: + list.append((item[0][0], item[0][1], item[0][2])) + return list \ No newline at end of file -- cgit v1.2.3