aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-12-11 03:31:42 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-12-11 03:31:42 +0000
commit939e78997bc25b22b3270ae3e298b0cc49becdbf (patch)
tree830a0c24b2513d0d158c14b459c6fc4c84ee6445 /lib/python
parent700f532b8d7fb96ec6af2ac54526f66a834623c3 (diff)
downloadenigma2-939e78997bc25b22b3270ae3e298b0cc49becdbf.tar.gz
enigma2-939e78997bc25b22b3270ae3e298b0cc49becdbf.zip
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
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Screens/Makefile.am2
-rw-r--r--lib/python/Screens/StartWizard.py27
-rw-r--r--lib/python/Screens/Wizard.py44
3 files changed, 44 insertions, 29 deletions
diff --git a/lib/python/Screens/Makefile.am b/lib/python/Screens/Makefile.am
index 749ef893..0f873d9d 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 00000000..736b3ef7
--- /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 = """
+ <screen position="0,0" size="720,560" title="Welcome..." flags="wfNoBorder" >
+ <widget name="text" position="50,100" size="440,200" font="Arial;23" />
+ <widget name="list" position="50,300" zPosition="1" size="440,200" />
+ <widget name="config" position="50,300" zPosition="1" size="440,200" transparent="1" />
+ <widget name="step" position="50,50" size="440,25" font="Arial;23" />
+ <widget name="stepslider" position="50,500" zPosition="1" size="440,20" backgroundColor="dark" />
+ <widget name="rc" pixmap="/usr/share/enigma2/rc.png" position="500,600" zPosition="10" size="154,475" transparent="1" alphatest="on"/>
+ <widget name="arrowdown" pixmap="/usr/share/enigma2/arrowdown.png" position="0,0" zPosition="11" size="37,70" transparent="1" alphatest="on"/>
+ <widget name="arrowup" pixmap="/usr/share/enigma2/arrowup.png" position="-100,-100" zPosition="11" size="37,70" transparent="1" alphatest="on"/>
+ </screen>"""
+
+ 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 07c5f9af..97b07bfd 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 = """
- <screen position="0,0" size="720,560" title="Welcome..." flags="wfNoBorder" >
- <widget name="text" position="50,100" size="440,200" font="Arial;23" />
- <widget name="list" position="50,300" zPosition="1" size="440,200" />
- <widget name="config" position="50,300" zPosition="1" size="440,200" transparent="1" />
- <widget name="step" position="50,50" size="440,25" font="Arial;23" />
- <widget name="stepslider" position="50,500" zPosition="1" size="440,20" backgroundColor="dark" />
- <widget name="rc" pixmap="/usr/share/enigma2/rc.png" position="500,600" zPosition="10" size="154,475" transparent="1" alphatest="on"/>
- <widget name="arrowdown" pixmap="/usr/share/enigma2/arrowdown.png" position="0,0" zPosition="11" size="37,70" transparent="1" alphatest="on"/>
- <widget name="arrowup" pixmap="/usr/share/enigma2/arrowup.png" position="-100,-100" zPosition="11" size="37,70" transparent="1" alphatest="on"/>
- </screen>"""
+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()