1 from HTMLComponent import *
2 from GUIComponent import *
6 from string import upper
8 class ServiceList(HTMLComponent, GUIComponent):
14 GUIComponent.__init__(self)
15 self.l = eListboxServiceContent()
18 self.mode = self.MODE_NORMAL
20 def setCurrent(self, ref):
21 self.l.setCurrent(ref)
24 r = eServiceReference()
29 self.instance.moveSelection(self.instance.moveUp)
32 self.instance.moveSelection(self.instance.moveDown)
34 def moveToChar(self, char):
37 index = self.l.getNextBeginningWithChar(char)
38 indexup = self.l.getNextBeginningWithChar(upper(char))
40 if (index > indexup or index == 0):
43 self.instance.moveSelectionTo(index)
44 print "Moving to character " + str(char)
46 def moveToIndex(self, index):
47 self.instance.moveSelectionTo(index)
49 def getCurrentIndex(self):
50 return self.instance.getCurrentIndex()
52 def GUIcreate(self, parent):
53 self.instance = eListbox(parent)
54 self.instance.setContent(self.l)
55 self.setMode(self.mode)
63 def getRootServices(self):
64 serviceHandler = eServiceCenter.getInstance()
65 list = serviceHandler.list(self.root)
71 dest.append(s.toString())
76 def setNumberOffset(self, offset):
77 self.l.setNumberOffset(offset)
79 def setPlayableIgnoreService(self, ref):
80 self.l.setIgnoreService(ref)
82 def setRoot(self, root):
87 # stuff for multiple marks (edit mode / later multiepg)
91 def isMarked(self, ref):
92 return self.l.isMarked(ref)
94 def addMarked(self, ref):
97 def removeMarked(self, ref):
98 self.l.removeMarked(ref)
103 ref = eServiceReference()
105 while i.markedQueryNext(ref) == 0:
106 marked.append(ref.toString())
107 ref = eServiceReference()
110 #just for movemode.. only one marked entry..
111 def setCurrentMarked(self, state):
112 self.l.setCurrentMarked(state)
114 def setMode(self, mode):
122 if mode == self.MODE_NORMAL:
123 self.instance.setItemHeight(28)
124 self.l.setVisualMode(eListboxServiceContent.visModeSimple)
125 self.l.setElementFont(self.l.celServiceName, gFont("Arial", 22))
126 self.l.setElementPosition(self.l.celServiceName, eRect(0, 0, self.instance.size().width(), 28))
128 self.instance.setItemHeight(28)
129 self.l.setElementFont(self.l.celServiceNumber, gFont("Arial", 20))
130 self.l.setElementPosition(self.l.celServiceNumber, eRect(0, 0, 40, 28))
131 self.l.setElementFont(self.l.celServiceName, gFont("Arial", 22))
132 self.l.setElementPosition(self.l.celServiceName, eRect(50, 0, self.instance.size().width()-50, 28))
133 self.l.setElementFont(self.l.celServiceInfo, gFont("Arial", 18))
134 self.l.setVisualMode(eListboxServiceContent.visModeComplex)