diff options
author | hjk <hjk121@nokiamail.com> | 2013-07-30 14:08:01 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2013-08-01 10:33:01 +0200 |
commit | 3de45d8c552e642bba7523b634953175c6acc947 (patch) | |
tree | 831bb0d690c286b140201ada1a12c13bdd3d8ab5 /src/plugins/analyzerbase/analyzerruncontrol.cpp | |
parent | 1fb755bb42c4a323716c9d6351e502609d1d993c (diff) | |
download | qt-creator-3de45d8c552e642bba7523b634953175c6acc947.tar.gz |
Analyzer: Merge IAnalyzerEngine and AnalyzerRunControl
Change-Id: I74edaef59600a44924d2692c1ebc7f98d8581115
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
Diffstat (limited to 'src/plugins/analyzerbase/analyzerruncontrol.cpp')
-rw-r--r-- | src/plugins/analyzerbase/analyzerruncontrol.cpp | 122 |
1 files changed, 23 insertions, 99 deletions
diff --git a/src/plugins/analyzerbase/analyzerruncontrol.cpp b/src/plugins/analyzerbase/analyzerruncontrol.cpp index f7197126a7..8a4c2b50bf 100644 --- a/src/plugins/analyzerbase/analyzerruncontrol.cpp +++ b/src/plugins/analyzerbase/analyzerruncontrol.cpp @@ -29,14 +29,10 @@ ****************************************************************************/ #include "analyzerruncontrol.h" -#include "ianalyzerengine.h" #include "ianalyzertool.h" #include "analyzermanager.h" #include "analyzerstartparameters.h" -#include <projectexplorer/projectexplorer.h> -#include <projectexplorer/taskhub.h> - #include <QDebug> #include <QAction> @@ -44,117 +40,64 @@ using namespace ProjectExplorer; ////////////////////////////////////////////////////////////////////////// // -// AnalyzerRunControl::Private +// AnalyzerRunControl // ////////////////////////////////////////////////////////////////////////// namespace Analyzer { -class AnalyzerRunControl::Private +AnalyzerRunControl::AnalyzerRunControl(const AnalyzerStartParameters &sp, + ProjectExplorer::RunConfiguration *runConfiguration) + : RunControl(runConfiguration, sp.runMode) { -public: - Private(); - - bool m_isRunning; - IAnalyzerEngine *m_engine; -}; - -AnalyzerRunControl::Private::Private() - : m_isRunning(false), m_engine(0) -{} - - -////////////////////////////////////////////////////////////////////////// -// -// AnalyzerRunControl -// -////////////////////////////////////////////////////////////////////////// - -AnalyzerRunControl::AnalyzerRunControl(IAnalyzerTool *tool, - const AnalyzerStartParameters &sp, RunConfiguration *runConfiguration) - : RunControl(runConfiguration, tool->runMode()), - d(new Private) -{ - d->m_engine = tool->createEngine(sp, runConfiguration); - - if (!d->m_engine) - return; - - connect(d->m_engine, SIGNAL(outputReceived(QString,Utils::OutputFormat)), - SLOT(receiveOutput(QString,Utils::OutputFormat))); - connect(d->m_engine, SIGNAL(taskToBeAdded(ProjectExplorer::Task::TaskType,QString,QString,int)), - SLOT(addTask(ProjectExplorer::Task::TaskType,QString,QString,int))); - connect(d->m_engine, SIGNAL(finished()), - SLOT(engineFinished())); + m_runConfig = runConfiguration; + m_sp = sp; + connect(this, SIGNAL(finished()), SLOT(runControlFinished())); connect(AnalyzerManager::stopAction(), SIGNAL(triggered()), SLOT(stopIt())); } -AnalyzerRunControl::~AnalyzerRunControl() +void AnalyzerRunControl::stopIt() { - if (d->m_isRunning) - stop(); + if (stop() == RunControl::StoppedSynchronously) + AnalyzerManager::handleToolFinished(); +} - delete d->m_engine; - d->m_engine = 0; - delete d; +void AnalyzerRunControl::runControlFinished() +{ + m_isRunning = false; + AnalyzerManager::handleToolFinished(); + emit finished(); } void AnalyzerRunControl::start() { - if (!d->m_engine) { - emit finished(); - return; - } - AnalyzerManager::handleToolStarted(); - // Clear about-to-be-outdated tasks. - ProjectExplorerPlugin::instance()->taskHub() - ->clearTasks(Core::Id(Constants::ANALYZERTASK_ID)); - - if (d->m_engine->start()) { - d->m_isRunning = true; + if (startEngine()) { + m_isRunning = true; emit started(); } } RunControl::StopResult AnalyzerRunControl::stop() { - if (!d->m_engine || !d->m_isRunning) + if (!m_isRunning) return StoppedSynchronously; - d->m_engine->stop(); - d->m_isRunning = false; + stopEngine(); + m_isRunning = false; return AsynchronousStop; } -void AnalyzerRunControl::stopIt() -{ - if (stop() == RunControl::StoppedSynchronously) - AnalyzerManager::handleToolFinished(); -} - -void AnalyzerRunControl::engineFinished() -{ - d->m_isRunning = false; - AnalyzerManager::handleToolFinished(); - emit finished(); -} - bool AnalyzerRunControl::isRunning() const { - return d->m_isRunning; + return m_isRunning; } QString AnalyzerRunControl::displayName() const { - if (!d->m_engine) - return QString(); - if (d->m_engine->runConfiguration()) - return d->m_engine->runConfiguration()->displayName(); - else - return d->m_engine->startParameters().displayName; + return m_runConfig ? m_runConfig->displayName() : m_sp.displayName; } QIcon AnalyzerRunControl::icon() const @@ -162,23 +105,4 @@ QIcon AnalyzerRunControl::icon() const return QIcon(QLatin1String(":/images/analyzer_start_small.png")); } -IAnalyzerEngine *AnalyzerRunControl::engine() const -{ - return d->m_engine; -} - -void AnalyzerRunControl::receiveOutput(const QString &text, Utils::OutputFormat format) -{ - appendMessage(text, format); -} - -void AnalyzerRunControl::addTask(Task::TaskType type, const QString &description, - const QString &file, int line) -{ - TaskHub *hub = ProjectExplorerPlugin::instance()->taskHub(); - hub->addTask(Task(type, description, Utils::FileName::fromUserInput(file), line, - Core::Id(Constants::ANALYZERTASK_ID))); - hub->requestPopup(); -} - } // namespace Analyzer |