Files
qt-creator/src/plugins/autotest/autotestplugin.h

60 lines
1.5 KiB
C
Raw Normal View History

// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
2014-10-07 12:30:54 +02:00
#pragma once
2014-10-07 12:30:54 +02:00
#include "autotest_global.h"
#include <extensionsystem/iplugin.h>
#include <utils/filepath.h>
namespace ProjectExplorer {
class Project;
class RunConfiguration;
}
2014-10-07 12:30:54 +02:00
namespace Autotest {
namespace Internal {
class TestProjectSettings;
struct TestSettings;
struct ChoicePair
{
explicit ChoicePair(const QString &name = {}, const Utils::FilePath &exe = {})
: displayName(name), executable(exe) {}
bool matches(const ProjectExplorer::RunConfiguration *rc) const;
QString displayName;
Utils::FilePath executable;
};
2014-10-07 12:30:54 +02:00
class AutotestPlugin : public ExtensionSystem::IPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "AutoTest.json")
public:
AutotestPlugin();
~AutotestPlugin() override;
2014-10-07 12:30:54 +02:00
void initialize() override;
void extensionsInitialized() override;
ShutdownFlag aboutToShutdown() override;
static TestSettings *settings();
static TestProjectSettings *projectSettings(ProjectExplorer::Project *project);
static void updateMenuItemsEnabledState();
static void cacheRunConfigChoice(const QString &buildTargetKey, const ChoicePair &choice);
static ChoicePair cachedChoiceFor(const QString &buildTargetKey);
static void clearChoiceCache();
static void popupResultsPane();
2014-10-07 12:30:54 +02:00
private:
QVector<QObject *> createTestObjects() const override;
2014-10-07 12:30:54 +02:00
};
} // namespace Internal
} // namespace Autotest