factorize the conditionalPixmap
[enigma2.git] / lib / python / Components / Pixmap.py
index 264ffe29df6942a3ce2e5a924c19b29f0ce91277..790261188785eef1ad8103eb50648090220136c4 100644 (file)
@@ -1,54 +1,23 @@
-import skin
+from ConditionalWidget import *
 
 from enigma import *
 
-class Pixmap:
-       """Pixmap can be used for components which diplay a pixmap"""
-       
+class Pixmap(Widget):
        def __init__(self):
-               self.instance = None
-       
-       def GUIcreate(self, parent):
-               self.instance = self.createWidget(parent)
-       
-       def GUIdelete(self):
-               self.removeWidget(self.instance)
-               self.instance = None
-       
+               Widget.__init__(self)
+
        def getePixmap(self, parent):
                #pixmap = ePixmap(parent)
                #pixmap.setPixmapFromFile(self.filename)
                return ePixmap(parent)
        
-       def removeWidget(self, instance):
+       def createWidget(self, parent):
+               return self.getePixmap(parent)
+
+       def removeWidget(self, w):
                pass
 
-class PixmapConditional(Pixmap):
+class PixmapConditional(ConditionalWidget, Pixmap):
        def __init__(self, withTimer = True):
-               Pixmap.__init__(self)
-               
-               self.setConnect(None)
-               
-               if (withTimer):
-                       self.conditionCheckTimer = eTimer()
-                       self.conditionCheckTimer.timeout.get().append(self.update)
-                       self.conditionCheckTimer.start(1000)
-               
-       def setConnect(self, conditionalFunction):
-               self.conditionalFunction = conditionalFunction
-               
-       def activateCondition(self, condition):
-               if (condition):
-                       self.instance.show()
-               else:
-                       self.instance.hide()
+               ConditionalWidget.__init__(self)
 
-       def update(self):
-               if (self.setConnect != None):
-                       try:
-                               self.conditionalFunction() # check, if the conditionalfunction is still valid
-                       except:
-                               self.conditionalFunction = None
-                               self.activateCondition(False)
-                       
-                       self.activateCondition(self.conditionalFunction())