/************************************************************************** ** ** This file is part of Qt Creator Instrumentation Tools ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** ** Author: Milian Wolff, KDAB (milian.wolff@kdab.com) ** ** Contact: http://www.qt-project.org/legal ** ** $QT_BEGIN_LICENSE:LGPL$ ** 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. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** ** ** $QT_END_LICENSE$ ** **************************************************************************/ #include "gammarayruncontrolfactory.h" #include "gammarayconstants.h" #include #include #include #include #include #include #include using namespace Gammaray; using namespace ProjectExplorer; using namespace Analyzer; GammarayRunControlFactory::GammarayRunControlFactory(QObject *parent) : IRunControlFactory(parent) { setObjectName(QLatin1String("GammarayRuncontrolFactory")); } QString GammarayRunControlFactory::displayName() const { return tr("Gammaray"); } bool GammarayRunControlFactory::canRun(RunConfiguration *runConfiguration, const QString &mode) const { return mode == Constants::RUNMODE && dynamic_cast(runConfiguration); } RunControl *GammarayRunControlFactory::create(RunConfiguration *runConfiguration, const QString &mode) { QTC_ASSERT(canRun(runConfiguration, mode), return 0); AnalyzerStartParameters sp; sp.toolId = Constants::TOOLID; sp.startMode = StartLocal; LocalApplicationRunConfiguration *rc = dynamic_cast(runConfiguration); sp.environment = rc->environment(); sp.workingDirectory = rc->workingDirectory(); sp.debuggee = rc->executable(); sp.debuggeeArgs = rc->commandLineArguments(); sp.displayName = rc->displayName(); IAnalyzerTool *tool = AnalyzerManager::toolFromId(Constants::TOOLID); AnalyzerRunControl *ret = new AnalyzerRunControl(tool, sp, runConfiguration); /// TODO // QObject::connect(AnalyzerManager::stopAction(), SIGNAL(triggered()), rc, SLOT(stopIt())); return ret; } RunConfigWidget * GammarayRunControlFactory::createConfigurationWidget(RunConfiguration *runConfiguration) { AnalyzerProjectSettings *settings = runConfiguration->extraAspect(); if (!settings) { return 0; } AnalyzerRunConfigWidget *ret = new Analyzer::AnalyzerRunConfigWidget; ret->setRunConfiguration(runConfiguration); return ret; } IRunConfigurationAspect *GammarayRunControlFactory::createRunConfigurationAspect() { return new AnalyzerProjectSettings; }