Make BWizard generic: now it can be used for both creating and editing projects
[bertos.git] / wizard / bertos.py
old mode 100644 (file)
new mode 100755 (executable)
index 72c4177..0c110b9
@@ -9,23 +9,40 @@
 # Author: Lorenzo Berni <duplo@develer.com>
 #
 
+import os
 import sys
+from distutils.dep_util import newer
 
 from PyQt4.QtCore import *
 from PyQt4.QtGui import *
 
+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 BVersionPage
+import bertos_utils
 
 def newProject():
-    QApplication.instance().wizard = QWizard()
-    QApplication.instance().wizard.setWindowTitle("Create a BeRTOS project")
-    QApplication.instance().wizard.addPage(BVersionPage.BVersionPage())
-    QApplication.instance().wizard.show()
+    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()
@@ -36,6 +53,9 @@ def showStartPage():
 def main():
     app = QApplication(sys.argv)
     app.settings = QSettings("Develer", "Bertos Configurator")
+    app.project = BProject.BProject()
+    if newer("bertos.qrc", "bertos.rcc"):
+        os.system("rcc -binary bertos.qrc > bertos.rcc")
     QResource.registerResource("bertos.rcc")
     showStartPage()
     sys.exit(app.exec_())