X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=screens.py;h=3dbcb4aac03c34bdf4e36fcfc163461e89c9e0bf;hb=6b7b7977a92c9a092763bf699cba85347f9f2ec6;hp=7287898db4d673cf970519d79831396a1455deca;hpb=13b7a9b397f36ca3195aad3702feb3db4cbb2f3e;p=vuplus_dvbapp diff --git a/screens.py b/screens.py index 7287898..3dbcb4a 100644 --- a/screens.py +++ b/screens.py @@ -1,4 +1,5 @@ from components import * +import sys # some screens def doGlobal(screen): @@ -7,35 +8,78 @@ def doGlobal(screen): class Screen(dict, HTMLSkin, GUISkin): """ bla """ + # never call this directly - it will be called from the session! + def doClose(self): + GUISkin.close(self) + + def close(self, retval=None): + self.session.close() + # a test dialog class testDialog(Screen): def testDialogClick(self): - print "test dialog clicked!" - self["title"].setText("bla") + selection = self["menu"].getCurrent() + selection[1]() + + def goMain(self): + self.session.open(screens["mainMenu"]()) + + def goEmu(self): +# self.close(1) + self["title"].setText("EMUs ARE ILLEGAL AND NOT SUPPORTED!") + + def goTimeshift(self): +# self.close(2) + self["title"].setText("JUST PRESS THE YELLOW BUTTON!") + + def goHDTV(self): +# self.close(3) + self["title"].setText("HDTV GREEN FLASHES: ENABLED") + + def goClock(self): + self.session.open(screens["clockDisplay"](Clock())) def __init__(self): - HTMLSkin.__init__(self, ("title", "okbutton")) + GUISkin.__init__(self) b = Button("ok") b.onClick = [ self.testDialogClick ] self["okbutton"] = b self["title"] = Header("Test Dialog - press ok to leave!") + self["menu"] = MenuList( + [ + ("MAIN MENU", self.goMain), + ("EMU SETUP", self.goEmu), + ("TIMESHIFT SETUP", self.goTimeshift), + ("HDTV PIP CONFIG", self.goHDTV), + ("wie spaet ists?!", self.goClock) + ]) + +class mainMenu(Screen): + def __init__(self): + GUISkin.__init__(self) + + self["title"] = Header("this is the\nMAIN MENU !!!"); + self["okbutton"] = Button("ok") + self["okbutton"].onClick = [ self.close ] + # a clock display dialog class clockDisplay(Screen): def okbutton(self): - print "clockDisplay close" + self.session.close() def __init__(self, clock): - HTMLSkin.__init__(self, ("title", "theClock", "okbutton")) + GUISkin.__init__(self) self["theClock"] = clock b = Button("bye") b.onClick = [ self.okbutton ] self["okbutton"] = b self["title"] = Header("clock dialog: here you see the current uhrzeit!") -# defined screens +# defined screens (evtl. kann man sich das sparen, ich seh den sinn gerade nicht mehr) screens = { "global": doGlobal, "testDialog": testDialog, - "clockDisplay": clockDisplay } + "clockDisplay": clockDisplay , + "mainMenu": mainMenu }