-import skin
-from GUIComponent import *
+from GUIComponent import GUIComponent
+from enigma import eTimer
-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)
-
- def GUIdelete(self):
- self.removeWidget(self.instance)
- self.instance = None
-
- 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()
-
-class ConditionalWidget(Widget):
+class ConditionalWidget(GUIComponent):
def __init__(self, withTimer = True):
- Widget.__init__(self)
+ GUIComponent.__init__(self)
self.setConnect(None)
if (withTimer):
self.conditionCheckTimer = eTimer()
- self.conditionCheckTimer.timeout.get().append(self.update)
- self.conditionCheckTimer.start(500)
-
+ self.conditionCheckTimer.callback.append(self.update)
+ self.conditionCheckTimer.start(1000)
+
+ def postWidgetCreate(self, instance):
+ self.visible = 0
+
def setConnect(self, conditionalFunction):
self.conditionalFunction = conditionalFunction
def activateCondition(self, condition):
- if (condition):
- if (self.state == self.HIDDEN):
- self.showWidget()
+ if condition:
+ self.visible = 1
else:
- if (self.state == self.SHOWN):
- self.hideWidget()
+ self.visible = 0
def update(self):
if (self.conditionalFunction != None):
try:
- self.conditionalFunction() # check, if the conditionalfunction is still valid
self.activateCondition(self.conditionalFunction())
except:
self.conditionalFunction = None
self.activateCondition(False)
-
-
-
-
-import time
-
-class BlinkingWidget(Widget):
+class BlinkingWidget(GUIComponent):
def __init__(self):
- Widget.__init__(self)
-
- self.blinking = True
-
+ GUIComponent.__init__(self)
+ self.blinking = False
self.setBlinkTime(500)
-
self.timer = eTimer()
- self.timer.timeout.get().append(self.blink)
+ self.timer.callback.append(self.blink)
def setBlinkTime(self, time):
self.blinktime = time
def blink(self):
if self.blinking == True:
- if (self.state == self.SHOWN):
- self.hideWidget()
- elif (self.state == self.HIDDEN):
- self.showWidget()
+ self.visible = not self.visible
def startBlinking(self):
self.blinking = True
def stopBlinking(self):
self.blinking = False
- if (self.state == self.SHOWN):
- self.hideWidget()
+ if self.visible:
+ self.hide()
self.timer.stop()
-
+
class BlinkingWidgetConditional(BlinkingWidget, ConditionalWidget):
def __init__(self):
BlinkingWidget.__init__(self)
self.startBlinking()
else:
if self.blinking: # we are blinking
- self.stopBlinking()
\ No newline at end of file
+ self.stopBlinking()