4 # Copyright 2009 Develer S.r.l. (http://www.develer.com/)
9 # Author: Lorenzo Berni <duplo@develer.com>
14 from PyQt4.QtGui import *
15 from BWizardPage import *
19 class BModulePage(BWizardPage):
22 BWizardPage.__init__(self, "module_select.ui")
23 self.setTitle(self.tr("Configure the modules"))
25 self._connectSignals()
28 self._fillModuleList()
31 self.pageContent.moduleList.setSortingEnabled(True)
32 self.pageContent.propertyTable.horizontalHeader().setResizeMode(QHeaderView.Stretch)
33 self.pageContent.propertyTable.horizontalHeader().setVisible(False)
34 self.pageContent.propertyTable.verticalHeader().setVisible(False)
35 self.pageContent.propertyTable.setColumnCount(2)
36 self.pageContent.propertyTable.setRowCount(0)
38 def _connectSignals(self):
39 self.connect(self.pageContent.moduleList, SIGNAL("currentRowChanged(int)"), self.moduleItemClicked)
41 def _fillModuleList(self):
42 moduleInfos = bertos_utils.loadModuleInfos(self._projectInfoRetrieve("SOURCES_PATH"))
43 self._projectInfoStore("MODULE_INFO", moduleInfos)
44 for key, value in moduleInfos.items():
45 self.pageContent.moduleList.addItem(QListWidgetItem(key))
47 def _fillParameterTable(self, parameters):
48 self.pageContent.propertyTable.clear()
49 self.pageContent.propertyTable.setRowCount(len(parameters))
50 for index, key in enumerate(parameters):
51 self.pageContent.propertyTable.setItem(index, 0, QTableWidgetItem(key))
52 self.pageContent.propertyTable.setItem(index, 1, QTableWidgetItem(parameters[key]["value"]))
54 def moduleItemClicked(self):
55 module = unicode(self.pageContent.moduleList.currentItem().text())
56 self._fillParameterTable(self._projectInfoRetrieve("MODULE_INFO")[module])