From e3dd3521d4cbaa6821f5c70397d8ebd55cf1e27a Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 20 Jul 2023 16:11:30 +0200 Subject: [PATCH] BareMetal: Hide KeilToolChain definitions Not needed publicly. Change-Id: I40272a26a450a10ada8e5d579dd6a2b5bd3c259a Reviewed-by: Jarek Kobus --- src/plugins/baremetal/keiltoolchain.cpp | 70 +++++++++++++++++++++-- src/plugins/baremetal/keiltoolchain.h | 74 ------------------------- 2 files changed, 64 insertions(+), 80 deletions(-) diff --git a/src/plugins/baremetal/keiltoolchain.cpp b/src/plugins/baremetal/keiltoolchain.cpp index 3bb2423ab23..af681f89307 100644 --- a/src/plugins/baremetal/keiltoolchain.cpp +++ b/src/plugins/baremetal/keiltoolchain.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -402,13 +403,70 @@ static void addDefaultCpuArgs(const FilePath &compiler, QStringList &extraArgs) // KeilToolchain -KeilToolChain::KeilToolChain() : - ToolChain(Constants::KEIL_TOOLCHAIN_TYPEID) +class KeilToolChain; + +class KeilToolChainConfigWidget final : public ToolChainConfigWidget { - setTypeDisplayName(Tr::tr("KEIL")); - setTargetAbiKey("TargetAbi"); - setCompilerCommandKey("CompilerPath"); -} +public: + explicit KeilToolChainConfigWidget(KeilToolChain *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; +}; + +// KeilToolChain + +class KeilToolChain final : public ToolChain +{ +public: + KeilToolChain() : + ToolChain(Constants::KEIL_TOOLCHAIN_TYPEID) + { + setTypeDisplayName(Tr::tr("KEIL")); + setTargetAbiKey("TargetAbi"); + 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 createOutputParsers() const final; + + QVariantMap toMap() const final; + bool fromMap(const QVariantMap &data) final; + + std::unique_ptr 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 KeilToolChainFactory; + friend class KeilToolChainConfigWidget; +}; + ToolChain::MacroInspectionRunner KeilToolChain::createMacroInspectionRunner() const { diff --git a/src/plugins/baremetal/keiltoolchain.h b/src/plugins/baremetal/keiltoolchain.h index 77803b6cea1..6f897369095 100644 --- a/src/plugins/baremetal/keiltoolchain.h +++ b/src/plugins/baremetal/keiltoolchain.h @@ -3,61 +3,10 @@ #pragma once -#include #include -#include - -QT_BEGIN_NAMESPACE -class QLineEdit; -class QPlainTextEdit; -class QPushButton; -class QTextEdit; -QT_END_NAMESPACE - -namespace Utils { class PathChooser; } - -namespace ProjectExplorer { class AbiWidget; } namespace BareMetal::Internal { -// KeilToolChain - -class KeilToolChain 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 createOutputParsers() const final; - - QVariantMap toMap() const final; - bool fromMap(const QVariantMap &data) final; - - std::unique_ptr 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: - KeilToolChain(); - - QStringList m_extraCodeModelFlags; - - friend class KeilToolChainFactory; - friend class KeilToolChainConfigWidget; -}; - -// KeilToolchainFactory - class KeilToolChainFactory final : public ProjectExplorer::ToolChainFactory { public: @@ -73,27 +22,4 @@ private: const Candidate &candidate, Utils::Id language) const; }; -// KeilToolchainConfigWidget - -class KeilToolChainConfigWidget final : public ProjectExplorer::ToolChainConfigWidget -{ -public: - explicit KeilToolChainConfigWidget(KeilToolChain *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