diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2012-02-03 18:00:08 +0100 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2012-02-07 16:26:10 +0100 |
commit | 821eab6c52d5587b233a409f3086e223c7a270b2 (patch) | |
tree | 695875859f46982a950cf5f78b88fae11bc706af /src/plugins/coreplugin/basefilewizard.h | |
parent | 88d95250ef9d13b9602c64d1ca6ad05529c072ba (diff) | |
download | qt-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.h | 39 |
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 ¶meters, 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; |