From 85b4fbf32765dd03809defca101cb359ea35cc5c Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Sat, 26 Nov 2005 03:21:47 +0000 Subject: [PATCH] add a class PixmapConditional, in which the pixmap is only displayed, when a condition function returns True --- lib/python/Components/Pixmap.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) 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()) -- 2.30.2