Commit 921f86df authored by Tobias Hunger's avatar Tobias Hunger

TargetSetupPage: Generalize the page

Generalize the target setup page and move it into projectexplorer

Move the qmake specific code into a projectimporter class with
a specialization for qmake projects in the qt4projectmanager.

This change depends heavily on the BuildConfigurationFactory cleanups
done earlier and completes that change in such a way that generic
build configuration factories are now in theory possible. The
remaining problem is how to select the best factory of several that
claim to be able to handle a kit and that is left for the next patch.

Change-Id: I47134cb1938c52adebcdc1ddfe8dbf26abbbbeee
Reviewed-by: default avatarDaniel Teske <daniel.teske@digia.com>
parent 95828d46
...@@ -104,6 +104,24 @@ QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableBuilds(const Tar ...@@ -104,6 +104,24 @@ QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableBuilds(const Tar
return result; return result;
} }
bool AutotoolsBuildConfigurationFactory::canSetup(const Kit *k, const QString &projectPath) const
{
return k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
.matchesType(QLatin1String(Constants::MAKEFILE_MIMETYPE));
}
QList<BuildInfo *> AutotoolsBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
{
QList<BuildInfo *> result;
QTC_ASSERT(canSetup(k, projectPath), return result);
BuildInfo *info = createBuildInfo(k,
Utils::FileName::fromString(AutotoolsProject::defaultBuildDirectory(projectPath)));
//: The name of the build configuration created by default for a autotools project.
info->displayName = tr("Default");
result << info;
return result;
}
BuildConfiguration *AutotoolsBuildConfigurationFactory::create(Target *parent, const BuildInfo *info) const BuildConfiguration *AutotoolsBuildConfigurationFactory::create(Target *parent, const BuildInfo *info) const
{ {
QTC_ASSERT(parent, return 0); QTC_ASSERT(parent, return 0);
...@@ -165,6 +183,7 @@ BuildInfo *AutotoolsBuildConfigurationFactory::createBuildInfo(const ProjectExpl ...@@ -165,6 +183,7 @@ BuildInfo *AutotoolsBuildConfigurationFactory::createBuildInfo(const ProjectExpl
info->typeName = tr("Build"); info->typeName = tr("Build");
info->buildDirectory = buildDir; info->buildDirectory = buildDir;
info->kitId = k->id(); info->kitId = k->id();
info->supportsShadowBuild = true; // Works sometimes...
return info; return info;
} }
......
...@@ -71,6 +71,9 @@ public: ...@@ -71,6 +71,9 @@ public:
bool canCreate(const ProjectExplorer::Target *parent) const; bool canCreate(const ProjectExplorer::Target *parent) const;
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const; QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
bool canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const;
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
const QString &projectPath) const;
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent, ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
const ProjectExplorer::BuildInfo *info) const; const ProjectExplorer::BuildInfo *info) const;
......
...@@ -132,7 +132,30 @@ QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableBui ...@@ -132,7 +132,30 @@ QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableBui
QList<ProjectExplorer::BuildInfo *> result; QList<ProjectExplorer::BuildInfo *> result;
QTC_ASSERT(canCreate(parent), return result); QTC_ASSERT(canCreate(parent), return result);
CMakeBuildInfo *info = createBuildInfo(parent->kit(), parent->project()->projectDirectory()); CMakeBuildInfo *info = createBuildInfo(parent->kit(),
parent->project()->projectDirectory());
result << info;
return result;
}
bool CMakeBuildConfigurationFactory::canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const
{
return k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
.matchesType(QLatin1String(Constants::CMAKEMIMETYPE));
}
QList<ProjectExplorer::BuildInfo *> CMakeBuildConfigurationFactory::availableSetups(const ProjectExplorer::Kit *k,
const QString &projectPath) const
{
QList<ProjectExplorer::BuildInfo *> result;
QTC_ASSERT(canSetup(k, projectPath), return result);
CMakeBuildInfo *info = createBuildInfo(k, ProjectExplorer::Project::projectDirectory(projectPath));
//: The name of the build configuration created by default for a cmake project.
info->displayName = tr("Default");
info->buildDirectory
= Utils::FileName::fromString(CMakeProject::shadowBuildDirectory(projectPath, k,
info->displayName));
result << info; result << info;
return result; return result;
} }
...@@ -234,6 +257,7 @@ CMakeBuildInfo *CMakeBuildConfigurationFactory::createBuildInfo(const ProjectExp ...@@ -234,6 +257,7 @@ CMakeBuildInfo *CMakeBuildConfigurationFactory::createBuildInfo(const ProjectExp
k->addToEnvironment(info->environment); k->addToEnvironment(info->environment);
info->useNinja = false; info->useNinja = false;
info->sourceDirectory = sourceDir; info->sourceDirectory = sourceDir;
info->supportsShadowBuild = true;
return info; return info;
} }
......
...@@ -87,6 +87,9 @@ public: ...@@ -87,6 +87,9 @@ public:
bool canCreate(const ProjectExplorer::Target *parent) const; bool canCreate(const ProjectExplorer::Target *parent) const;
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const; QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
bool canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const;
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
const QString &projectPath) const;
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent, ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
const ProjectExplorer::BuildInfo *info) const; const ProjectExplorer::BuildInfo *info) const;
......
...@@ -93,8 +93,8 @@ public: ...@@ -93,8 +93,8 @@ public:
CMakeBuildTarget buildTargetForTitle(const QString &title); CMakeBuildTarget buildTargetForTitle(const QString &title);
QString shadowBuildDirectory(const QString &projectFilePath, const ProjectExplorer::Kit *k, static QString shadowBuildDirectory(const QString &projectFilePath, const ProjectExplorer::Kit *k,
const QString &bcName); const QString &bcName);
bool isProjectFile(const QString &fileName); bool isProjectFile(const QString &fileName);
......
...@@ -102,6 +102,23 @@ QList<BuildInfo *> GenericBuildConfigurationFactory::availableBuilds(const Targe ...@@ -102,6 +102,23 @@ QList<BuildInfo *> GenericBuildConfigurationFactory::availableBuilds(const Targe
return result; return result;
} }
bool GenericBuildConfigurationFactory::canSetup(const Kit *k, const QString &projectPath) const
{
return k && Core::MimeDatabase::findByFile(QFileInfo(projectPath))
.matchesType(QLatin1String(Constants::GENERICMIMETYPE));
}
QList<BuildInfo *> GenericBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const
{
QList<BuildInfo *> result;
QTC_ASSERT(canSetup(k, projectPath), return result);
BuildInfo *info = createBuildInfo(k, Utils::FileName::fromString(ProjectExplorer::Project::projectDirectory(projectPath)));
//: The name of the build configuration created by default for a generic project.
info->displayName = tr("Default");
result << info;
return result;
}
BuildConfiguration *GenericBuildConfigurationFactory::create(Target *parent, const BuildInfo *info) const BuildConfiguration *GenericBuildConfigurationFactory::create(Target *parent, const BuildInfo *info) const
{ {
QTC_ASSERT(canCreate(parent), return 0); QTC_ASSERT(canCreate(parent), return 0);
......
...@@ -74,6 +74,9 @@ public: ...@@ -74,6 +74,9 @@ public:
bool canCreate(const ProjectExplorer::Target *parent) const; bool canCreate(const ProjectExplorer::Target *parent) const;
QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const; QList<ProjectExplorer::BuildInfo *> availableBuilds(const ProjectExplorer::Target *parent) const;
bool canSetup(const ProjectExplorer::Kit *k, const QString &projectPath) const;
QList<ProjectExplorer::BuildInfo *> availableSetups(const ProjectExplorer::Kit *k,
const QString &projectPath) const;
ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent, ProjectExplorer::BuildConfiguration *create(ProjectExplorer::Target *parent,
const ProjectExplorer::BuildInfo *info) const; const ProjectExplorer::BuildInfo *info) const;
......
...@@ -341,6 +341,18 @@ IBuildConfigurationFactory *IBuildConfigurationFactory::find(Target *parent, con ...@@ -341,6 +341,18 @@ IBuildConfigurationFactory *IBuildConfigurationFactory::find(Target *parent, con
return 0; return 0;
} }
// setup
IBuildConfigurationFactory *IBuildConfigurationFactory::find(Kit *k, const QString &projectPath)
{
QList<IBuildConfigurationFactory *> factories
= ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>();
foreach (IBuildConfigurationFactory *factory, factories) {
if (factory->canSetup(k, projectPath))
return factory;
}
return 0;
}
// create // create
IBuildConfigurationFactory * IBuildConfigurationFactory::find(Target *parent) IBuildConfigurationFactory * IBuildConfigurationFactory::find(Target *parent)
{ {
......
...@@ -133,6 +133,13 @@ public: ...@@ -133,6 +133,13 @@ public:
// List of build information that can be used to create a new build configuration via // List of build information that can be used to create a new build configuration via
// "Add Build Configuration" button. // "Add Build Configuration" button.
virtual QList<BuildInfo *> availableBuilds(const Target *parent) const = 0; virtual QList<BuildInfo *> availableBuilds(const Target *parent) const = 0;
// Used to see whether this factory can produce any BuildConfigurations for a kit when
// setting up the given project.
virtual bool canSetup(const Kit *k, const QString &projectPath) const = 0;
// List of build information that can be used to initially set up a new build configuration.
virtual QList<BuildInfo *> availableSetups(const Kit *k, const QString &projectPath) const = 0;
virtual BuildConfiguration *create(Target *parent, const BuildInfo *info) const = 0; virtual BuildConfiguration *create(Target *parent, const BuildInfo *info) const = 0;
// used to recreate the runConfigurations when restoring settings // used to recreate the runConfigurations when restoring settings
......
...@@ -98,7 +98,7 @@ PropertiesPanel *BuildSettingsPanelFactory::createPanel(Target *target) ...@@ -98,7 +98,7 @@ PropertiesPanel *BuildSettingsPanelFactory::createPanel(Target *target)
BuildSettingsWidget::~BuildSettingsWidget() BuildSettingsWidget::~BuildSettingsWidget()
{ {
clear(); clearWidgets();
qDeleteAll(m_buildInfoList); qDeleteAll(m_buildInfoList);
} }
...@@ -195,7 +195,7 @@ void BuildSettingsWidget::addSubWidget(NamedWidget *widget) ...@@ -195,7 +195,7 @@ void BuildSettingsWidget::addSubWidget(NamedWidget *widget)
m_subWidgets.append(widget); m_subWidgets.append(widget);
} }
void BuildSettingsWidget::clear() void BuildSettingsWidget::clearWidgets()
{ {
qDeleteAll(m_subWidgets); qDeleteAll(m_subWidgets);
m_subWidgets.clear(); m_subWidgets.clear();
...@@ -232,7 +232,7 @@ void BuildSettingsWidget::updateAddButtonMenu() ...@@ -232,7 +232,7 @@ void BuildSettingsWidget::updateAddButtonMenu()
void BuildSettingsWidget::updateBuildSettings() void BuildSettingsWidget::updateBuildSettings()
{ {
clear(); clearWidgets();
// update buttons // update buttons
m_removeButton->setEnabled(m_target->buildConfigurations().size() > 1); m_removeButton->setEnabled(m_target->buildConfigurations().size() > 1);
......
...@@ -72,7 +72,7 @@ public: ...@@ -72,7 +72,7 @@ public:
BuildSettingsWidget(Target *target); BuildSettingsWidget(Target *target);
~BuildSettingsWidget(); ~BuildSettingsWidget();
void clear(); void clearWidgets();
void addSubWidget(ProjectExplorer::NamedWidget *widget); void addSubWidget(ProjectExplorer::NamedWidget *widget);
QList<ProjectExplorer::NamedWidget *> subWidgets() const; QList<ProjectExplorer::NamedWidget *> subWidgets() const;
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#include <QPushButton> #include <QPushButton>
#include <QVBoxLayout> #include <QVBoxLayout>
namespace Qt4ProjectManager { namespace ProjectExplorer {
namespace Internal { namespace Internal {
ImportWidget::ImportWidget(QWidget *parent) : ImportWidget::ImportWidget(QWidget *parent) :
...@@ -85,4 +85,4 @@ void ImportWidget::handleImportRequest() ...@@ -85,4 +85,4 @@ void ImportWidget::handleImportRequest()
} }
} // namespace Internal } // namespace Internal
} // namespace Qt4ProjectManager } // namespace ProjectExplorer
...@@ -37,7 +37,7 @@ class PathChooser; ...@@ -37,7 +37,7 @@ class PathChooser;
class FileName; class FileName;
} // namespace Utils } // namespace Utils
namespace Qt4ProjectManager { namespace ProjectExplorer {
namespace Internal { namespace Internal {
class ImportWidget : public QWidget class ImportWidget : public QWidget
...@@ -61,6 +61,6 @@ private: ...@@ -61,6 +61,6 @@ private:
}; };
} // namespace Internal } // namespace Internal
} // namespace Qt4ProjectManager } // namespace ProjectExplorer
#endif // IMPORTWIDGET_H #endif // IMPORTWIDGET_H
...@@ -282,6 +282,7 @@ Target *Project::restoreTarget(const QVariantMap &data) ...@@ -282,6 +282,7 @@ Target *Project::restoreTarget(const QVariantMap &data)
delete t; delete t;
return 0; return 0;
} }
return t; return t;
} }
...@@ -505,8 +506,16 @@ void Project::setup(QList<const BuildInfo *> infoList) ...@@ -505,8 +506,16 @@ void Project::setup(QList<const BuildInfo *> infoList)
continue; continue;
t->addBuildConfiguration(bc); t->addBuildConfiguration(bc);
} }
foreach (Target *t, toRegister) foreach (Target *t, toRegister) {
t->updateDefaultDeployConfigurations();
t->updateDefaultRunConfigurations();
addTarget(t); addTarget(t);
}
}
ProjectImporter *Project::createProjectImporter() const
{
return 0;
} }
void Project::onBuildDirectoryChanged() void Project::onBuildDirectoryChanged()
......
...@@ -47,8 +47,10 @@ namespace ProjectExplorer { ...@@ -47,8 +47,10 @@ namespace ProjectExplorer {
class BuildInfo; class BuildInfo;
class IProjectManager; class IProjectManager;
class EditorConfiguration; class EditorConfiguration;
class ProjectImporter;
class ProjectNode; class ProjectNode;
class Kit; class Kit;
class KitMatcher;
class NamedWidget; class NamedWidget;
class Target; class Target;
class ProjectPrivate; class ProjectPrivate;
...@@ -125,6 +127,9 @@ public: ...@@ -125,6 +127,9 @@ public:
virtual void configureAsExampleProject(const QStringList &platforms); virtual void configureAsExampleProject(const QStringList &platforms);
virtual bool supportsNoTargetPanel() const; virtual bool supportsNoTargetPanel() const;
virtual ProjectImporter *createProjectImporter() const;
virtual KitMatcher *createRequiredKitMatcher() const { return 0; }
virtual KitMatcher *createPreferredKitMatcher() const { return 0; }
virtual bool needsSpecialDeployment() const; virtual bool needsSpecialDeployment() const;
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include "projectexplorersettings.h" #include "projectexplorersettings.h"
#include "projectmacroexpander.h" #include "projectmacroexpander.h"
#include "removetaskhandler.h" #include "removetaskhandler.h"
#include "unconfiguredprojectpanel.h"
#include "kitmanager.h" #include "kitmanager.h"
#include "kitoptionspage.h" #include "kitoptionspage.h"
#include "target.h" #include "target.h"
...@@ -429,6 +430,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er ...@@ -429,6 +430,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
addAutoReleasedObject(new DependenciesPanelFactory); addAutoReleasedObject(new DependenciesPanelFactory);
addAutoReleasedObject(new ProcessStepFactory); addAutoReleasedObject(new ProcessStepFactory);
addAutoReleasedObject(new UnconfiguredProjectPanel);
addAutoReleasedObject(new AllProjectsFind); addAutoReleasedObject(new AllProjectsFind);
addAutoReleasedObject(new CurrentProjectFind); addAutoReleasedObject(new CurrentProjectFind);
...@@ -1653,7 +1655,7 @@ void ProjectExplorerPlugin::buildStateChanged(Project * pro) ...@@ -1653,7 +1655,7 @@ void ProjectExplorerPlugin::buildStateChanged(Project * pro)
{ {
if (debug) { if (debug) {
qDebug() << "buildStateChanged"; qDebug() << "buildStateChanged";
qDebug() << pro->document()->filePath() << "isBuilding()" << BuildManager::isBuilding(pro); qDebug() << pro->projectFilePath() << "isBuilding()" << BuildManager::isBuilding(pro);
} }
Q_UNUSED(pro) Q_UNUSED(pro)
updateActions(); updateActions();
......
...@@ -11,12 +11,17 @@ HEADERS += projectexplorer.h \ ...@@ -11,12 +11,17 @@ HEADERS += projectexplorer.h \
environmentaspect.h \ environmentaspect.h \
environmentaspectwidget.h \ environmentaspectwidget.h \
gcctoolchain.h \ gcctoolchain.h \
importwidget.h \
localapplicationrunconfiguration.h \ localapplicationrunconfiguration.h \
localenvironmentaspect.h \ localenvironmentaspect.h \
osparser.h \ osparser.h \
projectexplorer_export.h \ projectexplorer_export.h \
projectimporter.h \
projectwindow.h \ projectwindow.h \
removetaskhandler.h \ removetaskhandler.h \
targetsetuppage.h \
targetsetupwidget.h \
unconfiguredprojectpanel.h \
kit.h \ kit.h \
kitchooser.h \ kitchooser.h \
kitconfigwidget.h \ kitconfigwidget.h \
...@@ -147,11 +152,16 @@ SOURCES += projectexplorer.cpp \ ...@@ -147,11 +152,16 @@ SOURCES += projectexplorer.cpp \
environmentaspect.cpp \ environmentaspect.cpp \
environmentaspectwidget.cpp \ environmentaspectwidget.cpp \
gcctoolchain.cpp \ gcctoolchain.cpp \
importwidget.cpp \
localapplicationrunconfiguration.cpp \ localapplicationrunconfiguration.cpp \
localenvironmentaspect.cpp \ localenvironmentaspect.cpp \
osparser.cpp \ osparser.cpp \
projectimporter.cpp \
projectwindow.cpp \ projectwindow.cpp \
removetaskhandler.cpp \ removetaskhandler.cpp \
targetsetuppage.cpp \
targetsetupwidget.cpp \
unconfiguredprojectpanel.cpp \
kit.cpp \ kit.cpp \
kitchooser.cpp \ kitchooser.cpp \
kitconfigwidget.cpp \ kitconfigwidget.cpp \
......
...@@ -72,6 +72,7 @@ QtcPlugin { ...@@ -72,6 +72,7 @@ QtcPlugin {
"gcctoolchainfactories.h", "gcctoolchainfactories.h",
"gnumakeparser.cpp", "gnumakeparser.h", "gnumakeparser.cpp", "gnumakeparser.h",
"headerpath.h", "headerpath.h",
"importwidget.cpp", "importwidget.h",
"ioutputparser.cpp", "ioutputparser.h", "ioutputparser.cpp", "ioutputparser.h",
"iprojectmanager.h", "iprojectmanager.h",
"iprojectproperties.h", "iprojectproperties.h",
...@@ -108,6 +109,7 @@ QtcPlugin { ...@@ -108,6 +109,7 @@ QtcPlugin {
"projectexplorersettings.h", "projectexplorersettings.h",
"projectexplorersettingspage.cpp", "projectexplorersettingspage.h", "projectexplorersettingspage.ui", "projectexplorersettingspage.cpp", "projectexplorersettingspage.h", "projectexplorersettingspage.ui",
"projectfilewizardextension.cpp", "projectfilewizardextension.h", "projectfilewizardextension.cpp", "projectfilewizardextension.h",
"projectimporter.cpp", "projectimporter.h",
"projectmacroexpander.cpp", "projectmacroexpander.h", "projectmacroexpander.cpp", "projectmacroexpander.h",
"projectmodels.cpp", "projectmodels.h", "projectmodels.cpp", "projectmodels.h",
"projectnodes.cpp", "projectnodes.h", "projectnodes.cpp", "projectnodes.h",
...@@ -126,8 +128,9 @@ QtcPlugin { ...@@ -126,8 +128,9 @@ QtcPlugin {
"target.cpp", "target.h", "target.cpp", "target.h",
"targetselector.cpp", "targetselector.h", "targetselector.cpp", "targetselector.h",
"targetsettingspanel.cpp", "targetsettingspanel.h", "targetsettingspanel.cpp", "targetsettingspanel.h",
"targetsettingswidget.cpp", "targetsettingswidget.h", "targetsettingswidget.cpp", "targetsettingswidget.h", "targetsettingswidget.ui",
"targetsettingswidget.ui", "targetsetuppage.cpp", "targetsetuppage.h",
"targetsetupwidget.cpp", "targetsetupwidget.h",
"task.cpp", "task.h", "task.cpp", "task.h",
"taskhub.cpp", "taskhub.h", "taskhub.cpp", "taskhub.h",
"taskmodel.cpp", "taskmodel.h", "taskmodel.cpp", "taskmodel.h",
...@@ -136,6 +139,7 @@ QtcPlugin { ...@@ -136,6 +139,7 @@ QtcPlugin {
"toolchainconfigwidget.cpp", "toolchainconfigwidget.h", "toolchainconfigwidget.cpp", "toolchainconfigwidget.h",
"toolchainmanager.cpp", "toolchainmanager.h", "toolchainmanager.cpp", "toolchainmanager.h",
"toolchainoptionspage.cpp", "toolchainoptionspage.h", "toolchainoptionspage.cpp", "toolchainoptionspage.h",
"unconfiguredprojectpanel.cpp", "unconfiguredprojectpanel.h",
"vcsannotatetaskhandler.cpp", "vcsannotatetaskhandler.h", "vcsannotatetaskhandler.cpp", "vcsannotatetaskhandler.h",
] ]
} }
......
...@@ -246,6 +246,9 @@ const char VAR_CURRENTKIT_ID[] = "CurrentKit:Id"; ...@@ -246,6 +246,9 @@ const char VAR_CURRENTKIT_ID[] = "CurrentKit:Id";
const char VAR_CURRENTBUILD_NAME[] = "CurrentBuild:Name"; const char VAR_CURRENTBUILD_NAME[] = "CurrentBuild:Name";
const char VAR_CURRENTBUILD_TYPE[] = "CurrentBuild:Type"; const char VAR_CURRENTBUILD_TYPE[] = "CurrentBuild:Type";
// Unconfigured Panel
const char UNCONFIGURED_PANEL_PAGE_ID[] = "UnconfiguredPanel";
} // namespace Constants } // namespace Constants
// Run modes // Run modes
......
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.
**
** 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.
**
** GNU Lesser General Public License Usage
** 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
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
****************************************************************************/
#include "projectimporter.h"
#include "kit.h"
#include "kitmanager.h"
#include "project.h"
#include <coreplugin/idocument.h>
#include <utils/qtcassert.h>