use steps in startwizard
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Wed, 7 Dec 2005 14:39:36 +0000 (14:39 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Wed, 7 Dec 2005 14:39:36 +0000 (14:39 +0000)
data/arrowdown.png [new file with mode: 0755]
lib/python/Components/Makefile.am
lib/python/Components/Pixmap.py
lib/python/Components/Slider.py [new file with mode: 0644]
lib/python/Screens/Wizard.py

diff --git a/data/arrowdown.png b/data/arrowdown.png
new file mode 100755 (executable)
index 0000000..02b5573
Binary files /dev/null and b/data/arrowdown.png differ
index 6e0e94b..0a6eb59 100644 (file)
@@ -10,4 +10,4 @@ install_PYTHON = \
        InputDevice.py ServicePosition.py SetupDevices.py Harddisk.py                                           \
        AVSwitch.py Network.py RFmod.py DiskInfo.py NimManager.py Lcd.py                                \
        EpgList.py ScrollLabel.py Timezones.py Language.py HelpMenuList.py \
-       BlinkingPixmap.py Pixmap.py ConditionalWidget.py
+       BlinkingPixmap.py Pixmap.py ConditionalWidget.py Slider.py
index 2a54ea9..5f4b969 100644 (file)
@@ -17,6 +17,9 @@ class Pixmap(Widget):
        def removeWidget(self, w):
                pass
 
+       def move(self, x, y):
+               self.instance.move(ePoint(int(x), int(y)))
+
 class PixmapConditional(ConditionalWidget, Pixmap):
        def __init__(self, withTimer = True):
                ConditionalWidget.__init__(self)
diff --git a/lib/python/Components/Slider.py b/lib/python/Components/Slider.py
new file mode 100644 (file)
index 0000000..dae13d9
--- /dev/null
@@ -0,0 +1,19 @@
+from HTMLComponent import *
+from GUIComponent import *
+from VariableValue import *
+from VariableText import *
+
+from enigma import eSlider
+
+class Slider(HTMLComponent, GUIComponent, VariableValue):
+       def __init__(self, min, max):
+               VariableValue.__init__(self)
+               GUIComponent.__init__(self)
+               
+               self.min = min
+               self.max = max
+
+       def createWidget(self, parent):
+               g = eSlider(parent)
+               g.setRange(self.min, self.max)
+               return g
\ No newline at end of file
index 664cca8..b199634 100644 (file)
@@ -2,6 +2,7 @@ from Screen import Screen
 
 from Screens.HelpMenu import HelpableScreen
 from Components.Label import Label
+from Components.Slider import Slider
 from Components.ActionMap import HelpableActionMap
 from Components.config import config, configElementBoolean
 from Components.Pixmap import Pixmap
@@ -12,31 +13,54 @@ class WelcomeWizard(Screen, HelpableScreen):
 
        skin = """
                <screen position="0,0" size="720,560" title="Welcome..." flags="wfNoBorder">
-                       <widget name="text" position="50,50" size="440,300" font="Arial;20" />
+                       <widget name="text" position="50,100" size="440,300" font="Arial;23" />
+                       <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,50" size="154,475" alphatest="on" />
-                       <widget name="circle" pixmap="/usr/share/enigma2/mute-fs8.png" position="520,200" zPosition="1" size="100,100" alphatest="on" />
+                       <widget name="arrowdown" pixmap="/usr/share/enigma2/arrowdown.png" position="557,232" zPosition="1" size="37,70" alphatest="on" />
                </screen>"""
+               
+       text = [_("Hello User.\n\nThis start-wizard will guide you through the basic setup of your Dreambox."), 
+                       _("Bla"),
+                       _("Blub")]
 
        def __init__(self, session):
                self.skin = WelcomeWizard.skin
+               self.numSteps = 3
+               self.currStep = 1
 
                Screen.__init__(self, session)
                HelpableScreen.__init__(self)
 
 
-               self["text"] = Label(_("Hello User.\n\nThis start-wizard will guide you through the basic setup of your Dreambox."));
+               self["text"] = Label()
                self["rc"] = Pixmap()
-               self["circle"] = Pixmap()
+               self["arrowdown"] = Pixmap()
+
+               self["step"] = Label()
+                               
+               self["stepslider"] = Slider(1, self.numSteps)
+
+               self.updateValues()
                
                self["actions"] = HelpableActionMap(self, "OkCancelActions",
                        {
                                "ok": (self.ok, _("Close this Screen...")),
                        })
 
+       def updateValues(self):
+               self["text"].setText(self.text[self.currStep - 1])
+               self["step"].setText(_("Step ") + str(self.currStep) + "/" + str(self.numSteps))
+               self["stepslider"].setValue(self.currStep)
+               
        def ok(self):
-               config.misc.firstrun.value = 0;
-               config.misc.firstrun.save()
-               self.session.close()
+               if (self.currStep == self.numSteps): # wizard finished
+                       config.misc.firstrun.value = 0;
+                       config.misc.firstrun.save()
+                       self.session.close()
+               else:
+                       self.currStep += 1
+                       self.updateValues()
 
 def listActiveWizards():
        wizards = [ ]