aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-12-06 18:35:55 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-12-06 18:35:55 +0000
commit64e44eef78c26d1d6d5a1662ad1d105fb96e9061 (patch)
tree43ba547520b2345b3ecbed2317948858dd832351 /lib/python/Components
parent86e9af6a8a52226e0dc08430fb4b03291f9de0c7 (diff)
downloadenigma2-64e44eef78c26d1d6d5a1662ad1d105fb96e9061.tar.gz
enigma2-64e44eef78c26d1d6d5a1662ad1d105fb96e9061.zip
factorize the conditionalPixmap
Diffstat (limited to 'lib/python/Components')
-rw-r--r--lib/python/Components/BlinkingPixmap.py6
-rw-r--r--lib/python/Components/ConditionalWidget.py67
-rw-r--r--lib/python/Components/Makefile.am2
-rw-r--r--lib/python/Components/Pixmap.py65
4 files changed, 77 insertions, 63 deletions
diff --git a/lib/python/Components/BlinkingPixmap.py b/lib/python/Components/BlinkingPixmap.py
index b19bdc5d..c1b4262f 100644
--- a/lib/python/Components/BlinkingPixmap.py
+++ b/lib/python/Components/BlinkingPixmap.py
@@ -21,9 +21,9 @@ class BlinkingPixmap(Pixmap):
def blink(self):
if self.blinking == True:
if (self.state == self.SHOWN):
- self.hidePixmap()
+ self.hideWidget()
elif (self.state == self.HIDDEN):
- self.showPixmap()
+ self.showWidget()
def startBlinking(self):
self.blinking = True
@@ -32,7 +32,7 @@ class BlinkingPixmap(Pixmap):
def stopBlinking(self):
self.blinking = False
if (self.state == self.SHOWN):
- self.hidePixmap()
+ self.hideWidget()
self.timer.stop()
class BlinkingPixmapConditional(BlinkingPixmap, PixmapConditional):
diff --git a/lib/python/Components/ConditionalWidget.py b/lib/python/Components/ConditionalWidget.py
new file mode 100644
index 00000000..5ff77980
--- /dev/null
+++ b/lib/python/Components/ConditionalWidget.py
@@ -0,0 +1,67 @@
+import skin
+from GUIComponent import *
+
+from enigma import *
+
+class Widget(GUIComponent):
+
+ SHOWN = 0
+ HIDDEN = 1
+
+ def __init__(self):
+ GUIComponent.__init__(self)
+ self.instance = None
+ self.state = self.SHOWN
+
+ def GUIcreate(self, parent):
+ self.instance = self.createWidget(parent)
+
+ def GUIdelete(self):
+ self.removeWidget(self.instance)
+ self.instance = None
+
+ def removeWidget(self, w):
+ pass
+
+ def showWidget(self):
+ self.state = self.SHOWN
+ self.instance.show()
+
+ def hideWidget(self):
+ self.state = self.HIDDEN
+ self.instance.hide()
+
+ def removeWidget(self, instance):
+ pass
+
+class ConditionalWidget(Widget):
+ def __init__(self, withTimer = True):
+ Widget.__init__(self)
+
+ self.setConnect(None)
+
+ 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):
+ if (self.state == self.HIDDEN):
+ self.showWidget()
+ else:
+ if (self.state == self.SHOWN):
+ self.hideWidget()
+
+ def update(self):
+ if (self.conditionalFunction != None):
+ try:
+ self.conditionalFunction() # check, if the conditionalfunction is still valid
+ except:
+ self.conditionalFunction = None
+ self.activateCondition(False)
+
+ self.activateCondition(self.conditionalFunction())
diff --git a/lib/python/Components/Makefile.am b/lib/python/Components/Makefile.am
index ebad6d0d..6e0e94ba 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 \
- BlinkingPixmap.py Pixmap.py
+ BlinkingPixmap.py Pixmap.py ConditionalWidget.py
diff --git a/lib/python/Components/Pixmap.py b/lib/python/Components/Pixmap.py
index 8f59880b..79026118 100644
--- a/lib/python/Components/Pixmap.py
+++ b/lib/python/Components/Pixmap.py
@@ -1,26 +1,11 @@
-import skin
-from GUIComponent import *
+from ConditionalWidget import *
from enigma import *
-class Pixmap(GUIComponent):
- """Pixmap can be used for components which diplay a pixmap"""
-
- SHOWN = 0
- HIDDEN = 1
-
+class Pixmap(Widget):
def __init__(self):
- GUIComponent.__init__(self)
- self.instance = None
- self.state = self.SHOWN
-
- def GUIcreate(self, parent):
- self.instance = self.createWidget(parent)
-
- def GUIdelete(self):
- self.removeWidget(self.instance)
- self.instance = None
-
+ Widget.__init__(self)
+
def getePixmap(self, parent):
#pixmap = ePixmap(parent)
#pixmap.setPixmapFromFile(self.filename)
@@ -31,46 +16,8 @@ class Pixmap(GUIComponent):
def removeWidget(self, w):
pass
-
- def showPixmap(self):
- self.state = self.SHOWN
- self.instance.show()
-
- def hidePixmap(self):
- self.state = self.HIDDEN
- self.instance.hide()
-
- def removeWidget(self, instance):
- pass
-class PixmapConditional(Pixmap):
+class PixmapConditional(ConditionalWidget, Pixmap):
def __init__(self, withTimer = True):
- Pixmap.__init__(self)
-
- self.setConnect(None)
-
- 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):
- if (self.state == self.HIDDEN):
- self.showPixmap()
- else:
- if (self.state == self.SHOWN):
- self.hidePixmap()
+ ConditionalWidget.__init__(self)
- def update(self):
- if (self.conditionalFunction != None):
- try:
- self.conditionalFunction() # check, if the conditionalfunction is still valid
- except:
- self.conditionalFunction = None
- self.activateCondition(False)
-
- self.activateCondition(self.conditionalFunction())