add Event detail viewer
[vuplus_dvbapp] / lib / python / Screens / EpgSelection.py
1 from Screen import Screen
2 from Components.Button import Button
3 from Components.EpgList import EPGList
4 from Components.ActionMap import ActionMap
5 from Screens.EventView import EventView
6 from enigma import eServiceReference, eServiceEventPtr
7 from Screens.FixedMenu import FixedMenu
8
9 import xml.dom.minidom
10
11 class EPGSelection(Screen):
12         def __init__(self, session, root):
13                 Screen.__init__(self, session)
14
15                 self["list"] = EPGList()
16
17                 class ChannelActionMap(ActionMap):
18                         def action(self, contexts, action):
19                                         ActionMap.action(self, contexts, action)
20
21                 self["actions"] = ChannelActionMap(["EPGSelectActions", "OkCancelActions"], 
22                         {
23                                 "cancel": self.close,
24                                 "ok": self.eventSelected,
25                         })
26                 self["actions"].csel = self
27                 self.setRoot(root)
28
29         def eventViewCallback(self, setEvent, val):
30                 if val == -1:
31                         self.moveUp()
32                         setEvent(self["list"].getCurrent())
33                 elif val == +1:
34                         self.moveDown()
35                         setEvent(self["list"].getCurrent())
36
37         def eventSelected(self):
38                 event = self["list"].getCurrent()
39                 self.session.open(EventView, event, self.eventViewCallback)
40 #               self.close()
41         
42         def setRoot(self, root):
43                 self["list"].setRoot(root)
44
45         def moveUp(self):
46                 self["list"].moveUp()
47
48         def moveDown(self):
49                 self["list"].moveDown()