Add the new parsing exception infrastructure
[bertos.git] / wizard / BWizard.py
index 0f8eb49f2fc6ff999c71f436c0cdcf253d3f1e5e..23f05a096bcbd32eb40f3d9eb888fa46fffee84e 100644 (file)
@@ -9,17 +9,46 @@
 # Author: Lorenzo Berni <duplo@develer.com>
 #
 
+import copy
+
+from PyQt4.QtCore import *
 from PyQt4.QtGui import *
 
 import BFolderPage
 import BVersionPage
 import BCpuPage
+import BToolchainPage
+import BModulePage
+import BOutputPage
 
 class BWizard(QWizard):
     
     def __init__(self):
         QWizard.__init__(self)
-        self.setWindowTitle("Create a BeRTOS project")
+        # TODO: choose the right minimum size
+        self.setMinimumSize(1000, 500)
+        self.setWindowTitle(self.tr("Create a BeRTOS project"))
+        self._addPages()
+        self._connectSignals()
+    
+    def _addPages(self):
         self.addPage(BFolderPage.BFolderPage())
         self.addPage(BVersionPage.BVersionPage())
-        self.addPage(BCpuPage.BCpuPage())
\ No newline at end of file
+        self.addPage(BCpuPage.BCpuPage())
+        self.addPage(BToolchainPage.BToolchainPage())
+        self.addPage(BModulePage.BModulePage())
+        self.addPage(BOutputPage.BOutputPage())
+    
+    def _connectSignals(self):
+        self.connect(self, SIGNAL("currentIdChanged(int)"), self._pageChanged)
+    
+    def _pageChanged(self, pageId):
+        prevPage = self.page(pageId - 1)
+        if prevPage is not None:
+            prevPage.saveData()
+        page = self.page(pageId)
+        if page is not None:
+            page.reloadData()
+    
+    def project(self):
+        return copy.deepcopy(QApplication.instance().project)
\ No newline at end of file