X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/9b6b96172d1d20d9daf3c11bc5f0222f487d53d7..6bdfaadd65fe35ba568799b0e42c54e5a95e27ed:/lib/python/Components/ConfigList.py diff --git a/lib/python/Components/ConfigList.py b/lib/python/Components/ConfigList.py index 6ff9116f..1341ac50 100644 --- a/lib/python/Components/ConfigList.py +++ b/lib/python/Components/ConfigList.py @@ -4,13 +4,13 @@ from config import * from enigma import eListbox, eListboxPythonConfigContent -class ConfigList(HTMLComponent, GUIComponent): +class ConfigList(HTMLComponent, GUIComponent, object): def __init__(self, list): GUIComponent.__init__(self) self.l = eListboxPythonConfigContent() - self.l.setList(list) self.l.setSeperation(100) self.list = list + self.onSelectionChanged = [ ] def toggle(self): selection = self.getCurrent() @@ -31,16 +31,29 @@ class ConfigList(HTMLComponent, GUIComponent): def invalidate(self, entry): i = 0 - for x in self.list: + for x in self.__list: if (entry.getConfigPath() == x[1].parent.getConfigPath()): self.l.invalidateEntry(i) i += 1 - - def GUIcreate(self, parent): - self.instance = eListbox(parent) - self.instance.setContent(self.l) + + GUI_WIDGET = eListbox + + def selectionChanged(self): + for x in self.onSelectionChanged: + x() + + def postWidgetCreate(self, instance): + instance.setContent(self.l) + instance.selectionChanged.get().append(self.selectionChanged) + + def preWidgetRemove(self, instance): + instance.selectionChanged.get().remove(self.selectionChanged) - def GUIdelete(self): - self.instance.setContent(None) - self.instance = None + def setList(self, list): + self.__list = list + self.l.setList(self.__list) + + def getList(self): + return self.__list + list = property(getList, setList)