self.pageContent.propertyTable.setRowCount(index + 1)
item = QTableWidgetItem(configurations[property]["brief"])
item.setFlags(item.flags() & ~Qt.ItemIsSelectable)
- item.setToolTip(property)
+ tooltip = property
+ description = configurations[property].get("description", None)
+ if description:
+ tooltip = tooltip + ": " + description
+ item.setToolTip(tooltip)
item.setData(Qt.UserRole, qvariant_converter.convertString(property))
self.pageContent.propertyTable.setItem(index, 0, item)
if "type" in configurations[property]["informations"] and configurations[property]["informations"]["type"] == "boolean":
self.insertComboBox(index, configurations[property]["value"], configurations[property]["informations"]["value_list"])
elif "type" in configurations[property]["informations"] and configurations[property]["informations"]["type"] == "int":
self.insertSpinBox(index, configurations[property]["value"], configurations[property]["informations"])
+ elif "type" in configurations[property]["informations"] and configurations[property]["informations"]["type"] == "hex":
+ self.insertLineEdit(index, configurations[property]["value"], configurations[property]["informations"])
else:
# Not defined type, rendered as a text field
self.pageContent.propertyTable.setItem(index, 1, QTableWidgetItem(configurations[property]["value"]))
configurations[configuration][property]["value"] = "1"
else:
configurations[configuration][property]["value"] = "0"
+ elif configurations[configuration][property]["informations"]["type"] == "hex":
+ configurations[configuration][property]["value"] = unicode(self.pageContent.propertyTable.cellWidget(index, 1).text())
self.setProjectInfo("CONFIGURATIONS", configurations)
if self.moduleItem(self.currentModule()).checkState(0) == Qt.Checked:
self.dependencyCheck(self.moduleItem(self.currentModule()))
self._control_group.addControl(index, spin_box)
+ def insertLineEdit(self, index, value, informations):
+ """
+ Inserts in the table at index a line edit for hexadecimal property
+ setted to value.
+ """
+ edit_box = QLineEdit()
+ edit_validator = QRegExpValidator(QRegExp(r"^0x[0-9A-Fa-f]+$"), edit_box)
+ edit_box.setValidator(edit_validator)
+ self.pageContent.propertyTable.setCellWidget(index, 1, edit_box)
+ edit_box.setText(value)
+ self._control_group.addControl(index, edit_box)
+
def currentModule(self):
"""
Retuns the current module name.
self.connect(control, SIGNAL("currentIndexChanged(int)"), lambda: self.stateChanged(id))
elif type(control) == QDoubleSpinBox:
self.connect(control, SIGNAL("valueChanged(double)"), lambda: self.stateChanged(id))
+ elif type(control) == QLineEdit:
+ self.connect(control, SIGNAL("textChanged(QString)"), lambda: self.stateChanged(id))
def clear(self):
"""