diff options
Diffstat (limited to 'src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp')
-rw-r--r-- | src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp new file mode 100644 index 0000000000..80205c0604 --- /dev/null +++ b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp @@ -0,0 +1,136 @@ +/*************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Qt Software Information (qt-info@nokia.com) +** +** +** Non-Open Source Usage +** +** Licensees may use this file in accordance with the Qt Beta Version +** License Agreement, Agreement version 2.2 provided with the Software or, +** alternatively, in accordance with the terms contained in a written +** agreement between you and Nokia. +** +** GNU General Public License Usage +** +** Alternatively, this file may be used under the terms of the GNU General +** Public License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the packaging +** of this file. Please review the following information to ensure GNU +** General Public Licensing requirements will be met: +** +** http://www.fsf.org/licensing/licenses/info/GPLv2.html and +** http://www.gnu.org/copyleft/gpl.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt GPL Exception version +** 1.2, included in the file GPL_EXCEPTION.txt in this package. +** +***************************************************************************/ +#include "guiappwizarddialog.h" +#include "consoleappwizard.h" +#include "modulespage.h" +#include "filespage.h" +#include "qtprojectparameters.h" + +#include <utils/projectintropage.h> + +#include <QtGui/QAbstractButton> + +enum PageId { IntroPageId, ModulesPageId, FilesPageId }; + +namespace Qt4ProjectManager { +namespace Internal { + + +GuiAppParameters::GuiAppParameters() : + designerForm(true) +{ + +} + + +GuiAppWizardDialog::GuiAppWizardDialog(const QString &templateName, + const QIcon &icon, + const QList<QWizardPage*> &extensionPages, + QWidget *parent) : + QWizard(parent), + m_introPage(new Core::Utils::ProjectIntroPage), + m_modulesPage(new ModulesPage), + m_filesPage(new FilesPage) +{ + setWindowIcon(icon); + setWindowTitle(templateName); + Core::BaseFileWizard::setupWizard(this); + setOptions(QWizard::IndependentPages); + + m_introPage->setDescription(tr("This wizard generates a Qt4 GUI application " + "project. The application derives by default from QApplication " + "and includes an empty widget.")); + setPage(IntroPageId, m_introPage); + + const QString coreModule = QLatin1String("core"); + const QString guiModule = QLatin1String("gui"); + m_modulesPage->setModuleSelected(coreModule); + m_modulesPage->setModuleEnabled(coreModule, false); + m_modulesPage->setModuleSelected(guiModule); + m_modulesPage->setModuleEnabled(guiModule, false); + setPage(ModulesPageId, m_modulesPage); + + m_filesPage->setFormInputCheckable(true); + setPage(FilesPageId, m_filesPage); + + foreach (QWizardPage *p, extensionPages) + addPage(p); +} + +void GuiAppWizardDialog::setBaseClasses(const QStringList &baseClasses) +{ + m_filesPage->setBaseClassChoices(baseClasses); + if (!baseClasses.empty()) + m_filesPage->setBaseClassName(baseClasses.front()); +} + +void GuiAppWizardDialog::setSuffixes(const QString &header, const QString &source, const QString &form) +{ + m_filesPage->setSuffixes(header, source, form); +} + +void GuiAppWizardDialog::setPath(const QString &path) +{ + m_introPage->setPath(path); +} + +void GuiAppWizardDialog::setName(const QString &name) +{ + m_introPage->setName(name); +} + +QtProjectParameters GuiAppWizardDialog::projectParameters() const +{ + QtProjectParameters rc; + rc.type = QtProjectParameters::GuiApp; + rc.name = m_introPage->name(); + rc.path = m_introPage->path(); + rc.selectedModules = m_modulesPage->selectedModules(); + rc.deselectedModules = m_modulesPage-> deselectedModules(); + return rc; +} + +GuiAppParameters GuiAppWizardDialog::parameters() const +{ + GuiAppParameters rc; + rc.className = m_filesPage->className(); + rc.baseClassName = m_filesPage->baseClassName(); + rc.sourceFileName = m_filesPage->sourceFileName(); + rc.headerFileName = m_filesPage->headerFileName(); + rc.formFileName = m_filesPage->formFileName(); + rc.designerForm = m_filesPage->formInputChecked(); + return rc; +} + +} +} |