aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorAndreas Frisch <andreas.frisch@multimedia-labs.de>2008-10-21 22:27:30 +0000
committerAndreas Frisch <andreas.frisch@multimedia-labs.de>2008-10-21 22:27:30 +0000
commit21e43b5cb07d5e8699fc666f44439bf40fbb0d8f (patch)
treed38151848369f9867ed2c2a3d62a90ea4c994525 /lib/python
parent3259f96f2e8f864709b819b4d27ee8ef551eeb2c (diff)
downloadenigma2-21e43b5cb07d5e8699fc666f44439bf40fbb0d8f.tar.gz
enigma2-21e43b5cb07d5e8699fc666f44439bf40fbb0d8f.zip
display choices and selection of ChoiceBoxes on summary screen
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Screens/ChoiceBox.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/python/Screens/ChoiceBox.py b/lib/python/Screens/ChoiceBox.py
index 0436f66d..4739b7e1 100644
--- a/lib/python/Screens/ChoiceBox.py
+++ b/lib/python/Screens/ChoiceBox.py
@@ -2,6 +2,7 @@ from Screens.Screen import Screen
from Components.ActionMap import NumberActionMap
from Components.Label import Label
from Components.ChoiceList import ChoiceEntryComponent, ChoiceList
+from Components.Sources.StaticText import StaticText
class ChoiceBox(Screen):
def __init__(self, session, title = "", list = [], keys = None, selection = 0):
@@ -9,6 +10,7 @@ class ChoiceBox(Screen):
self["text"] = Label(title)
self.list = []
+ self.summarylist = []
if keys is None:
self.__keys = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "red", "green", "yellow", "blue" ] + (len(list) - 10) * [""]
else:
@@ -21,8 +23,11 @@ class ChoiceBox(Screen):
self.list.append(ChoiceEntryComponent(key = strpos, text = x))
if self.__keys[pos] != "":
self.keymap[self.__keys[pos]] = list[pos]
+ self.summarylist.append((self.__keys[pos],x[0]))
pos += 1
self["list"] = ChoiceList(list = self.list, selection = selection)
+ self["summary_list"] = StaticText()
+ self.updateSummary()
self["actions"] = NumberActionMap(["WizardActions", "InputActions", "ColorActions", "DirectionActions"],
{
@@ -56,6 +61,7 @@ class ChoiceBox(Screen):
if len(self["list"].list) > 0:
while 1:
self["list"].instance.moveSelection(self["list"].instance.moveUp)
+ self.updateSummary(self["list"].l.getCurrentSelectionIndex())
if self["list"].l.getCurrentSelection()[0][0] != "--" or self["list"].l.getCurrentSelectionIndex() == 0:
break
@@ -63,6 +69,7 @@ class ChoiceBox(Screen):
if len(self["list"].list) > 0:
while 1:
self["list"].instance.moveSelection(self["list"].instance.moveDown)
+ self.updateSummary(self["list"].l.getCurrentSelectionIndex())
if self["list"].l.getCurrentSelection()[0][0] != "--" or self["list"].l.getCurrentSelectionIndex() == len(self["list"].list) - 1:
break
@@ -106,5 +113,18 @@ class ChoiceBox(Screen):
def keyBlue(self):
self.goKey("blue")
+ def updateSummary(self, curpos=0):
+ pos = 0
+ summarytext = ""
+ for entry in self.summarylist:
+ if pos > curpos-2 and pos < curpos+5:
+ if pos == curpos:
+ summarytext += ">"
+ else:
+ summarytext += entry[0]
+ summarytext += ' ' + entry[1] + '\n'
+ pos += 1
+ self["summary_list"].setText(summarytext)
+
def cancel(self):
self.close(None)