X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBWizardPage.py;h=8fa44c1e1304da964b5cc1d4c8f527cff7ec5e39;hb=ff9e3c69aa5e11915f056f45f6200009dd29127c;hp=81737e34249b34652f9810d2dc21e89486fcae27;hpb=38149a83f2db401fdbdbd8b63ee29d2c0de98f8e;p=bertos.git diff --git a/wizard/BWizardPage.py b/wizard/BWizardPage.py index 81737e34..8fa44c1e 100644 --- a/wizard/BWizardPage.py +++ b/wizard/BWizardPage.py @@ -4,7 +4,7 @@ # Copyright 2008 Develer S.r.l. (http://www.develer.com/) # All rights reserved. # -# $Id:$ +# $Id$ # # Author: Lorenzo Berni # @@ -16,6 +16,10 @@ from PyQt4 import uic import qvariant_converter class BWizardPage(QWizardPage): + """ + Base class for all the wizard pages. It has the utility method used in all + the pages. A wizard page class need to extend this class. + """ def __init__(self, wizardGui, parent = None): QWizardPage.__init__(self, parent) @@ -23,51 +27,144 @@ class BWizardPage(QWizardPage): layout = QVBoxLayout() layout.addWidget(self.pageContent) self.setLayout(layout) + self.setupUi() + self.connectSignals() - def _exceptionOccurred(self, message): + def exceptionOccurred(self, message): + """ + Simple message box showing method. + """ QMessageBox.critical(self, self.tr("Error occurred"), message, QMessageBox.Ok, QMessageBox.NoButton) - def _settingsStore(self, key, value): - QApplication.instance().settings.setValue(QString(key), value) - - def _settingsRetrieve(self, key): - return QApplication.instance().settings.value(QString(key), QVariant()) + def showMessage(self, title, message): + """ + Show an information message box with title and message. + """ + QMessageBox.information(self, title, message) + + ## BProject interaction methods ## - def _projectInfoStore(self, key, value): + def setProjectInfo(self, key, value): + """ + Stores the given value in the BProject class associating it with the given + key. + """ QApplication.instance().project.setInfo(key, value) - def _projectInfoRetrieve(self, key): + def projectInfo(self, key): + """ + Retrieves the information associated with the given key. + """ return QApplication.instance().project.info(key) - def _project(self): + def project(self): + """ + Returns the BProject instance. + """ return QApplication.instance().project + + #### + + ## QSettings interaction methods ## + def settingsStore(self, key, value): + """ + Stores the given value in the QSettings associated with the given key. + """ + QApplication.instance().settings.setValue(QString(key), value) + + def settingsRetrieve(self, key): + """ + Retrieves the value associated to key in the QSettings. Note that this + Value is a QVariant and neet to be converted in a standard type. + """ + return QApplication.instance().settings.value(QString(key), QVariant()) + def versions(self): - return qvariant_converter.getStringList(self._settingsRetrieve("versions")) + """ + Returns the version list from the QSettings. + """ + return qvariant_converter.getStringList(self.settingsRetrieve("versions")) def setVersions(self, versions): - self._settingsStore("versions", qvariant_converter.convertStringList(versions)) + """ + Stores the given versions in the QSettings. + """ + self.settingsStore("versions", qvariant_converter.convertStringList(versions)) def searchDirList(self): - return qvariant_converter.getStringList(self._settingsRetrieve("search_dir_list")) + """ + Returns the search dir list from the QSettings. + """ + return qvariant_converter.getStringList(self.settingsRetrieve("search_dir_list")) def setSearchDirList(self, search_dir_list): - self._settingsStore("search_dir_list", qvariant_converter.convertStringList(search_dir_list)) + """ + Stores the search dir list in the QSettings. + """ + self.settingsStore("search_dir_list", qvariant_converter.convertStringList(search_dir_list)) def pathSearch(self): - return qvariant_converter.getBool(self._settingsRetrieve("path_search")) + """ + Returns the value of path search from the QSettings. + """ + return qvariant_converter.getBool(self.settingsRetrieve("path_search")) def setPathSearch(self, path_search): - self._settingsStore("path_search", qvariant_converter.convertBool(path_search)) + """ + Stores the path search value in the QSettings. + """ + self.settingsStore("path_search", qvariant_converter.convertBool(path_search)) def toolchains(self): - return qvariant_converter.getBoolDict(self._settingsRetrieve("toolchains")) + """ + Returns the toolchains stored in the QSettings. + """ + return qvariant_converter.getBoolDict(self.settingsRetrieve("toolchains")) def setToolchains(self, toolchains): - self._settingsStore("toolchains", qvariant_converter.convertBoolDict(toolchains)) + """ + Stores the toolchains in the QSettings. + """ + self.settingsStore("toolchains", qvariant_converter.convertBoolDict(toolchains)) + + def defaultFolder(self): + """ + Returns the default save folder stored in the QSettings. + """ + return qvariant_converter.getString(self.settingsRetrieve("folder")) + + def setDefaultFolder(self, folder): + """ + Stores the default save folder in the QSettings. + """ + self.settingsStore("folder", qvariant_converter.convertString(folder)) + + #### + + ## Methodo to be implemented in child classes when needed ## def reloadData(self): + """ + Method called before the page is loaded. The pages that need to use this + method have to implement it. + """ + pass + + def setupUi(self): + """ + Method called automatically during the initialization of the wizard page. + It set up the interface. Pages that need to use this method have to + implement it. + """ + pass + + def connectSignals(self): + """ + Method called automatically during the initialization of the wizard page. + It connects the signals and the slots. The pages that need to use this + method have to implement it. + """ pass - def saveData(self): - pass \ No newline at end of file + #### \ No newline at end of file