moduleItem = QTreeWidgetItem(item, QStringList([module]))
moduleItem.setCheckState(0, Qt.Unchecked)
self.pageContent.moduleTree.addTopLevelItem(item)
+ self.pageContent.moduleTree.sortItems(0, Qt.AscendingOrder)
def _fillPropertyTable(self):
if len(configuration) > 0:
configurations = self._projectInfoRetrieve("CONFIGURATIONS")[configuration]
self.pageContent.propertyTable.setRowCount(len(configurations))
- for index, property in enumerate(configurations):
- item = QTableWidgetItem(configurations[property]["brief"])
- item.setData(Qt.UserRole, qvariant_converter.convertString(property))
- self.pageContent.propertyTable.setItem(index, 0, item)
- if "type" in configurations[property]["informations"].keys() and configurations[property]["informations"]["type"] == "boolean":
- self._insertCheckBox(index, configurations[property]["value"])
- elif "type" in configurations[property]["informations"].keys() and configurations[property]["informations"]["type"] == "enum":
- 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"])
+ index = 0
+ for property in configurations:
+ if "type" in configurations[property]["informations"] and configurations[property]["informations"]["type"] == "autoenabled":
+ ## Doesn't show the hidden fields
+ pass
else:
- # Not defined type, rendered as a text field
- self.pageContent.propertyTable.setItem(index, 1, QTableWidgetItem(property))
+ item = QTableWidgetItem(configurations[property]["brief"])
+ item.setData(Qt.UserRole, qvariant_converter.convertString(property))
+ self.pageContent.propertyTable.setItem(index, 0, item)
+ if "type" in configurations[property]["informations"].keys() and configurations[property]["informations"]["type"] == "boolean":
+ self._insertCheckBox(index, configurations[property]["value"])
+ elif "type" in configurations[property]["informations"].keys() and configurations[property]["informations"]["type"] == "enum":
+ 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"])
+ else:
+ # Not defined type, rendered as a text field
+ self.pageContent.propertyTable.setItem(index, 1, QTableWidgetItem(configurations[property]["value"]))
+ index += 1
else:
self.pageContent.propertyTable.setRowCount(0)
self._currentPropertyItem().setText(description + "\n" + name)
def _setupUi(self):
+ self.pageContent.moduleTree.clear()
self.pageContent.moduleTree.setHeaderHidden(True)
self.pageContent.propertyTable.horizontalHeader().setResizeMode(QHeaderView.Stretch)
self.pageContent.propertyTable.horizontalHeader().setVisible(False)
self._moduleSelected(module)
else:
self._moduleUnselected(module)
+ self.removeFileDependencies(module)
def _moduleSelected(self, selectedModule):
modules = self._projectInfoRetrieve("MODULES")
def selectDependencyCheck(self, module):
unsatisfied = set()
modules = self._projectInfoRetrieve("MODULES")
+ files = self._projectInfoRetrieve("FILES")
for dependency in modules[module]["depends"]:
- if not modules[dependency]["enabled"]:
+ if dependency in modules and not modules[dependency]["enabled"]:
unsatisfied |= set([dependency])
if dependency not in unsatisfied:
unsatisfied |= self.selectDependencyCheck(dependency)
+ if dependency not in modules:
+ if dependency in files:
+ files[dependency] += 1
+ else:
+ files[dependency] = 1
+ self._projectInfoStore("FILES", files)
return unsatisfied
def unselectDependencyCheck(self, dependency):
if dependency not in unsatisfied:
unsatisfied |= self.unselectDependencyCheck(module)
return unsatisfied
+
+ def removeFileDependencies(self, module):
+ modules = self._projectInfoRetrieve("MODULES")
+ files = self._projectInfoRetrieve("FILES")
+ dependencies = modules[module]["depends"]
+ for dependency in dependencies:
+ if dependency in files:
+ files[dependency] -= 1
+ if files[dependency] == 0:
+ del files[dependency]
+ self._projectInfoStore("FILES", files)
class QControlGroup(QObject):
def __init__(self):