X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fbertos.py;h=df1d8c5dfd9db567dbb2858832b7c2b18f933f87;hb=160b7485c7930b724f8c724107cb4058ce985222;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..df1d8c5d --- a/wizard/bertos.py +++ b/wizard/bertos.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python # encoding: utf-8 # # Copyright 2008 Develer S.r.l. (http://www.develer.com/) @@ -9,24 +9,70 @@ # 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__': +if __name__ == '__main__' or (hasattr(sys, 'frozen') and sys.frozen): main()