diff options
| author | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2005-11-26 03:21:47 +0000 |
|---|---|---|
| committer | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2005-11-26 03:21:47 +0000 |
| commit | 85b4fbf32765dd03809defca101cb359ea35cc5c (patch) | |
| tree | fbe3999fbc577abf7a84061c2fb770b9d9aa02e5 /lib/python/Components | |
| parent | 4ae10f76135d53a4285fd458a87f485695c9fbd7 (diff) | |
| download | enigma2-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.py | 27 |
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()) |
