~bzoltan/kubuntu-packaging/decouple_cmake_plugin

« back to all changes in this revision

Viewing changes to src/plugins/projectexplorer/customwizard/customwizard.h

  • Committer: Timo Jyrinki
  • Date: 2013-11-15 12:25:23 UTC
  • mfrom: (1.1.28)
  • Revision ID: timo.jyrinki@canonical.com-20131115122523-i2kyamsu4gs2mu1m
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
57
57
}
58
58
 
59
59
// Documentation inside.
60
 
class ICustomWizardFactory {
 
60
class ICustomWizardFactory
 
61
{
61
62
public:
62
 
    virtual CustomWizard *create(const Core::BaseFileWizardParameters& baseFileParameters,
63
 
                                 QObject *parent = 0) const = 0;
 
63
    virtual CustomWizard *create(QObject *parent = 0) const = 0;
64
64
    virtual ~ICustomWizardFactory() {}
65
65
};
66
66
 
67
67
// Convenience template to create wizard factory classes.
68
 
template <class Wizard> class CustomWizardFactory : public ICustomWizardFactory {
69
 
    virtual CustomWizard *create(const Core::BaseFileWizardParameters& baseFileParameters,
70
 
                                 QObject *parent = 0) const
71
 
    { return new Wizard(baseFileParameters, parent); }
 
68
template <class Wizard> class CustomWizardFactory : public ICustomWizardFactory
 
69
{
 
70
    CustomWizard *create(QObject * = 0) const { return new Wizard; }
72
71
};
73
72
 
74
73
// Documentation inside.
75
74
class PROJECTEXPLORER_EXPORT CustomWizard : public Core::BaseFileWizard
76
75
{
77
76
    Q_OBJECT
 
77
 
78
78
public:
79
79
    typedef QMap<QString, QString> FieldReplacementMap;
80
80
    typedef QSharedPointer<ICustomWizardFactory> ICustomWizardFactoryPtr;
81
81
 
82
 
    explicit CustomWizard(const Core::BaseFileWizardParameters& baseFileParameters,
83
 
                          QObject *parent = 0);
 
82
    CustomWizard();
84
83
    virtual ~CustomWizard();
85
84
 
86
85
    // Can be reimplemented to create custom wizards. initWizardDialog() needs to be
90
89
 
91
90
    virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const;
92
91
 
93
 
    virtual Core::FeatureSet requiredFeatures() const;
94
 
 
95
 
 
96
92
    // Register a factory for a derived custom widget
97
93
    static void registerFactory(const QString &name, const ICustomWizardFactoryPtr &f);
98
94
    template <class Wizard> static void registerFactory(const QString &name)
121
117
    CustomWizardParametersPtr parameters() const;
122
118
    CustomWizardContextPtr context() const;
123
119
 
 
120
    static CustomWizard *createWizard(const CustomWizardParametersPtr &p, const Core::IWizard::Data &b);
 
121
 
124
122
private:
125
123
    void setParameters(const CustomWizardParametersPtr &p);
126
124
 
127
 
    static CustomWizard *createWizard(const CustomWizardParametersPtr &p,
128
 
                                      const Core::BaseFileWizardParameters &b);
 
125
    static CustomWizard *createWizard(const CustomWizardParametersPtr &p);
129
126
    CustomWizardPrivate *d;
130
127
};
131
128
 
133
130
class PROJECTEXPLORER_EXPORT CustomProjectWizard : public CustomWizard
134
131
{
135
132
    Q_OBJECT
 
133
 
136
134
public:
137
 
    explicit CustomProjectWizard(const Core::BaseFileWizardParameters& baseFileParameters,
138
 
                                 QObject *parent = 0);
139
 
 
140
 
    virtual QWizard *createWizardDialog(QWidget *parent,
141
 
                                        const Core::WizardDialogParameters &wizardDialogParameters) const;
142
 
 
143
 
    virtual Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const;
 
135
    CustomProjectWizard();
144
136
 
145
137
    static bool postGenerateOpen(const Core::GeneratedFiles &l, QString *errorMessage = 0);
146
138
 
 
139
protected:
 
140
    QWizard *createWizardDialog(QWidget *parent,
 
141
                                        const Core::WizardDialogParameters &wizardDialogParameters) const;
 
142
 
 
143
    Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const;
 
144
 
147
145
signals:
148
146
    void projectLocationChanged(const QString &path);
149
147