aboutsummaryrefslogtreecommitdiff
path: root/screens.py
diff options
context:
space:
mode:
Diffstat (limited to 'screens.py')
-rw-r--r--screens.py68
1 files changed, 51 insertions, 17 deletions
diff --git a/screens.py b/screens.py
index 39b4265e..cf0daae9 100644
--- a/screens.py
+++ b/screens.py
@@ -8,6 +8,19 @@ def doGlobal(screen):
class Screen(dict, HTMLSkin, GUISkin):
""" bla """
+
+ def __init__(self, session):
+ self.skinName = self.__class__.__name__
+ self.session = session
+ GUISkin.__init__(self)
+
+ def execBegin(self):
+ for (name, val) in self.items():
+ val.execBegin()
+
+ def execEnd(self):
+ for (name, val) in self.items():
+ val.execEnd()
# never call this directly - it will be called from the session!
def doClose(self):
@@ -15,7 +28,7 @@ class Screen(dict, HTMLSkin, GUISkin):
def close(self, retval=None):
self.session.close()
-
+
class mainMenu(Screen):
def goEmu(self):
@@ -28,19 +41,24 @@ class mainMenu(Screen):
self["title"].setText("HDTV GREEN FLASHES: ENABLED")
def goScan(self):
- self.session.open(serviceScan())
+ self.session.open(serviceScan)
def goClock(self):
- self.session.open(clockDisplay(Clock()))
+ self.session.open(clockDisplay, Clock())
def okbuttonClick(self):
selection = self["menu"].getCurrent()
selection[1]()
-
- def __init__(self):
- GUISkin.__init__(self)
+
+ def __init__(self, session):
+ Screen.__init__(self, session)
b = Button("ok")
+ self["actions"] = ActionMap("MainMenuActions",
+ {
+ "selected": self.okbuttonClick
+ })
+
b.onClick = [ self.okbuttonClick ]
self["okbutton"] = b
self["title"] = Header("Main Menu! - press ok to leave!")
@@ -64,38 +82,54 @@ class mainMenu(Screen):
# self["okbutton"].onClick = [ self.close ]
class channelSelection(Screen):
- def __init__(self):
- GUISkin.__init__(self)
+ def __init__(self, session):
+ Screen.__init__(self, session)
self["list"] = ServiceList()
self["list"].setRoot(eServiceReference("1:0:1:0:0:0:0:0:0:0:PREMIERE"))
- self["okbutton"] = Button("ok", [self.channelSelected, self.close])
+ self["okbutton"] = Button("ok", [self.channelSelected])
+
+ self["actions"] = ActionMap("ChannelSelectActions",
+ {
+ "selectChannel": self.channelSelected,
+ })
def channelSelected(self):
self.session.nav.playService(self["list"].getCurrent())
+ self.close()
pass
class infoBar(Screen):
- def __init__(self):
- GUISkin.__init__(self)
+ def __init__(self, session):
+ Screen.__init__(self, session)
+ self["actions"] = ActionMap("InfobarActions",
+ {
+ "switchChannel": self.switchChannel,
+ "mainMenu": self.mainMenu
+ })
self["channelSwitcher"] = Button("switch Channel", [self.switchChannel])
self["okbutton"] = Button("mainMenu", [self.mainMenu])
+
+ self["ServiceName"] = ServiceName(self.session.nav)
+
+ self["Event_Now"] = EventInfo(self.session.nav, EventInfo.Now)
+ self["Event_Next"] = EventInfo(self.session.nav, EventInfo.Next)
def mainMenu(self):
- self.session.open(mainMenu())
+ self.session.open(mainMenu)
def switchChannel(self):
- self.session.open(channelSelection())
+ self.session.open(channelSelection)
# a clock display dialog
class clockDisplay(Screen):
def okbutton(self):
self.session.close()
- def __init__(self, clock):
- GUISkin.__init__(self)
+ def __init__(self, session, clock):
+ Screen.__init__(self, session)
self["theClock"] = clock
b = Button("bye")
b.onClick = [ self.okbutton ]
@@ -108,8 +142,8 @@ class serviceScan(Screen):
if self["scan"].isDone():
self.close()
- def __init__(self):
- GUISkin.__init__(self)
+ def __init__(self, session):
+ Screen.__init__(self, session)
self["scan_progress"] = ProgressBar()
self["scan_state"] = Label("scan state")