X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBCreationPage.py;h=2c4cb9a36d6dee85a0fe8a09ea388093aada13a6;hb=efb100c4cfb9fa25aa16bb3f336cd29e423abcf2;hp=3f9748445066c037a3f857b36ab450724e32889d;hpb=747ba554790ad832c0508b1f79242ba1d493d849;p=bertos.git diff --git a/wizard/BCreationPage.py b/wizard/BCreationPage.py index 3f974844..2c4cb9a3 100644 --- a/wizard/BCreationPage.py +++ b/wizard/BCreationPage.py @@ -4,7 +4,7 @@ # Copyright 2009 Develer S.r.l. (http://www.develer.com/) # All rights reserved. # -# $Id:$ +# $Id$ # # Author: Lorenzo Berni # @@ -22,103 +22,67 @@ 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._confirm_group = QWidgetGroup(self.pageContent.summaryTree, - self.pageContent.createButton) - self._final_group = QWidgetGroup(self.pageContent.iconLabel, - self.pageContent.textLabel) - self._final_group.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() top_level = [] folder_title = QTreeWidgetItem(QStringList([self.tr("Project folder")])) - folder_item = QTreeWidgetItem(folder_title, QStringList([os.path.normpath(self._projectInfoRetrieve("PROJECT_PATH"))])) + 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._projectInfoRetrieve("SOURCES_PATH") + 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._projectInfoRetrieve("CPU_NAME")])) + 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._projectInfoRetrieve("TOOLCHAIN") - if "target" in toolchain_info.keys(): - toolchain_target = QTreeWidgetItem(toolchain_title, QStringList([self.tr("target: " + toolchain_info["target"])])) - if "version" in toolchain_info.keys(): - toolchain_target = QTreeWidgetItem(toolchain_title, QStringList([self.tr("version: " + "GCC " + toolchain_info["version"] + " (" + toolchain_info["build"] + ")")])) + 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._projectInfoRetrieve("CONFIGURATIONS") + configurations = self.projectInfo("CONFIGURATIONS") module_categories = {} - for module, information in self._projectInfoRetrieve("MODULES").items(): + for module, information in self.projectInfo("MODULES").items(): if information["enabled"]: - if information["category"] not in module_categories.keys(): + if information["category"] not in module_categories: module_categories[information["category"]] = [] moduleItem = QTreeWidgetItem(QStringList([module + " - " + information["description"]])) 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] - configuration_item = QTreeWidgetItem(moduleItem, QStringList([brief + ": " + data["value"]])) + 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) + for item in top_level: + self.pageContent.summaryTree.expandItem(item) - def _connectSignals(self): - self.connect(self.pageContent.createButton, SIGNAL("clicked(bool)"), self._createProject) - - def _createProject(self): - QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) - self._confirm_group.setVisible(False) - bertos_utils.createBertosProject(self.wizard().project()) - self._final_group.setVisible(True) - self._completed = True - QApplication.restoreOverrideCursor() - self.emit(SIGNAL("completeChanged()")) - - 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