X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBCpuPage.py;h=68a9a912bd7ffdae8e5abc1708adac14a66c5a8c;hb=160b7485c7930b724f8c724107cb4058ce985222;hp=702248a8e02c67c3175d1b8f0bc61b1139478e66;hpb=ca1a17d62748010cd95a0012f67a9e80c6565d73;p=bertos.git diff --git a/wizard/BCpuPage.py b/wizard/BCpuPage.py index 702248a8..68a9a912 100644 --- a/wizard/BCpuPage.py +++ b/wizard/BCpuPage.py @@ -24,80 +24,103 @@ class BCpuPage(BWizardPage): def __init__(self): BWizardPage.__init__(self, UI_LOCATION + "/cpu_select.ui") self.setTitle(self.tr("Select the CPU")) - self._connectSignals() - self._setupUi() - def _populateCpuList(self): - """ - Fills the cpu list. - """ - self.pageContent.cpuList.clear() - self.pageContent.cpuList.setCurrentItem(None) - infos = bertos_utils.loadCpuInfos(self._project()) - for cpu in infos: - item = QListWidgetItem(cpu["CPU_NAME"]) - item.setData(Qt.UserRole, qvariant_converter.convertDict(cpu)) - self.pageContent.cpuList.addItem(item) - - def _connectSignals(self): + ## Overloaded QWizardPage methods ## + + def isComplete(self): """ - Connects the signals with the related slots. + Overload of the QWizardPage isComplete method. """ - self.connect(self.pageContent.cpuList, SIGNAL("itemSelectionChanged()"), self.rowChanged) + if self.pageContent.cpuList.currentRow() != -1: + self.pageContent.frequencyLabel.setVisible(True) + self.pageContent.frequencySpinBox.setVisible(True) + infos = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole)) + for key, value in infos.items(): + if type(CPU_DEF[key]) == list: + infos[key] = qvariant_converter.getStringList(value) + if type(CPU_DEF[key]) == str or type(CPU_DEF) == unicode: + infos[key] = qvariant_converter.getString(value) + self.setProjectInfo("CPU_INFOS", infos) + self.setProjectInfo("CPU_NAME", unicode(self.pageContent.cpuList.currentItem().text())) + self.setProjectInfo("SELECTED_FREQ", unicode(long(self.pageContent.frequencySpinBox.value()))) + return True + else: + return False - def _selectItem(self, cpu): - """ - Selects the given cpu from the list. - """ - elements = self.pageContent.cpuList.findItems(cpu, Qt.MatchCaseSensitive) - if len(elements) == 1: - self.pageContent.cpuList.setCurrentItem(elements[0]) + #### - def _setupUi(self): + ## Overloaded BWizardPage methods ## + + def setupUi(self): """ - Sets up the user interface. + Overload of the BWizardPage setupUi method. """ self.pageContent.cpuList.setSortingEnabled(True) self.pageContent.descriptionLabel.setVisible(False) self.pageContent.descriptionLabel.setText("") - + self.pageContent.frequencyLabel.setVisible(False) + self.pageContent.frequencySpinBox.setVisible(False) + + def connectSignals(self): + """ + Overload of the BWizardPage connectSignals method. + """ + self.connect(self.pageContent.cpuList, SIGNAL("itemSelectionChanged()"), self.rowChanged) + self.connect(self.pageContent.frequencySpinBox, SIGNAL("valueChanged(double)"), self.freqChanged) + def reloadData(self): """ Overload of the BWizardPage reloadData method. """ QApplication.instance().setOverrideCursor(Qt.WaitCursor) - bertos_utils.loadSourceTree(self._project()) - self._populateCpuList() - cpu_name = self._projectInfoRetrieve("CPU_NAME") - self._setupUi() + bertos_utils.loadSourceTree(self.project()) + self.populateCpuList() + cpu_name = self.projectInfo("CPU_NAME") + self.setupUi() if not cpu_name is None: - self._selectItem(cpu_name) + self.selectItem(cpu_name) QApplication.instance().restoreOverrideCursor() self.emit(SIGNAL("completeChanged()")) + + #### - def isComplete(self): - """ - Overload of the QWizardPage isComplete method. - """ - if self.pageContent.cpuList.currentRow() != -1: - infos = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole)) - for key, value in infos.items(): - if type(CPU_DEF[key]) == list: - infos[key] = qvariant_converter.getStringList(value) - if type(CPU_DEF[key]) == str or type(CPU_DEF) == unicode: - infos[key] = qvariant_converter.getString(value) - self._projectInfoStore("CPU_INFOS", infos) - self._projectInfoStore("CPU_NAME", unicode(self.pageContent.cpuList.currentItem().text())) - return True - else: - return False - + ## Slots ## + def rowChanged(self): """ Slot called when the user select an entry from the cpu list. """ description = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole))["CPU_DESC"] description = qvariant_converter.getStringList(description) + frequency = qvariant_converter.getDict(self.pageContent.cpuList.currentItem().data(Qt.UserRole))["CPU_DEFAULT_FREQ"] + frequency = qvariant_converter.getString(frequency) + frequency = frequency.replace("U", "").replace("L", "") self.pageContent.descriptionLabel.setText("
".join(description)) self.pageContent.descriptionLabel.setVisible(True) + self.pageContent.frequencySpinBox.setValue(long(frequency)) + self.emit(SIGNAL("completeChanged()")) + + def freqChanged(self): self.emit(SIGNAL("completeChanged()")) + + #### + + def populateCpuList(self): + """ + Fills the cpu list. + """ + self.pageContent.cpuList.clear() + self.pageContent.cpuList.setCurrentItem(None) + infos = bertos_utils.loadCpuInfos(self.project()) + for cpu in infos: + item = QListWidgetItem(cpu["CPU_NAME"]) + item.setData(Qt.UserRole, qvariant_converter.convertDict(cpu)) + self.pageContent.cpuList.addItem(item) + + def selectItem(self, cpu): + """ + Selects the given cpu from the list. + """ + elements = self.pageContent.cpuList.findItems(cpu, Qt.MatchCaseSensitive) + if len(elements) == 1: + self.pageContent.cpuList.setCurrentItem(elements[0]) \ No newline at end of file