aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/Pixmap.py
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-06-10 09:49:13 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-06-10 09:49:13 +0000
commita01b52be8469eb9fd10d2f31870d7d9970c5d974 (patch)
treef1920529df299628aaab665a991b698390980f66 /lib/python/Components/Pixmap.py
parentdd1bda8e5e82695ce0291ba7eac22481b9e5921d (diff)
downloadenigma2-a01b52be8469eb9fd10d2f31870d7d9970c5d974.tar.gz
enigma2-a01b52be8469eb9fd10d2f31870d7d9970c5d974.zip
add MultiPixmap... like MultiColorLabel
Diffstat (limited to 'lib/python/Components/Pixmap.py')
-rw-r--r--lib/python/Components/Pixmap.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/python/Components/Pixmap.py b/lib/python/Components/Pixmap.py
index f6ecaf0c..02eeb870 100644
--- a/lib/python/Components/Pixmap.py
+++ b/lib/python/Components/Pixmap.py
@@ -3,6 +3,10 @@ from GUIComponent import GUIComponent
from enigma import ePixmap, eTimer
+from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
+from os import path
+from skin import loadPixmap
+
class Pixmap(GUIComponent):
GUI_WIDGET = ePixmap
@@ -76,3 +80,36 @@ class MovingPixmap(Pixmap):
else:
self.moving = False
self.startMoving()
+
+class MultiPixmap(Pixmap):
+ def __init__(self):
+ Pixmap.__init__(self)
+ self.pixmaps = []
+
+ def applySkin(self, desktop, screen):
+ if self.skinAttributes is not None:
+ skin_path_prefix = getattr(screen, "skin_path", path)
+ pixmap = None
+ attribs = [ ]
+ for (attrib, value) in self.skinAttributes:
+ if attrib == "pixmaps":
+ pixmaps = value.split(',')
+ for pixmap in pixmaps:
+ self.pixmaps.append(loadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, pixmap, path_prefix=skin_path_prefix), desktop) )
+ if not pixmap:
+ pixmap = resolveFilename(SCOPE_SKIN_IMAGE, pixmaps[0], path_prefix=skin_path_prefix)
+ elif attrib == "pixmap":
+ pixmap = resolveFilename(SCOPE_SKIN_IMAGE, value, path_prefix=skin_path_prefix)
+ else:
+ attribs.append((attrib,value))
+ if pixmap:
+ attribs.append(("pixmap", pixmap))
+ self.skinAttributes = attribs
+ return GUIComponent.applySkin(self, desktop, screen)
+
+ def setPixmapNum(self, x):
+ if self.instance:
+ if len(self.pixmaps) > x:
+ self.instance.setPixmap(self.pixmaps[x])
+ else:
+ print "setPixmapNum(%d) failed! defined pixmaps:" %(x), self.pixmaps