Use a type enum instead of duplicating functions between build and clean

That is e.g. buildSteps() and cleanSteps() --> steps(type)
This commit is contained in:
dt
2010-03-16 14:36:59 +01:00
parent 10c3240e40
commit 0d4fdd291a
25 changed files with 212 additions and 206 deletions

View File

@@ -213,10 +213,10 @@ CMakeBuildConfiguration *CMakeBuildConfigurationFactory::create(ProjectExplorer:
bc->setDisplayName(buildConfigurationName);
MakeStep *makeStep = new MakeStep(bc);
bc->insertBuildStep(0, makeStep);
bc->insertStep(ProjectExplorer::Build, 0, makeStep);
MakeStep *cleanMakeStep = new MakeStep(bc);
bc->insertCleanStep(0, cleanMakeStep);
bc->insertStep(ProjectExplorer::Clean, 0, cleanMakeStep);
cleanMakeStep->setAdditionalArguments(QStringList() << "clean");
cleanMakeStep->setClean(true);

View File

@@ -523,7 +523,8 @@ bool CMakeProject::fromMap(const QVariantMap &map)
return false;
if (!hasUserFile && hasBuildTarget("all")) {
MakeStep *makeStep(qobject_cast<MakeStep *>(activeTarget()->activeBuildConfiguration()->buildSteps().at(0)));
MakeStep *makeStep = qobject_cast<MakeStep *>(
activeTarget()->activeBuildConfiguration()->steps(ProjectExplorer::Build).at(0));
Q_ASSERT(makeStep);
makeStep->setBuildTarget("all", true);
}

View File

@@ -32,6 +32,7 @@
#include "cmakeopenprojectwizard.h"
#include "cmakeproject.h"
#include "cmakerunconfiguration.h"
#include "cmakebuildconfiguration.h"
#include <QtGui/QApplication>
#include <QtGui/QStyle>
@@ -168,10 +169,10 @@ CMakeTarget *CMakeTargetFactory::create(ProjectExplorer::Project *parent, const
bc->setDisplayName("all");
// Now create a standard build configuration
bc->insertBuildStep(0, new MakeStep(bc));
bc->insertStep(ProjectExplorer::Build, 0, new MakeStep(bc));
MakeStep *cleanMakeStep = new MakeStep(bc);
bc->insertCleanStep(0, cleanMakeStep);
bc->insertStep(ProjectExplorer::Clean, 0, cleanMakeStep);
cleanMakeStep->setAdditionalArguments(QStringList() << "clean");
cleanMakeStep->setClean(true);

View File

@@ -317,41 +317,42 @@ MakeStepFactory::~MakeStepFactory()
{
}
bool MakeStepFactory::canCreate(BuildConfiguration *parent, const QString &id) const
bool MakeStepFactory::canCreate(BuildConfiguration *parent, ProjectExplorer::StepType type, const QString &id) const
{
Q_UNUSED(type)
if (!qobject_cast<CMakeBuildConfiguration *>(parent))
return false;
return QLatin1String(MS_ID) == id;
}
BuildStep *MakeStepFactory::create(BuildConfiguration *parent, const QString &id)
BuildStep *MakeStepFactory::create(BuildConfiguration *parent, ProjectExplorer::StepType type, const QString &id)
{
if (!canCreate(parent, id))
if (!canCreate(parent, type, id))
return 0;
return new MakeStep(parent);
}
bool MakeStepFactory::canClone(BuildConfiguration *parent, BuildStep *source) const
bool MakeStepFactory::canClone(BuildConfiguration *parent, ProjectExplorer::StepType type, BuildStep *source) const
{
return canCreate(parent, source->id());
return canCreate(parent, type, source->id());
}
BuildStep *MakeStepFactory::clone(BuildConfiguration *parent, BuildStep *source)
BuildStep *MakeStepFactory::clone(BuildConfiguration *parent, ProjectExplorer::StepType type, BuildStep *source)
{
if (!canClone(parent, source))
if (!canClone(parent, type, source))
return 0;
return new MakeStep(parent, static_cast<MakeStep *>(source));
}
bool MakeStepFactory::canRestore(BuildConfiguration *parent, const QVariantMap &map) const
bool MakeStepFactory::canRestore(BuildConfiguration *parent, ProjectExplorer::StepType type, const QVariantMap &map) const
{
QString id(ProjectExplorer::idFromMap(map));
return canCreate(parent, id);
return canCreate(parent, type, id);
}
BuildStep *MakeStepFactory::restore(BuildConfiguration *parent, const QVariantMap &map)
BuildStep *MakeStepFactory::restore(BuildConfiguration *parent, ProjectExplorer::StepType type, const QVariantMap &map)
{
if (!canRestore(parent, map))
if (!canRestore(parent, type, map))
return 0;
MakeStep *bs(new MakeStep(parent));
if (bs->fromMap(map))
@@ -360,8 +361,9 @@ BuildStep *MakeStepFactory::restore(BuildConfiguration *parent, const QVariantMa
return 0;
}
QStringList MakeStepFactory::availableCreationIds(ProjectExplorer::BuildConfiguration *parent) const
QStringList MakeStepFactory::availableCreationIds(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type) const
{
Q_UNUSED(type)
if (!qobject_cast<CMakeBuildConfiguration *>(parent))
return QStringList();
return QStringList() << QLatin1String(MS_ID);

View File

@@ -119,14 +119,14 @@ public:
explicit MakeStepFactory(QObject *parent = 0);
virtual ~MakeStepFactory();
virtual bool canCreate(ProjectExplorer::BuildConfiguration *parent, const QString &id) const;
virtual ProjectExplorer::BuildStep *create(ProjectExplorer::BuildConfiguration *parent, const QString &id);
virtual bool canClone(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::BuildStep *source) const;
virtual ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::BuildStep *source);
virtual bool canRestore(ProjectExplorer::BuildConfiguration *parent, const QVariantMap &map) const;
virtual ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildConfiguration *parent, const QVariantMap &map);
virtual bool canCreate(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type, const QString &id) const;
virtual ProjectExplorer::BuildStep *create(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type, const QString &id);
virtual bool canClone(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type, ProjectExplorer::BuildStep *source) const;
virtual ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type, ProjectExplorer::BuildStep *source);
virtual bool canRestore(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type, const QVariantMap &map) const;
virtual ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type, const QVariantMap &map);
virtual QStringList availableCreationIds(ProjectExplorer::BuildConfiguration *bc) const;
virtual QStringList availableCreationIds(ProjectExplorer::BuildConfiguration *bc, ProjectExplorer::StepType type) const;
virtual QString displayNameForId(const QString &id) const;
};