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().setResizeMode(QHeaderView.Stretch)
35 self.pageContent.propertyTable.verticalHeader().setVisible(False)
36 self.pageContent.propertyTable.setColumnCount(2)
37 self.pageContent.propertyTable.setRowCount(0)
39 def _connectSignals(self):
40 self.connect(self.pageContent.moduleList, SIGNAL("currentRowChanged(int)"), self.moduleItemClicked)
42 def _fillModuleList(self):
43 moduleInfos = bertos_utils.loadModuleInfos(self._projectInfoRetrieve("SOURCES_PATH"))
44 self._projectInfoStore("MODULE_INFO", moduleInfos)
45 for key, value in moduleInfos.items():
46 self.pageContent.moduleList.addItem(QListWidgetItem(key))
48 def _fillParameterTable(self, value):
49 self.pageContent.propertyTable.clear()
50 self.pageContent.propertyTable.setRowCount(len(value))
51 for index, element in enumerate(value):
52 self.pageContent.propertyTable.setItem(index, 0, QTableWidgetItem(element[0]))
53 self.pageContent.propertyTable.setItem(index, 1, QTableWidgetItem(element[1]))
55 def moduleItemClicked(self):
56 module = unicode(self.pageContent.moduleList.currentItem().text())
57 self._fillParameterTable(self._projectInfoRetrieve("MODULE_INFO")[module])