aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/Sources/MenuList.py
blob: 98764418b8f4a588af488d1a89f79fb7c16c5ea2 (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
from Source import Source
from Tools.Event import Event

class MenuList(Source, object):
	def __init__(self, list = [ ], enableWrapAround = False):
		Source.__init__(self)
		self.__list = list
		self.onSelectionChanged = [ ]
	
	def setList(self, list):
		self.__list = list
		self.changed()
	
	list = property(lambda self: self.__list, setList)

	def entry_changed(self, index):
		self.downstream_elements.entry_changed(self, index)

	def selectionChanged(self, index):
		for x in self.onSelectionChanged:
			x()

	def getCurrent(self):
		return self.master and self.master.current

	current = property(getCurrent)

	def setIndex(self, index):
		if self.master is not None:
			self.master = index
	
	def getIndex(self, index):
		if self.master is not None:
			return self.master.index
		else:
			return -1

	setCurrentIndex = setIndex
	
	index = property(getIndex, setIndex)