b8534287cbb948adb912f47a4eaac55cfc31f5c7
[enigma2.git] / lib / python / Components / Renderer / Progress.py
1 from Components.VariableValue import VariableValue
2 from Components.GUIComponent import GUIComponent
3
4 from enigma import eSlider
5
6 class Progress(VariableValue, GUIComponent):
7         def __init__(self):
8                 GUIComponent.__init__(self)
9                 VariableValue.__init__(self)
10                 self.__start = 0
11                 self.__end = 100
12
13         GUI_WIDGET = eSlider
14
15         def connect(self, source):
16                 source.changed.listen(self.changed)
17                 self.source = source
18                 self.changed()
19
20         def changed(self):
21                 range = self.source.range or 100
22                 value = self.source.value
23                 if value is None:
24                         value = 0
25                 (self.range, self.value) = ((0, range), value)
26
27         GUI_WIDGET = eSlider
28
29         def postWidgetCreate(self, instance):
30                 instance.setRange(self.__start, self.__end)
31
32         def setRange(self, range):
33                 (__start, __end) = range
34                 if self.instance is not None:
35                         self.instance.setRange(__start, __end)
36
37         def getRange(self):
38                 return (self.__start, self.__end)
39
40         range = property(getRange, setRange)