From e330dbae62e83dd2aa2ff63a984519a84b23c3ad Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Fri, 25 Nov 2005 05:51:44 +0000 Subject: add a blinking point to the infobar the blinking point appears when doing an instant record it is a hack up to now the point looks ugly, because the transparency needs to be explored first --- lib/python/Components/BlinkingPoint.py | 55 ++++++++++++++++++++++++++++++++++ lib/python/Components/Makefile.am | 3 +- lib/python/Components/Pixmap.py | 25 ++++++++++++++++ 3 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 lib/python/Components/BlinkingPoint.py create mode 100644 lib/python/Components/Pixmap.py (limited to 'lib/python/Components') diff --git a/lib/python/Components/BlinkingPoint.py b/lib/python/Components/BlinkingPoint.py new file mode 100644 index 00000000..b5a45dbb --- /dev/null +++ b/lib/python/Components/BlinkingPoint.py @@ -0,0 +1,55 @@ +from HTMLComponent import * +from GUIComponent import * + +from Pixmap import Pixmap + +from enigma import * + +import time + +class BlinkingPoint(GUIComponent, Pixmap): + SHOWN = 0 + HIDDEN = 1 + + def __init__(self): + Pixmap.__init__(self) + GUIComponent.__init__(self) + + self.state = self.SHOWN + self.blinking = False + + self.timer = eTimer() + self.timer.timeout.get().append(self.blink) + + def createWidget(self, parent): + return self.getePixmap(parent, "/usr/share/enigma2/record.png") + + 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 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(500) + + def stopBlinking(self): + self.blinking = False + if (self.state == self.SHOWN): + self.hidePoint() + self.timer.stop() \ No newline at end of file diff --git a/lib/python/Components/Makefile.am b/lib/python/Components/Makefile.am index c2787d9c..31eb61c1 100644 --- a/lib/python/Components/Makefile.am +++ b/lib/python/Components/Makefile.am @@ -9,4 +9,5 @@ install_PYTHON = \ GUIComponent.py MenuList.py TextInput.py __init__.py MovieList.py \ 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 + EpgList.py ScrollLabel.py Timezones.py Language.py HelpMenuList.py \ + BlinkingPoint.py Pixmap.py diff --git a/lib/python/Components/Pixmap.py b/lib/python/Components/Pixmap.py new file mode 100644 index 00000000..c97c0ab1 --- /dev/null +++ b/lib/python/Components/Pixmap.py @@ -0,0 +1,25 @@ +import skin + +from enigma import * + +class Pixmap: + """Pixmap can be used for components which use a pixmap""" + + def __init__(self): + self.instance = None + + def GUIcreate(self, parent): + self.instance = self.createWidget(parent) + #self.instance.setText(self.message) + + def GUIdelete(self): + self.removeWidget(self.instance) + self.instance = None + + def getePixmap(self, parent, filename): + pixmap = ePixmap(parent) + pixmap.setPixmapFromFile(filename) + return pixmap + + def removeWidget(self, instance): + pass -- cgit v1.2.3