diff options
Diffstat (limited to 'lib/python/Components')
| -rw-r--r-- | lib/python/Components/BlinkingPixmap.py | 95 | ||||
| -rw-r--r-- | lib/python/Components/BlinkingPoint.py | 0 | ||||
| -rw-r--r-- | lib/python/Components/Makefile.am | 2 |
3 files changed, 96 insertions, 1 deletions
diff --git a/lib/python/Components/BlinkingPixmap.py b/lib/python/Components/BlinkingPixmap.py new file mode 100644 index 00000000..e34e9165 --- /dev/null +++ b/lib/python/Components/BlinkingPixmap.py @@ -0,0 +1,95 @@ +from HTMLComponent import * +from GUIComponent import * + +from Pixmap import Pixmap + +from enigma import * + +import time + +class BlinkingPixmap(GUIComponent, Pixmap): + SHOWN = 0 + HIDDEN = 1 + + def __init__(self, filename): + Pixmap.__init__(self) + GUIComponent.__init__(self) + + self.filename = filename + + self.state = self.SHOWN + self.blinking = False + + self.setBlinkTime(500) + + self.timer = eTimer() + self.timer.timeout.get().append(self.blink) + + + def createWidget(self, parent): + return self.getePixmap(parent, self.filename) + + def removeWidget(self, w): + pass + + def showPoint(self): + print "Show point" + self.state = self.SHOWN + self.instance.show() + + def hidePoint(self): + print "Hide point" + self.state = self.HIDDEN + self.instance.hide() + + def setBlinkTime(self, time): + self.blinktime = time + + def blink(self): + if self.blinking == True: + if (self.state == self.SHOWN): + self.hidePoint() + elif (self.state == self.HIDDEN): + self.showPoint() + + def startBlinking(self): + self.blinking = True + self.timer.start(self.blinktime) + + def stopBlinking(self): + self.blinking = False + if (self.state == self.SHOWN): + self.hidePoint() + self.timer.stop() + +class BlinkingPixmapConditional(BlinkingPixmap): + def __init__(self, filename): + BlinkingPixmap.__init__(self, filename) + + self.setConnect(None) + + self.conditionCheckTimer = eTimer() + self.conditionCheckTimer.timeout.get().append(self.conditionallyBlink) + self.conditionCheckTimer.start(1000) + + def setConnect(self, conditionalFunction): + self.conditionalFunction = conditionalFunction + + def conditionallyBlink(self): + try: + self.conditionalFunction() # check, if the conditionalfunction is still valid + except: + self.conditionalFunction = None + self.stopBlinking() + + if self.conditionalFunction != None: + if self.conditionalFunction(): # we shall blink + if self.blinking: # we are already blinking + pass + else: # we don't blink + self.startBlinking() + else: # we shall not blink + if self.blinking: # we are blinking + self.stopBlinking() + else: # we don't blink + pass
\ No newline at end of file diff --git a/lib/python/Components/BlinkingPoint.py b/lib/python/Components/BlinkingPoint.py deleted file mode 100644 index e69de29b..00000000 --- a/lib/python/Components/BlinkingPoint.py +++ /dev/null diff --git a/lib/python/Components/Makefile.am b/lib/python/Components/Makefile.am index 31eb61c1..ebad6d0d 100644 --- a/lib/python/Components/Makefile.am +++ b/lib/python/Components/Makefile.am @@ -10,4 +10,4 @@ install_PYTHON = \ InputDevice.py ServicePosition.py SetupDevices.py Harddisk.py \ AVSwitch.py Network.py RFmod.py DiskInfo.py NimManager.py Lcd.py \ EpgList.py ScrollLabel.py Timezones.py Language.py HelpMenuList.py \ - BlinkingPoint.py Pixmap.py + BlinkingPixmap.py Pixmap.py |
