From ec37fb085c647d366b21a9be224e72225fb469dd Mon Sep 17 00:00:00 2001 From: arighi Date: Wed, 13 Oct 2010 11:00:18 +0000 Subject: [PATCH] wizard: add hex configuration parameter type The wizard should be able to show configuration parameter numbers in hexadecimal format. This feature is very useful to specify memory addresses, product IDs, etc. Add the support for this new "hex" type. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4423 38d2e660-2303-0410-9eaa-f027e97ec537 --- wizard/BModulePage.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/wizard/BModulePage.py b/wizard/BModulePage.py index d393d620..f1eaad67 100644 --- a/wizard/BModulePage.py +++ b/wizard/BModulePage.py @@ -162,6 +162,8 @@ class BModulePage(BWizardPage): 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"])) @@ -338,10 +340,22 @@ class BModulePage(BWizardPage): maximum = int(informations["max"]) spin_box.setRange(minimum, maximum) spin_box.setSuffix(suff) - spin_box.setValue(int(value.replace("L", "").replace("U", ""))) + spin_box.setValue(int(value.replace("L", "").replace("U", ""), 0)) 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. -- 2.25.1