# Author: Lorenzo Berni <duplo@develer.com>
#
+from PyQt4.QtCore import *
+from PyQt4.QtGui import *
+
from BWizardPage import BWizardPage
-from const import *
+import const
+import qvariant_converter
+from bertos_utils import presetList
class BBoardPage(BWizardPage):
"""
"""
def __init__(self):
- BWizardPage.__init__(self, UI_LOCATION + "/board_select.ui")
+ BWizardPage.__init__(self, const.UI_LOCATION + "/board_select.ui")
self.setTitle(self.tr("Select the board from the predefined ones"))
+ self._last_selected = None
+
+ ## Overloaded QWizardPage methods ##
+
+ def isComplete(self):
+ """
+ Overload of the QWizardPage isComplete method.
+ """
+ return False
+
+ ####
+
+ ## Overloaded BWizardPage methods ##
+
+ def setupUi(self):
+ """
+ Overload of the BWizardPage setupUi method.
+ """
+ pass
+
+ def connectSignals(self):
+ """
+ Overload of the BWizardPage connectSignals method.
+ """
+ self.connect(self.pageContent.boardList, SIGNAL('itemSelectionChanged()'), self.itemSelectionChanged)
+
+ def reloadData(self):
+ """
+ Overload of the BWizardPage reloadData method.
+ """
+ presets = presetList("/Users/duplo/Development/bertos")
+ self.setProjectInfo("PRESETS", presets)
+ self.populatePresetList()
+
+ def populatePresetList(self):
+ presets = self.projectInfo("PRESETS")
+ for preset, info in presets.items():
+ board_list = self.pageContent.boardList
+ item = QListWidgetItem(info["name"], board_list)
+ item.setData(Qt.UserRole, qvariant_converter.convertString(preset))
+ if self._last_selected == preset:
+ self.pageContent.boardList.setCurrentItem(item)
+ if not self._last_selected and self.pageContent.boardList.count():
+ self.pageContent.boardList.setCurrentRow(0)
+
+ ####
+
+ ## Slots ##
+
+ def itemSelectionChanged(self):
+ preset_path = qvariant_converter.getString(self.pageContent.boardList.currentItem().data(Qt.UserRole))
+ presets = self.projectInfo("PRESETS")
+ selected_preset = presets[preset_path]
+ self.pageContent.descriptionLabel.setText(selected_preset['description'])
+ self._last_selected = preset_path
+
+ ####