X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fbertos.py;h=393fc561d95b5062cdabba88947cee84e12f41b7;hb=dae3da05b3677c4a6b5ea04e93473587005b90c0;hp=627e93aeec2d3a260c4e7c1bc19bf0f091f935d4;hpb=6f3b279d1e37ea6d0deebc9ee11f9a8d9dfcfece;p=bertos.git diff --git a/wizard/bertos.py b/wizard/bertos.py old mode 100644 new mode 100755 index 627e93ae..393fc561 --- a/wizard/bertos.py +++ b/wizard/bertos.py @@ -1,31 +1,77 @@ -#!/usr/bin/env python +#!/usr/bin/env python # encoding: utf-8 # # Copyright 2008 Develer S.r.l. (http://www.develer.com/) # All rights reserved. # -# $Id:$ +# $Id$ # # Author: Lorenzo Berni # +import os import sys +from distutils.dep_util import newer + from PyQt4.QtCore import * from PyQt4.QtGui import * + +import BProject + import BStartPage -import BVersionPage +import BWizard + +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(): + page_list = [BFolderPage, BVersionPage, BCpuPage, BToolchainPage, BModulePage, BOutputPage, BCreationPage, BFinalPage] + wizard = BWizard.BWizard(page_list) + wizard.show() + wizard.exec_() + +def 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() + QApplication.instance().connect(QApplication.instance().dialog, SIGNAL("newProject"), newProject) + QApplication.instance().connect(QApplication.instance().dialog, SIGNAL("editProject"), editProject) + 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 newer("bertos.qrc", "bertos.rcc"): + os.system("rcc -binary bertos.qrc -o bertos.rcc") QResource.registerResource("bertos.rcc") - startPage = BStartPage.BStartPage() - wizard = QWizard() - wizard.setWindowTitle("Welcome in beRTOS configuration wizard") - wizard.addPage(startPage) - wizard.addPage(BVersionPage.BVersionPage()) - wizard.show() - 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: + showStartPage() + sys.exit(app.exec_()) if __name__ == '__main__': main()