aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-26 03:21:47 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-26 03:21:47 +0000
commit85b4fbf32765dd03809defca101cb359ea35cc5c (patch)
treefbe3999fbc577abf7a84061c2fb770b9d9aa02e5 /lib/python/Components
parent4ae10f76135d53a4285fd458a87f485695c9fbd7 (diff)
downloadenigma2-85b4fbf32765dd03809defca101cb359ea35cc5c.tar.gz
enigma2-85b4fbf32765dd03809defca101cb359ea35cc5c.zip
add a class PixmapConditional, in which the pixmap is only displayed, when a condition function returns True
Diffstat (limited to 'lib/python/Components')
-rw-r--r--lib/python/Components/Pixmap.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/python/Components/Pixmap.py b/lib/python/Components/Pixmap.py
index b6620d9a..a98fef14 100644
--- a/lib/python/Components/Pixmap.py
+++ b/lib/python/Components/Pixmap.py
@@ -22,3 +22,30 @@ class Pixmap:
def removeWidget(self, instance):
pass
+
+class PixmapConditional(Pixmap):
+ def __init__(self, withTimer = True):
+ Pixmap.__init__(self)
+
+ if (withTimer):
+ self.conditionCheckTimer = eTimer()
+ self.conditionCheckTimer.timeout.get().append(self.update)
+ self.conditionCheckTimer.start(1000)
+
+ def setConnect(self, conditionalFunction):
+ self.conditionalFunction = conditionalFunction
+
+ def activateCondition(self, condition):
+ if (condition):
+ self.instance.hide()
+ else:
+ self.instance.show()
+
+ def update(self):
+ try:
+ self.conditionalFunction() # check, if the conditionalfunction is still valid
+ except:
+ self.conditionalFunction = None
+ self.activateCondition(False)
+
+ self.activateCondition(self.conditionalFunction())