BareMetal: Hide IarToolChain definitions

Not needed publicly.

Change-Id: Id8250f32c64dbb53434082ae1d885b47f8a8d666
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2023-07-20 16:06:53 +02:00
parent 7cc6078756
commit 048cd9d143
2 changed files with 62 additions and 84 deletions

View File

@@ -10,6 +10,7 @@
#include <projectexplorer/abiwidget.h> #include <projectexplorer/abiwidget.h>
#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/projectmacro.h> #include <projectexplorer/projectmacro.h>
#include <projectexplorer/toolchainconfigwidget.h>
#include <projectexplorer/toolchainmanager.h> #include <projectexplorer/toolchainmanager.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
@@ -262,15 +263,70 @@ static QString buildDisplayName(Abi::Architecture arch, Utils::Id language,
return Tr::tr("IAREW %1 (%2, %3)").arg(version, langName, archName); return Tr::tr("IAREW %1 (%2, %3)").arg(version, langName, archName);
} }
// IarToolChainConfigWidget
class IarToolChain;
class IarToolChainConfigWidget final : public ToolChainConfigWidget
{
public:
explicit IarToolChainConfigWidget(IarToolChain *tc);
private:
void applyImpl() final;
void discardImpl() final { setFromToolchain(); }
bool isDirtyImpl() const final;
void makeReadOnlyImpl() final;
void setFromToolchain();
void handleCompilerCommandChange();
void handlePlatformCodeGenFlagsChange();
PathChooser *m_compilerCommand = nullptr;
AbiWidget *m_abiWidget = nullptr;
QLineEdit *m_platformCodeGenFlagsLineEdit = nullptr;
Macros m_macros;
};
// IarToolChain // IarToolChain
IarToolChain::IarToolChain() : class IarToolChain final : public ToolChain
ToolChain(Constants::IAREW_TOOLCHAIN_TYPEID)
{ {
public:
IarToolChain() : ToolChain(Constants::IAREW_TOOLCHAIN_TYPEID)
{
setTypeDisplayName(Tr::tr("IAREW")); setTypeDisplayName(Tr::tr("IAREW"));
setTargetAbiKey("TargetAbi"); setTargetAbiKey("TargetAbi");
setCompilerCommandKey("CompilerPath"); setCompilerCommandKey("CompilerPath");
} }
MacroInspectionRunner createMacroInspectionRunner() const final;
LanguageExtensions languageExtensions(const QStringList &cxxflags) const final;
WarningFlags warningFlags(const QStringList &cxxflags) const final;
BuiltInHeaderPathsRunner createBuiltInHeaderPathsRunner(const Environment &) const final;
void addToEnvironment(Environment &env) const final;
QList<OutputLineParser *> createOutputParsers() const final;
QVariantMap toMap() const final;
bool fromMap(const QVariantMap &data) final;
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() final;
bool operator==(const ToolChain &other) const final;
void setExtraCodeModelFlags(const QStringList &flags);
QStringList extraCodeModelFlags() const final;
FilePath makeCommand(const Environment &env) const final;
private:
QStringList m_extraCodeModelFlags;
friend class IarToolChainFactory;
friend class IarToolChainConfigWidget;
};
ToolChain::MacroInspectionRunner IarToolChain::createMacroInspectionRunner() const ToolChain::MacroInspectionRunner IarToolChain::createMacroInspectionRunner() const
{ {

View File

@@ -3,63 +3,10 @@
#pragma once #pragma once
#include <projectexplorer/abi.h>
#include <projectexplorer/toolchain.h> #include <projectexplorer/toolchain.h>
#include <projectexplorer/toolchainconfigwidget.h>
QT_BEGIN_NAMESPACE
class QLineEdit;
class QPlainTextEdit;
class QPushButton;
class QTextEdit;
QT_END_NAMESPACE
namespace Utils {
class FilePath;
class PathChooser;
}
namespace ProjectExplorer { class AbiWidget; }
namespace BareMetal::Internal { namespace BareMetal::Internal {
// IarToolChain
class IarToolChain final : public ProjectExplorer::ToolChain
{
public:
MacroInspectionRunner createMacroInspectionRunner() const final;
Utils::LanguageExtensions languageExtensions(const QStringList &cxxflags) const final;
Utils::WarningFlags warningFlags(const QStringList &cxxflags) const final;
BuiltInHeaderPathsRunner createBuiltInHeaderPathsRunner(const Utils::Environment &) const final;
void addToEnvironment(Utils::Environment &env) const final;
QList<Utils::OutputLineParser *> createOutputParsers() const final;
QVariantMap toMap() const final;
bool fromMap(const QVariantMap &data) final;
std::unique_ptr<ProjectExplorer::ToolChainConfigWidget> createConfigurationWidget() final;
bool operator ==(const ToolChain &other) const final;
void setExtraCodeModelFlags(const QStringList &flags);
QStringList extraCodeModelFlags() const final;
Utils::FilePath makeCommand(const Utils::Environment &env) const final;
private:
IarToolChain();
QStringList m_extraCodeModelFlags;
friend class IarToolChainFactory;
friend class IarToolChainConfigWidget;
};
// IarToolChainFactory
class IarToolChainFactory final : public ProjectExplorer::ToolChainFactory class IarToolChainFactory final : public ProjectExplorer::ToolChainFactory
{ {
public: public:
@@ -77,29 +24,4 @@ private:
const Candidate &candidate, Utils::Id languageId) const; const Candidate &candidate, Utils::Id languageId) const;
}; };
// IarToolChainConfigWidget
class IarToolChainConfigWidget final : public ProjectExplorer::ToolChainConfigWidget
{
Q_OBJECT
public:
explicit IarToolChainConfigWidget(IarToolChain *tc);
private:
void applyImpl() final;
void discardImpl() final { setFromToolchain(); }
bool isDirtyImpl() const final;
void makeReadOnlyImpl() final;
void setFromToolchain();
void handleCompilerCommandChange();
void handlePlatformCodeGenFlagsChange();
Utils::PathChooser *m_compilerCommand = nullptr;
ProjectExplorer::AbiWidget *m_abiWidget = nullptr;
QLineEdit *m_platformCodeGenFlagsLineEdit = nullptr;
ProjectExplorer::Macros m_macros;
};
} // BareMetal::Internal } // BareMetal::Internal