X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8c2a83d6b2a60b2bd408ccdc6d5afd6da506912f..03dba41f691f1ae6a315d0a13c5af66fdf93fbfd:/lib/python/Components/Renderer/Listbox.py diff --git a/lib/python/Components/Renderer/Listbox.py b/lib/python/Components/Renderer/Listbox.py old mode 100644 new mode 100755 index 8e510b4c..716fe445 --- a/lib/python/Components/Renderer/Listbox.py +++ b/lib/python/Components/Renderer/Listbox.py @@ -19,6 +19,7 @@ class Listbox(Renderer, object): self.__content = None self.__wrap_around = False self.__selection_enabled = True + self.__scrollbarMode = "showOnDemand" GUI_WIDGET = eListbox @@ -38,6 +39,7 @@ class Listbox(Renderer, object): instance.selectionChanged.get().append(self.selectionChanged) self.wrap_around = self.wrap_around # trigger self.selection_enabled = self.selection_enabled # trigger + self.scrollbarMode = self.scrollbarMode # trigger def preWidgetRemove(self, instance): instance.setContent(None) @@ -76,5 +78,26 @@ class Listbox(Renderer, object): selection_enabled = property(lambda self: self.__selection_enabled, setSelectionEnabled) + def setScrollbarMode(self, mode): + self.__scrollbarMode = mode + if self.instance is not None: + self.instance.setScrollbarMode(int( + { "showOnDemand": 0, + "showAlways": 1, + "showNever": 2, + }[mode])) + + scrollbarMode = property(lambda self: self.__scrollbarMode, setScrollbarMode) + def changed(self, what): + if hasattr(self.source, "selectionEnabled"): + self.selection_enabled = self.source.selectionEnabled + if hasattr(self.source, "scrollbarMode"): + self.scrollbarMode = self.source.scrollbarMode + if len(what) > 1 and isinstance(what[1], str) and what[1] == "style": + return self.content = self.source.content + + def entry_changed(self, index): + if self.instance is not None: + self.instance.entryChanged(index)