use slotid as parameter for the SatSetup instead of nim for easier inclusing into...
[enigma2.git] / lib / python / Screens / Wizard.py
index 8922380d8798a9e4948d76aa5ecef7fc82bdec07..f0d99a9e822e0fbe3c64edcffbd9649055c7113e 100644 (file)
@@ -8,7 +8,6 @@ from Components.config import config, configElementBoolean
 from Components.Pixmap import *
 from Components.MenuList import MenuList
 from Components.ConfigList import ConfigList
-from Screens.ScanSetup import ScanSimple
 
 from xml.sax import make_parser
 from xml.sax.handler import ContentHandler
@@ -36,18 +35,21 @@ class WelcomeWizard(Screen, HelpableScreen):
                        self.currContent = ""
                
                def startElement(self, name, attrs):
+                       print name
                        self.currContent = name
                        if (name == "step"):
                                self.lastStep = int(attrs.get('number'))
-                               self.wizard[self.lastStep] = {"text": "", "list": [], "config": None, "code": ""}
+                               self.wizard[self.lastStep] = {"text": "", "list": [], "config": {"screen": None, "args": None }, "code": ""}
                        elif (name == "text"):
                                self.wizard[self.lastStep]["text"] = str(attrs.get('value'))
                        elif (name == "listentry"):
                                self.wizard[self.lastStep]["list"].append(str(attrs.get('caption')))
                        elif (name == "config"):
                                exec "from Screens." + str(attrs.get('module')) + " import *"
-                               self.wizard[self.lastStep]["config"] = eval(str(attrs.get('screen')))
-                               
+                               self.wizard[self.lastStep]["config"]["screen"] = eval(str(attrs.get('screen')))
+                               if (attrs.has_key('args')):
+                                       print "has args"
+                                       self.wizard[self.lastStep]["config"]["args"] = str(attrs.get('args'))
                def endElement(self, name):
                        self.currContent = ""
                        if name == 'code':
@@ -64,38 +66,27 @@ class WelcomeWizard(Screen, HelpableScreen):
                HelpableScreen.__init__(self)
 
                self.wizard = {}
-               print self.wizard
                parser = make_parser()
                print "Reading startwizard.xml"
                wizardHandler = self.parseWizard(self.wizard)
                parser.setContentHandler(wizardHandler)
                parser.parse('/usr/share/enigma2/startwizard.xml')
                
-               print self.wizard
-               
-               self.numSteps = 4
+               self.numSteps = len(self.wizard)
                self.currStep = 1
 
                self["text"] = Label()
                self["rc"] = MovingPixmap()
                self["arrowdown"] = MovingPixmap()
-               self["arrowdown"].moveTo(557, 232, 10)
                self["arrowup"] = MovingPixmap()
-               self["rc"].moveTo(500, 50, 10)
+
                self["config"] = ConfigList([])
-               
-               self.onShown.append(self["arrowdown"].startMoving)
-               self.onShown.append(self["rc"].startMoving)
 
                self["step"] = Label()
                                
                self["stepslider"] = Slider(1, self.numSteps)
                
-               #self.scanSetupDialog = self.session.instantiateDialog(ScanSimple)
-               
                self.list = []
-               #list.append(("Use wizard to set up basic features", None))
-               #list.append(("Exit wizard", None))
                self["list"] = MenuList(self.list)
 
                self.updateValues()
@@ -117,8 +108,13 @@ class WelcomeWizard(Screen, HelpableScreen):
                                self.list.append((x, None))
                self["list"].l.setList(self.list)
                
-               if (self.wizard[self.currStep]["config"] != None):
-                       self.configInstance = self.session.instantiateDialog(self.wizard[self.currStep]["config"])
+               if (self.wizard[self.currStep]["config"]["screen"] != None):
+                       print self.wizard[self.currStep]["config"]["screen"]
+                       if self.wizard[self.currStep]["config"]["args"] == None:
+                               self.configInstance = self.session.instantiateDialog(self.wizard[self.currStep]["config"]["screen"])
+                       else:
+                               self.configInstance = self.session.instantiateDialog(self.wizard[self.currStep]["config"]["screen"], eval(self.wizard[self.currStep]["config"]["args"]))
+
                        self["config"].l.setList(self.configInstance["config"].list)
                else:
                        self["config"].l.setList([])