From 5aa138bb6841ef043a779daa952a236484e89d50 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 15 Aug 2023 12:45:54 +0200 Subject: [PATCH] ProjectExplorer: Hide some KitAspectFactory implementations Change-Id: If84dd7aeb72e87d2cb35635689ad1c9c2e09a825 Reviewed-by: Jarek Kobus --- src/plugins/projectexplorer/kitaspects.cpp | 132 +++++++++++++++- src/plugins/projectexplorer/kitaspects.h | 148 +----------------- .../projectexplorer/projectexplorer.cpp | 7 - 3 files changed, 138 insertions(+), 149 deletions(-) diff --git a/src/plugins/projectexplorer/kitaspects.cpp b/src/plugins/projectexplorer/kitaspects.cpp index 9fa4abd502a..4175ebceb3c 100644 --- a/src/plugins/projectexplorer/kitaspects.cpp +++ b/src/plugins/projectexplorer/kitaspects.cpp @@ -87,6 +87,17 @@ private: }; } // namespace Internal +class SysRootKitAspectFactory : public KitAspectFactory +{ +public: + SysRootKitAspectFactory(); + + Tasks validate(const Kit *k) const override; + KitAspect *createKitAspect(Kit *k) const override; + ItemList toUserOutput(const Kit *k) const override; + void addToMacroExpander(Kit *kit, MacroExpander *expander) const override; +}; + SysRootKitAspectFactory::SysRootKitAspectFactory() { setObjectName(QLatin1String("SysRootInformation")); @@ -141,7 +152,7 @@ void SysRootKitAspectFactory::addToMacroExpander(Kit *kit, MacroExpander *expand }); } -Utils::Id SysRootKitAspect::id() +Id SysRootKitAspect::id() { return "PE.Profile.SysRoot"; } @@ -179,6 +190,8 @@ void SysRootKitAspect::setSysRoot(Kit *k, const FilePath &v) k->setValue(SysRootKitAspect::id(), v.toString()); } +const SysRootKitAspectFactory theSyRootKitAspectFactory; + // -------------------------------------------------------------------------- // ToolChainKitAspect: // -------------------------------------------------------------------------- @@ -312,6 +325,35 @@ private: }; } // namespace Internal +class ToolChainKitAspectFactory : public KitAspectFactory +{ +public: + ToolChainKitAspectFactory(); + + Tasks validate(const Kit *k) const override; + void upgrade(Kit *k) override; + void fix(Kit *k) override; + void setup(Kit *k) override; + + KitAspect *createKitAspect(Kit *k) const override; + + QString displayNamePostfix(const Kit *k) const override; + + ItemList toUserOutput(const Kit *k) const override; + + void addToBuildEnvironment(const Kit *k, Environment &env) const override; + void addToRunEnvironment(const Kit *, Environment &) const override {} + + void addToMacroExpander(Kit *kit, MacroExpander *expander) const override; + QList createOutputParsers(const Kit *k) const override; + QSet availableFeatures(const Kit *k) const override; + +private: + void kitsWereLoaded(); + void toolChainUpdated(ToolChain *tc); + void toolChainRemoved(ToolChain *tc); +}; + ToolChainKitAspectFactory::ToolChainKitAspectFactory() { setObjectName(QLatin1String("ToolChainInformation")); @@ -751,6 +793,8 @@ void ToolChainKitAspectFactory::toolChainRemoved(ToolChain *tc) fix(k); } +const ToolChainKitAspectFactory thsToolChainKitAspectFactory; + // -------------------------------------------------------------------------- // DeviceTypeKitAspect: // -------------------------------------------------------------------------- @@ -803,6 +847,20 @@ private: }; } // namespace Internal +class DeviceTypeKitAspectFactory : public KitAspectFactory +{ +public: + DeviceTypeKitAspectFactory(); + + void setup(Kit *k) override; + Tasks validate(const Kit *k) const override; + KitAspect *createKitAspect(Kit *k) const override; + ItemList toUserOutput(const Kit *k) const override; + + QSet supportedPlatforms(const Kit *k) const override; + QSet availableFeatures(const Kit *k) const override; +}; + DeviceTypeKitAspectFactory::DeviceTypeKitAspectFactory() { setObjectName(QLatin1String("DeviceTypeInformation")); @@ -950,6 +1008,32 @@ private: }; } // namespace Internal +class DeviceKitAspectFactory : public KitAspectFactory +{ +public: + DeviceKitAspectFactory(); + + Tasks validate(const Kit *k) const override; + void fix(Kit *k) override; + void setup(Kit *k) override; + + KitAspect *createKitAspect(Kit *k) const override; + + QString displayNamePostfix(const Kit *k) const override; + + ItemList toUserOutput(const Kit *k) const override; + + void addToMacroExpander(Kit *kit, MacroExpander *expander) const override; + +private: + QVariant defaultValue(const Kit *k) const; + + void kitsWereLoaded(); + void deviceUpdated(Id dataId); + void devicesChanged(); + void kitUpdated(Kit *k); +}; + DeviceKitAspectFactory::DeviceKitAspectFactory() { setObjectName(QLatin1String("DeviceInformation")); @@ -1134,6 +1218,9 @@ void DeviceKitAspectFactory::devicesChanged() setup(k); // Set default device if necessary } +const DeviceKitAspectFactory theDeviceKitAspectFactory; + + // -------------------------------------------------------------------------- // BuildDeviceKitAspect: // -------------------------------------------------------------------------- @@ -1218,6 +1305,29 @@ private: }; } // namespace Internal +class BuildDeviceKitAspectFactory : public KitAspectFactory +{ +public: + BuildDeviceKitAspectFactory(); + + void setup(Kit *k) override; + Tasks validate(const Kit *k) const override; + + KitAspect *createKitAspect(Kit *k) const override; + + QString displayNamePostfix(const Kit *k) const override; + + ItemList toUserOutput(const Kit *k) const override; + + void addToMacroExpander(Kit *kit, MacroExpander *expander) const override; + +private: + void kitsWereLoaded(); + void deviceUpdated(Id dataId); + void devicesChanged(); + void kitUpdated(Kit *k); +}; + BuildDeviceKitAspectFactory::BuildDeviceKitAspectFactory() { setObjectName("BuildDeviceInformation"); @@ -1376,6 +1486,8 @@ void BuildDeviceKitAspectFactory::devicesChanged() setup(k); // Set default device if necessary } +const BuildDeviceKitAspectFactory theBuildDeviceKitAspectFactory; + // -------------------------------------------------------------------------- // EnvironmentKitAspect: // -------------------------------------------------------------------------- @@ -1490,6 +1602,22 @@ private: }; } // namespace Internal +class EnvironmentKitAspectFactory : public KitAspectFactory +{ +public: + EnvironmentKitAspectFactory(); + + Tasks validate(const Kit *k) const override; + void fix(Kit *k) override; + + void addToBuildEnvironment(const Kit *k, Environment &env) const override; + void addToRunEnvironment(const Kit *, Environment &) const override; + + KitAspect *createKitAspect(Kit *k) const override; + + ItemList toUserOutput(const Kit *k) const override; +}; + EnvironmentKitAspectFactory::EnvironmentKitAspectFactory() { setObjectName(QLatin1String("EnvironmentKitAspect")); @@ -1565,4 +1693,6 @@ void EnvironmentKitAspect::setEnvironmentChanges(Kit *k, const EnvironmentItems k->setValue(EnvironmentKitAspect::id(), EnvironmentItem::toStringList(changes)); } +const EnvironmentKitAspectFactory theEnvironmentKitAspectFactory; + } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/kitaspects.h b/src/plugins/projectexplorer/kitaspects.h index 3acbcdf05ff..049116a21ee 100644 --- a/src/plugins/projectexplorer/kitaspects.h +++ b/src/plugins/projectexplorer/kitaspects.h @@ -10,17 +10,11 @@ #include -#include - namespace ProjectExplorer { -class OutputTaskParser; + class ToolChain; -class KitAspect; - -// -------------------------------------------------------------------------- -// SysRootInformation: -// -------------------------------------------------------------------------- +// SysRootKitAspect class PROJECTEXPLORER_EXPORT SysRootKitAspect { @@ -30,20 +24,7 @@ public: static void setSysRoot(Kit *k, const Utils::FilePath &v); }; -class PROJECTEXPLORER_EXPORT SysRootKitAspectFactory : public KitAspectFactory -{ -public: - SysRootKitAspectFactory(); - - Tasks validate(const Kit *k) const override; - KitAspect *createKitAspect(Kit *k) const override; - ItemList toUserOutput(const Kit *k) const override; - void addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const override; -}; - -// -------------------------------------------------------------------------- -// ToolChainInformation: -// -------------------------------------------------------------------------- +// ToolChainKitAspect class PROJECTEXPLORER_EXPORT ToolChainKitAspect { @@ -62,38 +43,7 @@ public: static QString msgNoToolChainInTarget(); }; -class PROJECTEXPLORER_EXPORT ToolChainKitAspectFactory : public KitAspectFactory -{ -public: - ToolChainKitAspectFactory(); - - Tasks validate(const Kit *k) const override; - void upgrade(Kit *k) override; - void fix(Kit *k) override; - void setup(Kit *k) override; - - KitAspect *createKitAspect(Kit *k) const override; - - QString displayNamePostfix(const Kit *k) const override; - - ItemList toUserOutput(const Kit *k) const override; - - void addToBuildEnvironment(const Kit *k, Utils::Environment &env) const override; - void addToRunEnvironment(const Kit *, Utils::Environment &) const override {} - - void addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const override; - QList createOutputParsers(const Kit *k) const override; - QSet availableFeatures(const Kit *k) const override; - -private: - void kitsWereLoaded(); - void toolChainUpdated(ProjectExplorer::ToolChain *tc); - void toolChainRemoved(ProjectExplorer::ToolChain *tc); -}; - -// -------------------------------------------------------------------------- -// DeviceTypeInformation: -// -------------------------------------------------------------------------- +// DeviceTypeKitAspect class PROJECTEXPLORER_EXPORT DeviceTypeKitAspect { @@ -103,23 +53,7 @@ public: static void setDeviceTypeId(Kit *k, Utils::Id type); }; -class PROJECTEXPLORER_EXPORT DeviceTypeKitAspectFactory : public KitAspectFactory -{ -public: - DeviceTypeKitAspectFactory(); - - void setup(Kit *k) override; - Tasks validate(const Kit *k) const override; - KitAspect *createKitAspect(Kit *k) const override; - ItemList toUserOutput(const Kit *k) const override; - - QSet supportedPlatforms(const Kit *k) const override; - QSet availableFeatures(const Kit *k) const override; -}; - -// -------------------------------------------------------------------------- -// DeviceInformation: -// -------------------------------------------------------------------------- +// DeviceKitAspect class PROJECTEXPLORER_EXPORT DeviceKitAspect { @@ -132,35 +66,8 @@ public: static Utils::FilePath deviceFilePath(const Kit *k, const QString &pathOnDevice); }; -class PROJECTEXPLORER_EXPORT DeviceKitAspectFactory : public KitAspectFactory -{ -public: - DeviceKitAspectFactory(); - Tasks validate(const Kit *k) const override; - void fix(Kit *k) override; - void setup(Kit *k) override; - - KitAspect *createKitAspect(Kit *k) const override; - - QString displayNamePostfix(const Kit *k) const override; - - ItemList toUserOutput(const Kit *k) const override; - - void addToMacroExpander(ProjectExplorer::Kit *kit, Utils::MacroExpander *expander) const override; - -private: - QVariant defaultValue(const Kit *k) const; - - void kitsWereLoaded(); - void deviceUpdated(Utils::Id dataId); - void devicesChanged(); - void kitUpdated(ProjectExplorer::Kit *k); -}; - -// -------------------------------------------------------------------------- -// BuildDeviceInformation: -// -------------------------------------------------------------------------- +// BuildDeviceKitAspect class PROJECTEXPLORER_EXPORT BuildDeviceKitAspect { @@ -172,32 +79,7 @@ public: static void setDeviceId(Kit *k, Utils::Id dataId); }; -class PROJECTEXPLORER_EXPORT BuildDeviceKitAspectFactory : public KitAspectFactory -{ -public: - BuildDeviceKitAspectFactory(); - - void setup(Kit *k) override; - Tasks validate(const Kit *k) const override; - - KitAspect *createKitAspect(Kit *k) const override; - - QString displayNamePostfix(const Kit *k) const override; - - ItemList toUserOutput(const Kit *k) const override; - - void addToMacroExpander(ProjectExplorer::Kit *kit, Utils::MacroExpander *expander) const override; - -private: - void kitsWereLoaded(); - void deviceUpdated(Utils::Id dataId); - void devicesChanged(); - void kitUpdated(ProjectExplorer::Kit *k); -}; - -// -------------------------------------------------------------------------- -// EnvironmentKitAspect: -// -------------------------------------------------------------------------- +// EnvironmentKitAspect class PROJECTEXPLORER_EXPORT EnvironmentKitAspect { @@ -207,20 +89,4 @@ public: static void setEnvironmentChanges(Kit *k, const Utils::EnvironmentItems &changes); }; -class PROJECTEXPLORER_EXPORT EnvironmentKitAspectFactory : public KitAspectFactory -{ -public: - EnvironmentKitAspectFactory(); - - Tasks validate(const Kit *k) const override; - void fix(Kit *k) override; - - void addToBuildEnvironment(const Kit *k, Utils::Environment &env) const override; - void addToRunEnvironment(const Kit *, Utils::Environment &) const override; - - KitAspect *createKitAspect(Kit *k) const override; - - ItemList toUserOutput(const Kit *k) const override; -}; - } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index e7d990a568e..62c05eaceac 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -677,13 +677,6 @@ public: IDocumentFactory m_taskFileFactory; StopMonitoringHandler closeTaskFile; - DeviceTypeKitAspectFactory deviceTypeKitAspectFactory; - DeviceKitAspectFactory deviceKitAspectFactory; - BuildDeviceKitAspectFactory buildDeviceKitAspectFactory; - ToolChainKitAspectFactory toolChainKitAspectFactory; - SysRootKitAspectFactory sysRootKitAspectFactory; - EnvironmentKitAspectFactory environmentKitAspectFactory; - DesktopQmakeRunConfigurationFactory qmakeRunConfigFactory; QbsRunConfigurationFactory qbsRunConfigFactory; CMakeRunConfigurationFactory cmakeRunConfigFactory;