X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBModulePage.py;h=11101c2cdf9851b030fcebfc18404b2ef0889fb1;hb=70736533af22afef6727cedb0f75504f98688cad;hp=ada00db5e82a516224abca394b23fbf9eb07cda6;hpb=2592938af49faf571b1fafbdfbd7ae43bdd629e8;p=bertos.git diff --git a/wizard/BModulePage.py b/wizard/BModulePage.py index ada00db5..11101c2c 100644 --- a/wizard/BModulePage.py +++ b/wizard/BModulePage.py @@ -29,9 +29,8 @@ class BModulePage(BWizardPage): def _setupUi(self): self.pageContent.moduleList.setSortingEnabled(True) - self.pageContent.propertyTable.horizontalHeader().setResizeMode(QHeaderView.Stretch) + self.pageContent.propertyTable.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents) self.pageContent.propertyTable.horizontalHeader().setVisible(False) - #self.pageContent.propertyTable.verticalHeader().setResizeMode(QHeaderView.Stretch) self.pageContent.propertyTable.verticalHeader().setVisible(False) self.pageContent.propertyTable.setColumnCount(2) self.pageContent.propertyTable.setRowCount(0) @@ -45,12 +44,29 @@ class BModulePage(BWizardPage): for key, value in moduleInfos.items(): self.pageContent.moduleList.addItem(QListWidgetItem(key)) - def _fillParameterTable(self, value): + def _fillParameterTable(self, parameters): self.pageContent.propertyTable.clear() - self.pageContent.propertyTable.setRowCount(len(value)) - for index, element in enumerate(value): - self.pageContent.propertyTable.setItem(index, 0, QTableWidgetItem(element[0])) - self.pageContent.propertyTable.setItem(index, 1, QTableWidgetItem(element[1])) + self.pageContent.propertyTable.setRowCount(len(parameters)) + for index, key in enumerate(parameters): + self.pageContent.propertyTable.setItem(index, 0, QTableWidgetItem(key)) + if "type" in parameters[key]["informations"].keys(): + if parameters[key]["informations"]["type"] == "boolean": + checkBox = QCheckBox() + self.pageContent.propertyTable.setCellWidget(index, 1, checkBox) + checkBox.setChecked(parameters[key]["value"] == "1") + if parameters[key]["informations"]["type"] == "int": + spinBox = QSpinBox() + if "max" in parameters[key]["informations"].keys(): + spinBox.setMaximum(int(parameters[key]["informations"]["max"])) + if "min" in parameters[key]["informations"].keys(): + spinBox.setMinimum(int(parameters[key]["informations"]["min"])) + if "long" in parameters[key]["informations"].keys(): + if bool(parameters[key]["informations"]["long"]): + spinBox.setSuffix("L") + self.pageContent.propertyTable.setCellWidget(index, 1, spinBox) + spinBox.setValue(int(parameters[key]["value"])) + else: + self.pageContent.propertyTable.setItem(index, 1, QTableWidgetItem(parameters[key]["value"])) def moduleItemClicked(self): module = unicode(self.pageContent.moduleList.currentItem().text())