allow styleable TemplatedMultiContent lists
[enigma2.git] / lib / python / Components / Sources / List.py
index 0480dd65a2ac030157db403f6d5aa8ef2748ecf2..26c68ab5a874f30ef6e29ab6eadb9e2d9b80bf9b 100644 (file)
@@ -17,6 +17,7 @@ to generate HTML."""
                self.fonts = fonts
                self.disable_callbacks = False
                self.enableWrapAround = enableWrapAround
+               self.__style = "default" # style might be an optional string which can be used to define different visualisations in the skin
 
        def setList(self, list):
                self.__list = list
@@ -47,6 +48,7 @@ to generate HTML."""
        def setIndex(self, index):
                if self.master is not None:
                        self.master.index = index
+                       self.selectionChanged(index)
 
        @cached
        def getIndex(self):
@@ -65,6 +67,7 @@ to generate HTML."""
                                self.index = 0
                else:
                        self.index += 1
+               self.setIndex(self.index)
 
        def selectPrevious(self):
                if self.getIndex() - 1 < 0:
@@ -72,18 +75,23 @@ to generate HTML."""
                                self.index = self.count() - 1
                else:
                        self.index -= 1
+               self.setIndex(self.index)
+
+       @cached
+       def getStyle(self):
+               return self.__style
+
+       def setStyle(self, style):
+               self.__style = style
+               self.changed((self.CHANGED_SPECIFIC, "style"))
+
+       style = property(getStyle, setStyle)
 
        def updateList(self, list):
                """Changes the list without changing the selection or emitting changed Events"""
                assert len(list) == len(self.__list)
-               print "get old index"
                old_index = self.index
-               print "disable callback"
                self.disable_callbacks = True
-               print "set list"
                self.list = list
-               print "set index"
                self.index = old_index
-               print "reenable callbacks"
                self.disable_callbacks = False
-               print "done"