From a4332bd8d55eb4b54972f64c91aefd42f388de52 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Fri, 9 Dec 2005 09:38:17 +0000 Subject: use slotid as parameter for the SatSetup instead of nim for easier inclusing into the start wizard add ability to pass arguments to a screen (the args-tag is evaluated with eval()) --- lib/python/Screens/Satconfig.py | 9 +++------ lib/python/Screens/Wizard.py | 19 +++++++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) (limited to 'lib/python') diff --git a/lib/python/Screens/Satconfig.py b/lib/python/Screens/Satconfig.py index e6033ebc..8748438a 100644 --- a/lib/python/Screens/Satconfig.py +++ b/lib/python/Screens/Satconfig.py @@ -98,13 +98,10 @@ class NimSetup(Screen): x[1].cancel() self.close() - def __init__(self, session, nim = None): + def __init__(self, session, slotid): Screen.__init__(self, session) - if nim == None: - self.nim = nimmanager.nimList()[0][1] - else: - self.nim = nim + self.nim = nimmanager.nimList()[slotid][1] self["actions"] = NumberActionMap(["SetupActions"], { @@ -144,5 +141,5 @@ class NimSelection(Screen): def okbuttonClick(self): selection = self["nimlist"].getCurrent() if selection[1].nimType != -1: #unknown/empty - self.session.open(NimSetup, selection[1]) + self.session.open(NimSetup, selection[1].slotid) \ No newline at end of file diff --git a/lib/python/Screens/Wizard.py b/lib/python/Screens/Wizard.py index ac85b4c6..f0d99a9e 100644 --- a/lib/python/Screens/Wizard.py +++ b/lib/python/Screens/Wizard.py @@ -35,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': @@ -105,9 +108,13 @@ class WelcomeWizard(Screen, HelpableScreen): self.list.append((x, None)) self["list"].l.setList(self.list) - if (self.wizard[self.currStep]["config"] != None): - print self.wizard[self.currStep]["config"] - 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([]) -- cgit v1.2.3