aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/ActionMap.py
blob: 2588421c7954af05326587ddd1183324438490b2 (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
from enigma import *

class ActionMap:
	def __init__(self, contexts = [ ], actions = { }, prio=0):
		self.actions = actions
		self.contexts = contexts
		self.prio = prio
		self.p = eActionMapPtr()
		eActionMap.getInstance(self.p)

	def execBegin(self):
		for ctx in self.contexts:
			self.p.bindAction(ctx, self.prio, self.action)
	
	def execEnd(self):
		for ctx in self.contexts:
			self.p.unbindAction(ctx, self.action)
	
	def action(self, context, action):
		print " ".join(("action -> ", context, action))
		if self.actions.has_key(action):
			self.actions[action]()
		else:
			print "unknown action %s/%s! typo in keymap?" % (context, action)