genericprojectwizard.h 2.63 KB
Newer Older
hjk's avatar
hjk committed
1
/****************************************************************************
2
**
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
hjk's avatar
hjk committed
4
** Contact: http://www.qt-project.org/legal
5
**
hjk's avatar
hjk committed
6
** This file is part of Qt Creator.
7
**
hjk's avatar
hjk committed
8
9
10
11
12
13
14
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.  For licensing terms and
** conditions see http://qt.digia.com/licensing.  For further information
** use the contact form at http://qt.digia.com/contact-us.
15
16
**
** GNU Lesser General Public License Usage
hjk's avatar
hjk committed
17
18
19
20
21
22
23
24
25
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights.  These rights are described in the Digia Qt LGPL Exception
con's avatar
con committed
26
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
hjk's avatar
hjk committed
28
****************************************************************************/
29

Roberto Raggi's avatar
Roberto Raggi committed
30
31
32
#ifndef GENERICPROJECTWIZARD_H
#define GENERICPROJECTWIZARD_H

Tobias Hunger's avatar
Tobias Hunger committed
33
#include <coreplugin/basefilewizard.h>
34
#include <coreplugin/basefilewizardfactory.h>
35
#include <utils/wizard.h>
Roberto Raggi's avatar
Roberto Raggi committed
36

37
38
namespace Utils { class FileWizardPage; }

Roberto Raggi's avatar
Roberto Raggi committed
39
40
41
namespace GenericProjectManager {
namespace Internal {

42
43
class FilesSelectionWizardPage;

Tobias Hunger's avatar
Tobias Hunger committed
44
class GenericProjectWizardDialog : public Core::BaseFileWizard
Roberto Raggi's avatar
Roberto Raggi committed
45
46
47
48
{
    Q_OBJECT

public:
Tobias Hunger's avatar
Tobias Hunger committed
49
    explicit GenericProjectWizardDialog(QWidget *parent = 0);
Roberto Raggi's avatar
Roberto Raggi committed
50
51

    QString path() const;
52
    void setPath(const QString &path);
53
54
    QStringList selectedFiles() const;
    QStringList selectedPaths() const;
55

56
    QString projectName() const;
Roberto Raggi's avatar
Roberto Raggi committed
57

58
    Utils::FileWizardPage *m_firstPage;
59
    FilesSelectionWizardPage *m_secondPage;
Roberto Raggi's avatar
Roberto Raggi committed
60
61
};

62
class GenericProjectWizard : public Core::BaseFileWizardFactory
Roberto Raggi's avatar
Roberto Raggi committed
63
64
65
66
67
68
69
{
    Q_OBJECT

public:
    GenericProjectWizard();

protected:
Tobias Hunger's avatar
Tobias Hunger committed
70
    Core::BaseFileWizard *create(QWidget *parent, const Core::WizardDialogParameters &parameters) const;
hjk's avatar
hjk committed
71
72
    Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const;
    bool postGenerateFiles(const QWizard *w, const Core::GeneratedFiles &l, QString *errorMessage);
Roberto Raggi's avatar
Roberto Raggi committed
73
74
};

75
76
} // namespace Internal
} // namespace GenericProjectManager
Roberto Raggi's avatar
Roberto Raggi committed
77
78

#endif // GENERICPROJECTWIZARD_H