diff options
Diffstat (limited to 'lib/python/Components/Renderer/Progress.py')
| -rw-r--r-- | lib/python/Components/Renderer/Progress.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/python/Components/Renderer/Progress.py b/lib/python/Components/Renderer/Progress.py new file mode 100644 index 00000000..b8534287 --- /dev/null +++ b/lib/python/Components/Renderer/Progress.py @@ -0,0 +1,40 @@ +from Components.VariableValue import VariableValue +from Components.GUIComponent import GUIComponent + +from enigma import eSlider + +class Progress(VariableValue, GUIComponent): + def __init__(self): + GUIComponent.__init__(self) + VariableValue.__init__(self) + self.__start = 0 + self.__end = 100 + + GUI_WIDGET = eSlider + + def connect(self, source): + source.changed.listen(self.changed) + self.source = source + self.changed() + + def changed(self): + range = self.source.range or 100 + value = self.source.value + if value is None: + value = 0 + (self.range, self.value) = ((0, range), value) + + GUI_WIDGET = eSlider + + def postWidgetCreate(self, instance): + instance.setRange(self.__start, self.__end) + + def setRange(self, range): + (__start, __end) = range + if self.instance is not None: + self.instance.setRange(__start, __end) + + def getRange(self): + return (self.__start, self.__end) + + range = property(getRange, setRange) |
