Don't permit to edit a project.
[bertos.git] / wizard / bertos.py
old mode 100644 (file)
new mode 100755 (executable)
index 387da00..695a862
@@ -4,12 +4,14 @@
 # Copyright 2008 Develer S.r.l. (http://www.develer.com/)
 # All rights reserved.
 #
-# $Id:$
+# $Id$
 #
 # Author: Lorenzo Berni <duplo@develer.com>
 #
 
+import os
 import sys
+from distutils.dep_util import newer
 
 from PyQt4.QtCore import *
 from PyQt4.QtGui import *
@@ -17,22 +19,31 @@ from PyQt4.QtGui import *
 import BProject
 
 import BStartPage
+import BWizard
 
-import BFolderPage
-import BVersionPage
-import BCpuPage
+from BFolderPage import BFolderPage
+from BOpenPage import BOpenPage
+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 = QWizard()
-    wizard.setWindowTitle("Create a BeRTOS project")
-    wizard.addPage(BFolderPage.BFolderPage())
-    wizard.addPage(BVersionPage.BVersionPage())
-    wizard.addPage(BCpuPage.BCpuPage())
+    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 = [BOpenPage, BVersionPage, BCpuPage, BToolchainPage, BModulePage, BOutputPage, BCreationPage, BFinalPage]
+    wizard = BWizard.BWizard(page_list)
+    wizard.show()
+    wizard.exec_()
 
 def showStartPage():
     QApplication.instance().dialog = BStartPage.BStartPage()
@@ -41,12 +52,26 @@ def showStartPage():
     QApplication.instance().dialog.show()
 
 def main():
+    os.chdir(os.path.dirname(os.path.abspath(sys.argv[0])))
     app = QApplication(sys.argv)
     app.settings = QSettings("Develer", "Bertos Configurator")
     app.project = BProject.BProject()
+    # Development utility lines, to be removed for production
+    if not (hasattr(sys, "frozen") and sys.frozen) and newer("bertos.qrc", "bertos.rcc"):
+        os.system("rcc -binary bertos.qrc -o bertos.rcc")
     QResource.registerResource("bertos.rcc")
-    showStartPage()
-    sys.exit(app.exec_())
+    if "--create" in sys.argv and "--edit" not in sys.argv:
+        newProject()
+    elif "--edit" in sys.argv and "--create" not in sys.argv:
+        editProject()
+    elif "--create" in sys.argv and "--edit" in sys.argv:
+        # TODO need an explaining message
+        print " ".join(sys.argv)
+        print "Invalid usage!"
+        pass
+    else:
+        newProject()
+        sys.exit(app.exec_())
 
 if __name__ == '__main__':
     main()