Overload of the BWizardPage connectSignals method.
"""
self.connect(self.pageContent.moduleTree, SIGNAL("itemPressed(QTreeWidgetItem*, int)"), self.fillPropertyTable)
+ self.connect(self.pageContent.moduleTree, SIGNAL("itemPressed(QTreeWidgetItem*, int)"), self.moduleClicked)
self.connect(self.pageContent.moduleTree, SIGNAL("itemChanged(QTreeWidgetItem*, int)"), self.dependencyCheck)
self.connect(self.pageContent.propertyTable, SIGNAL("itemSelectionChanged()"), self.showPropertyDescription)
## Slots ##
+ def moduleClicked(self, item, column):
+ self.setBold(item, False)
+
def fillPropertyTable(self):
"""
Slot called when the user selects a module from the module tree.
if self.pageContent.propertyTable.rowCount() == 0:
module_label = self.pageContent.moduleLabel.text()
module_label += "\n\nNo configuration needed."
- self.pageContent.moduleLabel.setText(module_label)
+ self.pageContent.moduleLabel.setText(module_label)
+ else:
+ self.pageContent.moduleLabel.setText("")
+ self.pageContent.moduleLabel.setVisible(False)
def dependencyCheck(self, item):
"""
configuration = self.projectInfo("MODULES")[self.currentModule()]["configuration"]
configurations = self.projectInfo("CONFIGURATIONS")
if "type" not in configurations[configuration][property]["informations"] or configurations[configuration][property]["informations"]["type"] == "int":
- configurations[configuration][property]["value"] = str(int(self.pageContent.propertyTable.cellWidget(index, 1).value()))
+ configurations[configuration][property]["value"] = unicode(int(self.pageContent.propertyTable.cellWidget(index, 1).value()))
elif configurations[configuration][property]["informations"]["type"] == "enum":
configurations[configuration][property]["value"] = unicode(self.pageContent.propertyTable.cellWidget(index, 1).currentText())
elif configurations[configuration][property]["informations"]["type"] == "boolean":
"""
Fills the module tree with the module entries separated in categories.
"""
+ self.pageContent.moduleTree.clear()
modules = self.projectInfo("MODULES")
if not modules:
return
module_item.setCheckState(0, Qt.Unchecked)
self.pageContent.moduleTree.addTopLevelItem(item)
self.pageContent.moduleTree.sortItems(0, Qt.AscendingOrder)
+ self.fillPropertyTable()
def insertCheckBox(self, index, value):
"""
break
self.pageContent.propertyTable.item(index, 0).setText(self.currentModuleConfigurations()[property_name]['brief'])
+ def setBold(self, item, bold):
+ self.pageContent.moduleTree.blockSignals(True)
+ font = item.font(0)
+ font.setBold(bold)
+ item.setFont(0, font)
+ self.pageContent.moduleTree.blockSignals(False)
+
def moduleSelected(self, selectedModule):
"""
Resolves the selection dependencies.
item = self.pageContent.moduleTree.topLevelItem(category)
for child in range(item.childCount()):
if unicode(item.child(child).text(0)) in unsatisfied:
+ self.setBold(item.child(child), True)
+ self.setBold(item, True)
item.child(child).setCheckState(0, Qt.Checked)
def moduleUnselected(self, unselectedModule):
Slot called when the value of one of the stored widget changes. It emits
another signal.
"""
- self.emit(SIGNAL("stateChanged"), id)
\ No newline at end of file
+ self.emit(SIGNAL("stateChanged"), id)