Make BWizard generic: now it can be used for both creating and editing projects
authorduplo <duplo@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 1 Apr 2009 15:37:33 +0000 (15:37 +0000)
committerduplo <duplo@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 1 Apr 2009 15:37:33 +0000 (15:37 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@2457 38d2e660-2303-0410-9eaa-f027e97ec537

wizard/BWizard.py
wizard/bertos.py

index 3ea2dac67a195fa68fecd88bfeb8192a153a6816..7fed96c556b2561359cd1b8bc1559fc090dbeb8d 100644 (file)
@@ -28,26 +28,20 @@ class BWizard(QWizard):
     Main class of the wizard. It adds the pages automatically.
     """
     
-    def __init__(self):
+    def __init__(self, page_list):
         QWizard.__init__(self)
         self.setWindowTitle(self.tr("Create a BeRTOS project"))
         self.setOption(QWizard.DisabledBackButtonOnLastPage, True)
-        self.addPages()
+        self.addPages(page_list)
         self.connectSignals()
     
-    def addPages(self):
+    def addPages(self, page_list):
         """
-        Method used by the constructor in order to add the pages in the wizard.
+        Adds the pages in the wizard.
         """
-        self.addPage(BFolderPage.BFolderPage())
-        self.addPage(BVersionPage.BVersionPage())
-        self.addPage(BCpuPage.BCpuPage())
-        self.addPage(BToolchainPage.BToolchainPage())
-        self.addPage(BModulePage.BModulePage())
-        self.addPage(BOutputPage.BOutputPage())
-        self.addPage(BCreationPage.BCreationPage())
-        self.addPage(BFinalPage.BFinalPage())
-    
+        for page in page_list:
+            self.addPage(page())
+
     def connectSignals(self):
         """
         Connects the signals with the related slots.
index 96730e59d6ca65ea99abda65bab43a990a00dc1e..0c110b97c291339e50d7be7440334481253b616c 100755 (executable)
@@ -21,15 +21,28 @@ import BProject
 import BStartPage
 import BWizard
 
+from BFolderPage import BFolderPage
+from BVersionPage import BVersionPage
+from BCpuPage import BCpuPage
+from BToolchainPage import BToolchainPage
+from BModulePage import BModulePage
+from BOutputPage import BOutputPage
+from BCreationPage import BCreationPage
+from BFinalPage import BFinalPage
+
 import bertos_utils
 
 def newProject():
-    wizard = BWizard.BWizard()
+    page_list = [BFolderPage, BVersionPage, BCpuPage, BToolchainPage, BModulePage, BOutputPage, BCreationPage, BFinalPage]
+    wizard = BWizard.BWizard(page_list)
     wizard.show()
     wizard.exec_()
     
 def editProject():
-    print "editProject"
+    page_list = [BVersionPage, BCpuPage, BToolchainPage, BModulePage, BOutputPage, BCreationPage, BFinalPage]
+    wizard = BWizard.BWizard(page_list)
+    wizard.show()
+    wizard.exec_()
 
 def showStartPage():
     QApplication.instance().dialog = BStartPage.BStartPage()