Add the output selection page
[bertos.git] / wizard / BWizard.py
1 #!/usr/bin/env python
2 # encoding: utf-8
3 #
4 # Copyright 2008 Develer S.r.l. (http://www.develer.com/)
5 # All rights reserved.
6 #
7 # $Id:$
8 #
9 # Author: Lorenzo Berni <duplo@develer.com>
10 #
11
12 from PyQt4.QtCore import *
13 from PyQt4.QtGui import *
14
15 import BFolderPage
16 import BVersionPage
17 import BCpuPage
18 import BToolchainPage
19 import BModulePage
20 import BOutputPage
21
22 class BWizard(QWizard):
23     
24     def __init__(self):
25         QWizard.__init__(self)
26         # TODO: choose the right minimum size
27         self.setMinimumSize(1000, 500)
28         self.setWindowTitle(self.tr("Create a BeRTOS project"))
29         self._addPages()
30         self._connectSignals()
31     
32     def _addPages(self):
33         self.addPage(BFolderPage.BFolderPage())
34         self.addPage(BVersionPage.BVersionPage())
35         self.addPage(BCpuPage.BCpuPage())
36         self.addPage(BToolchainPage.BToolchainPage())
37         self.addPage(BModulePage.BModulePage())
38         self.addPage(BOutputPage.BOutputPage())
39     
40     def _connectSignals(self):
41         self.connect(self, SIGNAL("currentIdChanged(int)"), self._pageChanged)
42     
43     def _pageChanged(self, pageId):
44         prevPage = self.page(pageId - 1)
45         if prevPage is not None:
46             prevPage.saveData()
47         page = self.page(pageId)
48         if page is not None:
49             page.reloadData()