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, justSet=False):
84 self.l.setRoot(root, justSet)
88 def addService(self, service):
89 self.l.addService(service)
95 # stuff for multiple marks (edit mode / later multiepg)
99 def isMarked(self, ref):
100 return self.l.isMarked(ref)
102 def addMarked(self, ref):
103 self.l.addMarked(ref)
105 def removeMarked(self, ref):
106 self.l.removeMarked(ref)
111 ref = eServiceReference()
113 while i.markedQueryNext(ref) == 0:
114 marked.append(ref.toString())
115 ref = eServiceReference()
118 #just for movemode.. only one marked entry..
119 def setCurrentMarked(self, state):
120 self.l.setCurrentMarked(state)
122 def setMode(self, mode):
130 if mode == self.MODE_NORMAL:
131 self.instance.setItemHeight(28)
132 self.l.setVisualMode(eListboxServiceContent.visModeSimple)
133 self.l.setElementFont(self.l.celServiceName, gFont("Regular", 22))
134 self.l.setElementPosition(self.l.celServiceName, eRect(0, 0, self.instance.size().width(), 28))
136 self.instance.setItemHeight(28)
137 self.l.setElementFont(self.l.celServiceNumber, gFont("Regular", 20))
138 self.l.setElementPosition(self.l.celServiceNumber, eRect(0, 0, 40, 28))
139 self.l.setElementFont(self.l.celServiceName, gFont("Regular", 22))
140 self.l.setElementPosition(self.l.celServiceName, eRect(50, 0, self.instance.size().width()-50, 28))
141 self.l.setElementFont(self.l.celServiceInfo, gFont("Regular", 18))
142 self.l.setVisualMode(eListboxServiceContent.visModeComplex)