generic show/hide support for GUIComponents
[enigma2.git] / lib / python / Components / ConditionalWidget.py
index 3d855b2728e5dc694277aa030576851d7a5fa4ef..07d59e02be63a658a259cc148197e0785015a751 100644 (file)
@@ -4,17 +4,13 @@ from GUIComponent import *
 from enigma import *
 
 class Widget(GUIComponent):
-       
-       SHOWN = 0
-       HIDDEN = 1
-       
        def __init__(self):
                GUIComponent.__init__(self)
-               self.instance = None
-               self.state = self.SHOWN
        
        def GUIcreate(self, parent):
                self.instance = self.createWidget(parent)
+               if self.state == self.HIDDEN:
+                       self.instance.hide()
        
        def GUIdelete(self):
                self.removeWidget(self.instance)
@@ -23,13 +19,8 @@ class Widget(GUIComponent):
        def removeWidget(self, w):
                pass
        
-       def showWidget(self):
-               self.state = self.SHOWN
-               self.instance.show()
-
-       def hideWidget(self):
-               self.state = self.HIDDEN
-               self.instance.hide()
+       def move(self, x, y):
+               self.instance.move(ePoint(int(x), int(y)))
        
 class ConditionalWidget(Widget):
        def __init__(self, withTimer = True):
@@ -40,18 +31,18 @@ class ConditionalWidget(Widget):
                if (withTimer):
                        self.conditionCheckTimer = eTimer()
                        self.conditionCheckTimer.timeout.get().append(self.update)
-                       self.conditionCheckTimer.start(500)
+                       self.conditionCheckTimer.start(1000)
                
        def setConnect(self, conditionalFunction):
                self.conditionalFunction = conditionalFunction
                
        def activateCondition(self, condition):
                if (condition):
-                       if (self.state == self.HIDDEN):
-                               self.showWidget()
+                       if self.state == self.HIDDEN:
+                               self.show()
                else:
-                       if (self.state == self.SHOWN):
-                               self.hideWidget()
+                       if self.state == self.SHOWN:
+                               self.hide()
 
        def update(self):
                if (self.conditionalFunction != None):
@@ -62,10 +53,6 @@ class ConditionalWidget(Widget):
                                self.conditionalFunction = None
                                self.activateCondition(False)
                        
-
-
-                       
-                       
 import time
 
 class BlinkingWidget(Widget):
@@ -84,10 +71,10 @@ class BlinkingWidget(Widget):
                
        def blink(self):
                if self.blinking == True:
-                       if (self.state == self.SHOWN):
-                               self.hideWidget()
-                       elif (self.state == self.HIDDEN):
-                               self.showWidget()
+                       if self.state == self.SHOWN:
+                               self.hide()
+                       elif self.state == self.HIDDEN:
+                               self.show()
                        
        def startBlinking(self):
                self.blinking = True
@@ -95,8 +82,8 @@ class BlinkingWidget(Widget):
                
        def stopBlinking(self):
                self.blinking = False
-               if (self.state == self.SHOWN):
-                       self.hideWidget()
+               if self.state == self.SHOWN:
+                       self.hide()
                self.timer.stop()
                
 class BlinkingWidgetConditional(BlinkingWidget, ConditionalWidget):
@@ -110,4 +97,4 @@ class BlinkingWidgetConditional(BlinkingWidget, ConditionalWidget):
                                self.startBlinking()
                else:
                        if self.blinking: # we are blinking
-                               self.stopBlinking()                     
\ No newline at end of file
+                               self.stopBlinking()