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

@@ -402,45 +402,47 @@ QMakeStepFactory::~QMakeStepFactory()
{
}
bool QMakeStepFactory::canCreate(BuildConfiguration *parent, const QString &id) const
bool QMakeStepFactory::canCreate(BuildConfiguration *parent, ProjectExplorer::StepType type, const QString &id) const
{
if (type != ProjectExplorer::Build)
return false;
if (!qobject_cast<Qt4BuildConfiguration *>(parent))
return false;
return (id == QLatin1String(QMAKE_BS_ID));
}
ProjectExplorer::BuildStep *QMakeStepFactory::create(BuildConfiguration *parent, const QString &id)
ProjectExplorer::BuildStep *QMakeStepFactory::create(BuildConfiguration *parent, ProjectExplorer::StepType type,const QString &id)
{
if (!canCreate(parent, id))
if (!canCreate(parent, type, id))
return 0;
Qt4BuildConfiguration *bc(qobject_cast<Qt4BuildConfiguration *>(parent));
Q_ASSERT(bc);
return new QMakeStep(bc);
}
bool QMakeStepFactory::canClone(BuildConfiguration *parent, BuildStep *source) const
bool QMakeStepFactory::canClone(BuildConfiguration *parent, ProjectExplorer::StepType type, BuildStep *source) const
{
return canCreate(parent, source->id());
return canCreate(parent, type, source->id());
}
ProjectExplorer::BuildStep *QMakeStepFactory::clone(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::BuildStep *source)
ProjectExplorer::BuildStep *QMakeStepFactory::clone(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type, ProjectExplorer::BuildStep *source)
{
if (!canClone(parent, source))
if (!canClone(parent, type, source))
return 0;
Qt4BuildConfiguration *bc(qobject_cast<Qt4BuildConfiguration *>(parent));
Q_ASSERT(bc);
return new QMakeStep(bc, qobject_cast<QMakeStep *>(source));
}
bool QMakeStepFactory::canRestore(ProjectExplorer::BuildConfiguration *parent, const QVariantMap &map) const
bool QMakeStepFactory::canRestore(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type, const QVariantMap &map) const
{
QString id(ProjectExplorer::idFromMap(map));
return canCreate(parent, id);
return canCreate(parent, type, id);
}
ProjectExplorer::BuildStep *QMakeStepFactory::restore(ProjectExplorer::BuildConfiguration *parent, const QVariantMap &map)
ProjectExplorer::BuildStep *QMakeStepFactory::restore(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type, const QVariantMap &map)
{
if (!canRestore(parent, map))
if (!canRestore(parent, type, map))
return 0;
Qt4BuildConfiguration *bc(qobject_cast<Qt4BuildConfiguration *>(parent));
Q_ASSERT(bc);
@@ -451,11 +453,12 @@ ProjectExplorer::BuildStep *QMakeStepFactory::restore(ProjectExplorer::BuildConf
return 0;
}
QStringList QMakeStepFactory::availableCreationIds(ProjectExplorer::BuildConfiguration *parent) const
QStringList QMakeStepFactory::availableCreationIds(ProjectExplorer::BuildConfiguration *parent, ProjectExplorer::StepType type) const
{
if (Qt4BuildConfiguration *bc = qobject_cast<Qt4BuildConfiguration *>(parent))
if (!bc->qmakeStep())
return QStringList() << QLatin1String(QMAKE_BS_ID);
if (type == Build)
if (Qt4BuildConfiguration *bc = qobject_cast<Qt4BuildConfiguration *>(parent))
if (!bc->qmakeStep())
return QStringList() << QLatin1String(QMAKE_BS_ID);
return QStringList();
}