RunConfigurationAspects: Move method to create config widget

Move the method used to create a config widget for a
RunConfigurationAspect from the RunControlFactory into the aspect
itself. This allows for aspects that are not bound to any factory,
which is what I eventually want to use to hold the environment for
run configurations.

Change-Id: Icceb5f44ca9eb63a87b9c7bb6468ff30dab943c2
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Tobias Hunger
2013-03-27 17:17:24 +01:00
parent 533644290f
commit fd1f284892
15 changed files with 177 additions and 184 deletions

View File

@@ -91,12 +91,10 @@ QString AnalyzerRunConfigWidget::displayName() const
return tr("Analyzer Settings");
}
void AnalyzerRunConfigWidget::setRunConfiguration(ProjectExplorer::RunConfiguration *rc)
void AnalyzerRunConfigWidget::setRunConfigurationAspect(AnalyzerRunConfigurationAspect *aspect)
{
QTC_ASSERT(rc, return);
m_aspect = rc->extraAspect<AnalyzerRunConfigurationAspect>();
QTC_ASSERT(m_aspect, return);
QTC_ASSERT(aspect, return);
m_aspect = aspect;
// add config widget for each sub config
foreach (AbstractAnalyzerSubConfig *config, m_aspect->customSubConfigs()) {

View File

@@ -68,7 +68,7 @@ public:
virtual QString displayName() const;
void setRunConfiguration(ProjectExplorer::RunConfiguration *rc);
void setRunConfigurationAspect(AnalyzerRunConfigurationAspect *aspect);
private:
void setDetailEnabled(bool value);

View File

@@ -30,7 +30,6 @@
#include "analyzerruncontrolfactory.h"
#include "analyzersettings.h"
#include "analyzerruncontrol.h"
#include "analyzerrunconfigwidget.h"
#include "analyzermanager.h"
#include "ianalyzertool.h"
#include "analyzerstartparameters.h"
@@ -87,12 +86,5 @@ IRunConfigurationAspect *AnalyzerRunControlFactory::createRunConfigurationAspect
return new AnalyzerRunConfigurationAspect;
}
RunConfigWidget *AnalyzerRunControlFactory::createConfigurationWidget(RunConfiguration *runConfiguration)
{
AnalyzerRunConfigWidget *ret = new AnalyzerRunConfigWidget;
ret->setRunConfiguration(runConfiguration);
return ret;
}
} // namespace Internal
} // namespace Analyzer

View File

@@ -50,8 +50,6 @@ public:
ProjectExplorer::RunMode mode,
QString *errorMessage);
ProjectExplorer::IRunConfigurationAspect *createRunConfigurationAspect(ProjectExplorer::RunConfiguration *rc);
ProjectExplorer::RunConfigWidget *createConfigurationWidget(ProjectExplorer::RunConfiguration *runConfiguration);
};
} // namespace Internal

View File

@@ -31,6 +31,7 @@
#include "analyzersettings.h"
#include "analyzermanager.h"
#include "analyzerrunconfigwidget.h"
#include "ianalyzertool.h"
#include "analyzerplugin.h"
#include "analyzeroptionspage.h"
@@ -228,4 +229,11 @@ void AnalyzerRunConfigurationAspect::resetCustomToGlobalSettings()
AnalyzerSettings::fromMap(gs->toMap(), &m_customConfigurations);
}
ProjectExplorer::RunConfigWidget *AnalyzerRunConfigurationAspect::createConfigurationWidget()
{
AnalyzerRunConfigWidget *ret = new AnalyzerRunConfigWidget;
ret->setRunConfigurationAspect(this);
return ret;
}
} // namespace Analyzer

View File

@@ -177,6 +177,7 @@ public:
void resetCustomToGlobalSettings();
QList<AbstractAnalyzerSubConfig *> customSubConfigs() const { return m_customConfigurations; }
ProjectExplorer::RunConfigWidget *createConfigurationWidget();
protected:
virtual void fromMap(const QVariantMap &map);