From 7aaa13924d6d60f6fb66a262ce6ecd8088aee9b6 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Tue, 6 Dec 2005 20:02:48 +0000 Subject: [PATCH] the long awaited feature "blinking label" is now available --- lib/python/Components/BlinkingPixmap.py | 48 +++------------------- lib/python/Components/ConditionalWidget.py | 48 ++++++++++++++++++++++ lib/python/Components/Label.py | 25 ++++++++++- 3 files changed, 77 insertions(+), 44 deletions(-) diff --git a/lib/python/Components/BlinkingPixmap.py b/lib/python/Components/BlinkingPixmap.py index c1b4262f..fef80620 100644 --- a/lib/python/Components/BlinkingPixmap.py +++ b/lib/python/Components/BlinkingPixmap.py @@ -1,49 +1,11 @@ from Pixmap import * +from ConditionalWidget import * -from enigma import * - -import time - -class BlinkingPixmap(Pixmap): +class BlinkingPixmap(BlinkingWidget): def __init__(self): - Pixmap.__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) + Widget.__init__(self) - def stopBlinking(self): - self.blinking = False - if (self.state == self.SHOWN): - self.hideWidget() - self.timer.stop() - -class BlinkingPixmapConditional(BlinkingPixmap, PixmapConditional): +class BlinkingPixmapConditional(BlinkingWidgetConditional, PixmapConditional): def __init__(self): - BlinkingPixmap.__init__(self) + BlinkingWidgetConditional.__init__(self) PixmapConditional.__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() 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 diff --git a/lib/python/Components/Label.py b/lib/python/Components/Label.py index 730a01e5..129180f4 100644 --- a/lib/python/Components/Label.py +++ b/lib/python/Components/Label.py @@ -33,4 +33,27 @@ class Label(HTMLComponent, GUIComponent, VariableText): class LabelConditional(Label, ConditionalWidget): def __init__(self, text = "", withTimer = True): ConditionalWidget.__init__(self, withTimer = withTimer) - Label.__init__(self, text = text) \ No newline at end of file + Label.__init__(self, text = text) + +class BlinkingLabel(Label, BlinkingWidget): + def __init__(self, text = ""): + Label.__init__(text = text) + BlinkingWidget.__init__() + + def GUIcreate(self, parent): + LabelConditional.GUIcreate(self, parent) + + def GUIdelete(self): + LabelConditional.GUIcreate(self) + +class BlinkingLabelConditional(BlinkingWidgetConditional, LabelConditional): + def __init__(self, text = ""): + LabelConditional.__init__(self, text = text) + BlinkingWidgetConditional.__init__(self) + + def GUIcreate(self, parent): + LabelConditional.GUIcreate(self, parent) + + def GUIdelete(self): + LabelConditional.GUIcreate(self) + \ No newline at end of file -- 2.30.2