refs bug #429
[enigma2.git] / lib / python / Components / Renderer / Progress.py
index b8534287cbb948adb912f47a4eaac55cfc31f5c7..f32802e46f339c0e9f2a32bb1c776cc6516efb1b 100644 (file)
@@ -1,23 +1,22 @@
 from Components.VariableValue import VariableValue
-from Components.GUIComponent import GUIComponent
+from Renderer import Renderer
 
 from enigma import eSlider
 
-class Progress(VariableValue, GUIComponent):
+class Progress(VariableValue, Renderer):
        def __init__(self):
-               GUIComponent.__init__(self)
+               Renderer.__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, what):
+               if what[0] == self.CHANGED_CLEAR:
+                       (self.range, self.value) = ((0, 1), 0)
+                       return
 
-       def changed(self):
                range = self.source.range or 100
                value = self.source.value
                if value is None:
@@ -30,9 +29,9 @@ class Progress(VariableValue, GUIComponent):
                instance.setRange(self.__start, self.__end)
 
        def setRange(self, range):
-               (__start, __end) = range
+               (self.__start, self.__end) = range
                if self.instance is not None:
-                       self.instance.setRange(__start, __end)
+                       self.instance.setRange(self.__start, self.__end)
 
        def getRange(self):
                return (self.__start, self.__end)