From: Stefan Pluecken Date: Sun, 11 Dec 2005 03:31:42 +0000 (+0000) Subject: rename a baseclass wizard for further wizards X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=939e78997bc25b22b3270ae3e298b0cc49becdbf rename a baseclass wizard for further wizards derive a StartWizard-class from this wizard-baseclass each wizard now has a listbox, a configlist, a text-label and a xml file describing the wizard --- diff --git a/lib/python/Screens/Makefile.am b/lib/python/Screens/Makefile.am index 749ef89..0f873d9 100644 --- a/lib/python/Screens/Makefile.am +++ b/lib/python/Screens/Makefile.am @@ -7,4 +7,4 @@ install_PYTHON = \ Satconfig.py ScanSetup.py NetworkSetup.py Ci.py TimerEntry.py Volume.py \ EpgSelection.py EventView.py Mute.py Standby.py ServiceInfo.py \ AudioSelection.py InfoBarGenerics.py HelpMenu.py Wizard.py __init__.py \ - Dish.py SubserviceSelection.py LanguageSelection.py + Dish.py SubserviceSelection.py LanguageSelection.py StartWizard.py diff --git a/lib/python/Screens/StartWizard.py b/lib/python/Screens/StartWizard.py new file mode 100644 index 0000000..736b3ef --- /dev/null +++ b/lib/python/Screens/StartWizard.py @@ -0,0 +1,27 @@ +from Wizard import Wizard, wizardManager + +from Components.Pixmap import * + +class StartWizard(Wizard): + skin = """ + + + + + + + + + + """ + + def __init__(self, session): + self.skin = StartWizard.skin + self.xmlfile = "startwizard.xml" + + Wizard.__init__(self, session) + self["rc"] = MovingPixmap() + self["arrowdown"] = MovingPixmap() + self["arrowup"] = MovingPixmap() + +wizardManager.registerWizard(StartWizard) \ No newline at end of file diff --git a/lib/python/Screens/Wizard.py b/lib/python/Screens/Wizard.py index 07c5f9a..97b07bf 100644 --- a/lib/python/Screens/Wizard.py +++ b/lib/python/Screens/Wizard.py @@ -14,19 +14,7 @@ from xml.sax.handler import ContentHandler config.misc.firstrun = configElementBoolean("config.misc.firstrun", 1); -class WelcomeWizard(Screen, HelpableScreen): - - skin = """ - - - - - - - - - - """ +class Wizard(Screen, HelpableScreen): class parseWizard(ContentHandler): def __init__(self, wizard): @@ -61,25 +49,20 @@ class WelcomeWizard(Screen, HelpableScreen): self.wizard[self.lastStep]["code"] = self.wizard[self.lastStep]["code"] + ch def __init__(self, session): - self.skin = WelcomeWizard.skin - Screen.__init__(self, session) HelpableScreen.__init__(self) self.wizard = {} parser = make_parser() - print "Reading startwizard.xml" + print "Reading " + self.xmlfile wizardHandler = self.parseWizard(self.wizard) parser.setContentHandler(wizardHandler) - parser.parse('/usr/share/enigma2/startwizard.xml') + parser.parse('/usr/share/enigma2/' + self.xmlfile) self.numSteps = len(self.wizard) self.currStep = 1 self["text"] = Label() - self["rc"] = MovingPixmap() - self["arrowdown"] = MovingPixmap() - self["arrowup"] = MovingPixmap() self["config"] = ConfigList([]) @@ -208,12 +191,17 @@ class WelcomeWizard(Screen, HelpableScreen): else: self["config"].l.setList([]) - - -def listActiveWizards(): - wizards = [ ] - - if config.misc.firstrun.value: - wizards.append(WelcomeWizard) +class WizardManager: + def __init__(self): + self.wizards = [] - return wizards + def registerWizard(self, wizard): + self.wizards.append(wizard) + + def getWizards(self): + if config.misc.firstrun.value: + return self.wizards + else: + return [] + +wizardManager = WizardManager() diff --git a/mytest.py b/mytest.py index 206802e..42bcd3e 100644 --- a/mytest.py +++ b/mytest.py @@ -16,7 +16,8 @@ from Navigation import Navigation from skin import readSkin, applyAllAttributes from Components.config import configfile -from Screens.Wizard import listActiveWizards +from Screens.Wizard import wizardManager +from Screens.StartWizard import * from Tools.BoundFunction import boundFunction had = dict() @@ -177,7 +178,7 @@ def runScreenTest(): session.nav = Navigation() - screensToRun = listActiveWizards() + screensToRun = wizardManager.getWizards() screensToRun.append(Screens.InfoBar.InfoBar) def runNextScreen(session, screensToRun, *result):