X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBCreationPage.py;h=1e2f7fdc4723d488425329b5ad7cf572cde56ea0;hb=ab5542815640b184ac3038500ad282a083bcd8e6;hp=1cc3ab661a31cb1ff6c2fda9c4aebe7da3ad35a2;hpb=7eea445bdce87ce7acf2c3c22679ce6ce30a8c6e;p=bertos.git diff --git a/wizard/BCreationPage.py b/wizard/BCreationPage.py index 1cc3ab66..1e2f7fdc 100644 --- a/wizard/BCreationPage.py +++ b/wizard/BCreationPage.py @@ -4,11 +4,13 @@ # Copyright 2009 Develer S.r.l. (http://www.develer.com/) # All rights reserved. # -# $Id:$ +# $Id$ # # Author: Lorenzo Berni # +import os + from PyQt4.QtGui import * from BWizardPage import * @@ -20,103 +22,65 @@ class BCreationPage(BWizardPage): def __init__(self): BWizardPage.__init__(self, UI_LOCATION + "/project_creation.ui") - self.setTitle(self.tr("Create the BeRTOS project")) - self._setupUi() - self._connectSignals() + self.setTitle(self.tr("Settings summary")) self._completed = False + + ## Overloaded BWizardPage methods ## - def _setupUi(self): - self._confirmGroup = QWidgetGroup(self.pageContent.summaryTree, - self.pageContent.createButton) - self._finalGroup = QWidgetGroup(self.pageContent.iconLabel, - self.pageContent.textLabel) - self._finalGroup.setVisible(False) + def setupUi(self): summary = self.pageContent.summaryTree summary.setHeaderHidden(True) summary.setColumnCount(1) + self.setButtonText(QWizard.NextButton, self.tr("Create")) def reloadData(self): - self._completed = False - self._setupUi() + self.setupUi() self.pageContent.summaryTree.clear() - topLevel = [] - folderTitle = QTreeWidgetItem(QStringList([self.tr("Project folder")])) - folderItem = QTreeWidgetItem(folderTitle, QStringList([self._projectInfoRetrieve("PROJECT_PATH")])) - topLevel.append(folderTitle) - versionTitle = QTreeWidgetItem(QStringList([self.tr("BeRTOS version")])) - sources_path = self._projectInfoRetrieve("SOURCES_PATH") - version = QTreeWidgetItem(versionTitle, QStringList([self.tr("version: ") + bertos_utils.bertosVersion(sources_path)])) - sourcePath = QTreeWidgetItem(versionTitle, QStringList([self.tr("path: ") + sources_path])) - topLevel.append(versionTitle) - cpuTitle = QTreeWidgetItem(QStringList([self.tr("CPU")])) - cpuName = QTreeWidgetItem(cpuTitle, QStringList([self.tr("cpu name: ") + self._projectInfoRetrieve("CPU_NAME")])) - topLevel.append(cpuTitle) - toolchainTitle = QTreeWidgetItem(QStringList([self.tr("Toolchain")])) - toolchainInfo = self._projectInfoRetrieve("TOOLCHAIN") - if "target" in toolchainInfo.keys(): - toolchainTarget = QTreeWidgetItem(toolchainTitle, QStringList([self.tr("target: " + toolchainInfo["target"])])) - if "version" in toolchainInfo.keys(): - toolchainTarget = QTreeWidgetItem(toolchainTitle, QStringList([self.tr("version: " + "GCC " + toolchainInfo["version"] + " (" + toolchainInfo["build"] + ")")])) - toolchainPath = QTreeWidgetItem(toolchainTitle, QStringList([self.tr("path: " + toolchainInfo["path"])])) - topLevel.append(toolchainTitle) - moduleTitle = QTreeWidgetItem(QStringList([self.tr("Modules")])) - configurations = self._projectInfoRetrieve("CONFIGURATIONS") - moduleCategories = {} - for module, information in self._projectInfoRetrieve("MODULES").items(): + top_level = [] + folder_title = QTreeWidgetItem(QStringList([self.tr("Project folder")])) + folder_item = QTreeWidgetItem(folder_title, QStringList([os.path.normpath(self.projectInfo("PROJECT_PATH"))])) + top_level.append(folder_title) + version_title = QTreeWidgetItem(QStringList([self.tr("BeRTOS version")])) + sources_path = self.projectInfo("SOURCES_PATH") + version = QTreeWidgetItem(version_title, QStringList([self.tr("version: ") + bertos_utils.bertosVersion(sources_path)])) + source_path = QTreeWidgetItem(version_title, QStringList([self.tr("path: ") + os.path.normpath(sources_path)])) + top_level.append(version_title) + cpu_title = QTreeWidgetItem(QStringList([self.tr("CPU")])) + cpu_name = QTreeWidgetItem(cpu_title, QStringList([self.tr("cpu name: ") + self.projectInfo("CPU_NAME")])) + top_level.append(cpu_title) + toolchain_title = QTreeWidgetItem(QStringList([self.tr("Toolchain")])) + toolchain_info = self.projectInfo("TOOLCHAIN") + if "target" in toolchain_info: + toolchain_target = QTreeWidgetItem(toolchain_title, QStringList([self.tr("target: " + toolchain_info["target"].strip())])) + version = "" + if "version" in toolchain_info: + version += "version: " + "GCC " + toolchain_info["version"].strip() + " " + if "build" in toolchain_info: + version += "(" + toolchain_info["build"].strip() + ")" + if "version" in toolchain_info: + toolchain_target = QTreeWidgetItem(toolchain_title, QStringList([version])) + toolchain_path = QTreeWidgetItem(toolchain_title, QStringList([self.tr("path: " + os.path.normpath(toolchain_info["path"]))])) + top_level.append(toolchain_title) + module_title = QTreeWidgetItem(QStringList([self.tr("Modules")])) + configurations = self.projectInfo("CONFIGURATIONS") + module_categories = {} + for module, information in self.projectInfo("MODULES").items(): if information["enabled"]: - if information["category"] not in moduleCategories.keys(): - moduleCategories[information["category"]] = [] + if information["category"] not in module_categories: + module_categories[information["category"]] = [] moduleItem = QTreeWidgetItem(QStringList([module + " - " + information["description"]])) - moduleCategories[information["category"]].append(moduleItem) + module_categories[information["category"]].append(moduleItem) if len(information["configuration"]) > 0: - for property, data in configurations[information["configuration"]].items(): + for start, property in configurations[information["configuration"]]["paramlist"]: # If the final char of the brief is a dot (".") removes it. - brief = data["brief"] + brief = configurations[information["configuration"]][property]["brief"] if brief[-1] == ".": brief = brief[:-1] - configurationItem = QTreeWidgetItem(moduleItem, QStringList([brief + ": " + data["value"]])) - for key, value in moduleCategories.items(): - categoryItem = QTreeWidgetItem(moduleTitle, QStringList([key])) - categoryItem.addChildren(value) - topLevel.append(moduleTitle) - self.pageContent.summaryTree.insertTopLevelItems(0, topLevel) - - def _connectSignals(self): - self.connect(self.pageContent.createButton, SIGNAL("clicked(bool)"), self._createProject) - - def _createProject(self): - QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) - self._confirmGroup.setVisible(False) - bertos_utils.createBertosProject(self.wizard().project()) - self._finalGroup.setVisible(True) - self._completed = True - QApplication.restoreOverrideCursor() - self.emit(SIGNAL("completeChanged()")) + configuration_item = QTreeWidgetItem(moduleItem, QStringList([brief + ": " + configurations[information["configuration"]][property]["value"]])) + for key, value in module_categories.items(): + category_item = QTreeWidgetItem(module_title, QStringList([key])) + category_item.addChildren(value) + top_level.append(module_title) + self.pageContent.summaryTree.insertTopLevelItems(0, top_level) - def isComplete(self): - return self._completed - -class QWidgetGroup(QObject): - """ - Container class, this class contains widgets and permit to set some - properties of the contained widgets at the same time. - """ - def __init__(self, *elements): - self._widgets = [] - for element in elements: - self._widgets.append(element) - - def addWidget(self, widget): - if widget not in self._widgets: - self._widgets.append(widget) - - def setVisible(self, visible): - for widget in self._widgets: - widget.setVisible(visible) - - def isVisible(self): - for widget in self._widgets: - if not widget.isVisible(): - return False - return True - + #### \ No newline at end of file