summaryrefslogtreecommitdiff
path: root/src/plugins/coreplugin/basefilewizard.h
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@nokia.com>2012-02-03 18:00:08 +0100
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2012-02-07 16:26:10 +0100
commit821eab6c52d5587b233a409f3086e223c7a270b2 (patch)
tree695875859f46982a950cf5f78b88fae11bc706af /src/plugins/coreplugin/basefilewizard.h
parent88d95250ef9d13b9602c64d1ca6ad05529c072ba (diff)
downloadqt-creator-821eab6c52d5587b233a409f3086e223c7a270b2.tar.gz
Wizards: refactoring - adding WizardDialogParameters
The Wizards itself (derived from IWizard) and the dialogs implementing the wizards were quite discoupled. Since I want to add parameters that are delivered from IWizard::run to the dialog a I added WizardDialogParameters. Examples of paramters I want to add are the choosen platform and the choosen subOption/template for this wizard. Change-Id: I9c0ae2901e3d46d3c36a3f433f4d7d508a6ba74e Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
Diffstat (limited to 'src/plugins/coreplugin/basefilewizard.h')
-rw-r--r--src/plugins/coreplugin/basefilewizard.h39
1 files changed, 34 insertions, 5 deletions
diff --git a/src/plugins/coreplugin/basefilewizard.h b/src/plugins/coreplugin/basefilewizard.h
index 76a40c35a5..6a511c15b6 100644
--- a/src/plugins/coreplugin/basefilewizard.h
+++ b/src/plugins/coreplugin/basefilewizard.h
@@ -100,6 +100,37 @@ private:
CORE_EXPORT QDebug operator<<(QDebug d, const BaseFileWizardParameters &);
+class CORE_EXPORT WizardDialogParameters
+{
+public:
+ typedef QList<QWizardPage *> WizardPageList;
+
+ explicit WizardDialogParameters(const QString &defaultPath, const WizardPageList &extensionPages,
+ const QString &platform, const Core::FeatureSet &requiredFeatures)
+ : m_defaultPath(defaultPath),
+ m_extensionPages(extensionPages),
+ m_selectedPlatform(platform),
+ m_requiredFeatures(requiredFeatures) {}
+
+ QString defaultPath() const
+ { return m_defaultPath; }
+
+ WizardPageList extensionPages() const
+ { return m_extensionPages; }
+
+ QString selectedPlatform() const
+ { return m_selectedPlatform; }
+
+ Core::FeatureSet requiredFeatures() const
+ { return m_requiredFeatures; }
+
+private:
+ QString m_defaultPath;
+ WizardPageList m_extensionPages;
+ QString m_selectedPlatform;
+ Core::FeatureSet m_requiredFeatures;
+};
+
class CORE_EXPORT BaseFileWizard : public IWizard
{
Q_OBJECT
@@ -132,8 +163,8 @@ protected:
BaseFileWizardParameters baseFileWizardParameters() const;
virtual QWizard *createWizardDialog(QWidget *parent,
- const QString &defaultPath,
- const WizardPageList &extensionPages) const = 0;
+ const WizardDialogParameters &wizardDialogParameters) const = 0;
+
virtual GeneratedFiles generateFiles(const QWizard *w,
QString *errorMessage) const = 0;
@@ -158,9 +189,7 @@ class CORE_EXPORT StandardFileWizard : public BaseFileWizard
protected:
explicit StandardFileWizard(const BaseFileWizardParameters &parameters, QObject *parent = 0);
- virtual QWizard *createWizardDialog(QWidget *parent,
- const QString &defaultPath,
- const WizardPageList &extensionPages) const;
+ virtual QWizard *createWizardDialog(QWidget *parent, const WizardDialogParameters &wizardDialogParameters) const;
virtual GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const;
virtual GeneratedFiles generateFilesFromPath(const QString &path, const QString &name,
QString *errorMessage) const = 0;