aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/ServiceList.py
blob: 7d69d81ad92b3851bb29caf8ecb21cb326f700a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
from HTMLComponent import *
from GUIComponent import *

from enigma import *

class ServiceList(HTMLComponent, GUIComponent):

	MODE_NORMAL = 0
	MODE_FAVOURITES = 1
	
	def __init__(self):
		GUIComponent.__init__(self)
		self.l = eListboxServiceContent()
		
	def getCurrent(self):
		r = eServiceReference()
		self.l.getCurrent(r)
		return r
		
	def moveUp(self):
		self.instance.moveSelection(self.instance.moveUp)

	def moveDown(self):
		self.instance.moveSelection(self.instance.moveDown)

	def GUIcreate(self, parent):
		self.instance = eListbox(parent)
		self.instance.setContent(self.l)
	
	def GUIdelete(self):
		self.instance = None

	def setRoot(self, root):
		self.l.setRoot(root)
		self.l.sort()
		
		# mark stuff
	def clearMarked(self):
		self.l.clearMarked()
		
	def clearMarks(self):
		self.l.initMarked()
	
	def isMarked(self, ref):
		return self.l.isMarked(ref)

	def addMarked(self, ref):
		self.l.addMarked(ref)
	
	def removeMarked(self, ref):
		self.l.removeMarked(ref)

	def getMarked(self):
		i = self.l
		i.markedQueryStart()
		ref = eServiceReference()
		marked = [ ]
		while i.markedQueryNext(ref) == 0:
			marked.append(ref)
			ref = eServiceReference()

		return marked

	def setCurrentMarked(self, state):
		self.l.setCurrentMarked(state)

	def setMode(self, mode):
		if mode == self.MODE_NORMAL:
			self.instance.setItemHeight(25)
			self.l.setVisualMode(eListboxServiceContent.visModeSimple)
		else:
			self.instance.setItemHeight(40)
			self.l.setElementFont(self.l.celServiceName, gFont("Arial", 30))
			self.l.setElementPosition(self.l.celServiceName, eRect(40, 0, self.instance.size().width(), 40))
			self.l.setElementFont(self.l.celServiceNumber, gFont("Arial", 20))
			self.l.setElementPosition(self.l.celServiceNumber, eRect(0, 10, 40, 30))

			self.l.setVisualMode(eListboxServiceContent.visModeComplex)