aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/ConditionalWidget.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/Components/ConditionalWidget.py')
-rw-r--r--lib/python/Components/ConditionalWidget.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/lib/python/Components/ConditionalWidget.py b/lib/python/Components/ConditionalWidget.py
index 8fb7c389..8d4af30a 100644
--- a/lib/python/Components/ConditionalWidget.py
+++ b/lib/python/Components/ConditionalWidget.py
@@ -62,3 +62,51 @@ class ConditionalWidget(Widget):
self.activateCondition(False)
self.activateCondition(self.conditionalFunction())
+
+
+
+import time
+
+class BlinkingWidget(Widget):
+ def __init__(self):
+ Widget.__init__(self)
+
+ self.blinking = True
+
+ self.setBlinkTime(500)
+
+ self.timer = eTimer()
+ self.timer.timeout.get().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()
+
+ def startBlinking(self):
+ self.blinking = True
+ self.timer.start(self.blinktime)
+
+ def stopBlinking(self):
+ self.blinking = False
+ if (self.state == self.SHOWN):
+ self.hideWidget()
+ self.timer.stop()
+
+class BlinkingWidgetConditional(BlinkingWidget, ConditionalWidget):
+ def __init__(self):
+ BlinkingWidget.__init__(self)
+ ConditionalWidget.__init__(self)
+
+ def activateCondition(self, condition):
+ if (condition):
+ if not self.blinking: # we are already blinking
+ self.startBlinking()
+ else:
+ if self.blinking: # we are blinking
+ self.stopBlinking() \ No newline at end of file