- add fake "main menu"
[enigma2.git] / screens.py
index 7287898db4d673cf970519d79831396a1455deca..3dbcb4aac03c34bdf4e36fcfc163461e89c9e0bf 100644 (file)
@@ -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 }