summaryrefslogtreecommitdiff
path: root/src/plugins/analyzerbase/analyzerruncontrol.cpp
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2013-07-30 14:08:01 +0200
committerhjk <hjk121@nokiamail.com>2013-08-01 10:33:01 +0200
commit3de45d8c552e642bba7523b634953175c6acc947 (patch)
tree831bb0d690c286b140201ada1a12c13bdd3d8ab5 /src/plugins/analyzerbase/analyzerruncontrol.cpp
parent1fb755bb42c4a323716c9d6351e502609d1d993c (diff)
downloadqt-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.cpp122
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