Pass id to RunConfiguration constructor

It's what the base class requires, and opens the possibility to
have several factories creating the same type of run configuration.

Also move ios, winrt and android factories closer to their products,
it's the predominant pattern nowadays.

Change-Id: Iad48152f02a248d22cb18dd435a2fc34d73c7077
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2018-04-25 10:26:08 +02:00
parent 4146a98599
commit 366be94ad9
49 changed files with 124 additions and 353 deletions

View File

@@ -35,9 +35,12 @@
#include <projectexplorer/buildstep.h>
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/runconfigurationaspects.h>
#include <qmakeprojectmanager/qmakebuildconfiguration.h>
#include <qmakeprojectmanager/qmakeproject.h>
#include <qmakeprojectmanager/qmakenodes.h>
#include <qmakeprojectmanager/qmakeproject.h>
#include <qmakeprojectmanager/qmakeprojectmanagerconstants.h>
#include <qtsupport/qtoutputformatter.h>
#include <qtsupport/qtkitinformation.h>
@@ -93,8 +96,8 @@ private:
QComboBox *m_deviceTypeComboBox;
};
IosRunConfiguration::IosRunConfiguration(Target *target)
: RunConfiguration(target, Constants::IOS_RC_ID_PREFIX)
IosRunConfiguration::IosRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
addExtraAspect(new ArgumentsAspect(this, "Ios.run_arguments"));
setOutputFormatter<QtSupport::QtOutputFormatter>();
@@ -419,5 +422,16 @@ void IosRunConfigurationWidget::updateValues()
m_executableLineEdit->setText(m_runConfiguration->localExecutable().toUserOutput());
}
// IosRunConfigurationFactory
IosRunConfigurationFactory::IosRunConfigurationFactory()
{
registerRunConfiguration<IosRunConfiguration>("Qt4ProjectManager.IosRunConfiguration:");
addSupportedTargetDeviceType(Constants::IOS_DEVICE_TYPE);
addSupportedTargetDeviceType(Constants::IOS_SIMULATOR_TYPE);
addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID);
}
} // namespace Internal
} // namespace Ios