From bba7304056c63dffadf1b0e097e63b56848c9995 Mon Sep 17 00:00:00 2001 From: Matthias Puchner <github@mpuchner.de> Date: Mon, 19 Apr 2021 10:49:45 +0200 Subject: [PATCH] rm Translators (which translate GUI<->domain). They are not used any longer. Obsolete because of removing GUI <-> domain translations in the last commits --- GUI/coregui/Models/BeamDistributionItem.cpp | 3 - GUI/coregui/Models/BeamItems.cpp | 3 - GUI/coregui/Models/DetectorItems.cpp | 6 - GUI/coregui/Models/MesoCrystalItem.cpp | 8 - GUI/coregui/Models/ModelPath.h | 2 +- GUI/coregui/Models/MultiLayerItem.cpp | 4 - GUI/coregui/Models/ParameterTranslators.cpp | 151 ------------------ GUI/coregui/Models/ParameterTranslators.h | 94 ----------- .../Models/ParticleCompositionItem.cpp | 3 - GUI/coregui/Models/ParticleCoreShellItem.cpp | 3 - GUI/coregui/Models/ParticleItem.cpp | 3 - GUI/coregui/Models/SessionItem.cpp | 9 -- GUI/coregui/Models/SessionItem.h | 4 - 13 files changed, 1 insertion(+), 292 deletions(-) delete mode 100644 GUI/coregui/Models/ParameterTranslators.cpp delete mode 100644 GUI/coregui/Models/ParameterTranslators.h diff --git a/GUI/coregui/Models/BeamDistributionItem.cpp b/GUI/coregui/Models/BeamDistributionItem.cpp index 31e0d4a03f4..246d63118cc 100644 --- a/GUI/coregui/Models/BeamDistributionItem.cpp +++ b/GUI/coregui/Models/BeamDistributionItem.cpp @@ -15,7 +15,6 @@ #include "GUI/coregui/Models/BeamDistributionItem.h" #include "Base/Const/Units.h" #include "GUI/coregui/Models/GroupItem.h" -#include "GUI/coregui/Models/ParameterTranslators.h" #include "GUI/coregui/Models/RealLimitsItems.h" #include "Param/Distrib/Distributions.h" #include "Param/Distrib/ParameterDistribution.h" @@ -24,8 +23,6 @@ const QString BeamDistributionItem::P_DISTRIBUTION = "Distribution"; BeamDistributionItem::BeamDistributionItem(const QString& name, bool show_mean) : SessionItem(name) { - addTranslator(DistributionNoneTranslator()); - mapper()->setOnChildPropertyChange([this, show_mean](SessionItem* item, const QString&) { if (item->modelType() == "GroupProperty" && item->parent() == this) initDistributionItem(show_mean); diff --git a/GUI/coregui/Models/BeamItems.cpp b/GUI/coregui/Models/BeamItems.cpp index 0d9b9f12c3c..e16ff56cff4 100644 --- a/GUI/coregui/Models/BeamItems.cpp +++ b/GUI/coregui/Models/BeamItems.cpp @@ -20,7 +20,6 @@ #include "GUI/coregui/Models/BeamWavelengthItem.h" #include "GUI/coregui/Models/FootprintItems.h" #include "GUI/coregui/Models/GroupItem.h" -#include "GUI/coregui/Models/ParameterTranslators.h" #include "GUI/coregui/Models/PointwiseAxisItem.h" #include "GUI/coregui/Models/SessionItemUtils.h" #include "GUI/coregui/Models/SpecularBeamInclinationItem.h" @@ -50,8 +49,6 @@ BeamItem::BeamItem(const QString& beam_model) : SessionItem(beam_model) addProperty<BeamAzimuthalAngleItem>(P_AZIMUTHAL_ANGLE); addProperty<VectorItem>(P_POLARIZATION)->setToolTip(polarization_tooltip); - - addTranslator(VectorParameterTranslator(P_POLARIZATION, "BlochVector")); } BeamItem::~BeamItem() = default; diff --git a/GUI/coregui/Models/DetectorItems.cpp b/GUI/coregui/Models/DetectorItems.cpp index 2a25707dd41..e2ba5b61e93 100644 --- a/GUI/coregui/Models/DetectorItems.cpp +++ b/GUI/coregui/Models/DetectorItems.cpp @@ -16,7 +16,6 @@ #include "Device/Detector/IDetector2D.h" #include "Device/Resolution/ResolutionFunction2DGaussian.h" #include "GUI/coregui/Models/MaskItems.h" -#include "GUI/coregui/Models/ParameterTranslators.h" #include "GUI/coregui/Models/ResolutionFunctionItems.h" #include "GUI/coregui/Models/SessionItemUtils.h" #include "GUI/coregui/Models/SessionModel.h" @@ -46,11 +45,6 @@ DetectorItem::DetectorItem(const QString& modelType) : SessionItem(modelType) .setToolTip(analyzer_efficiency_tooltip); addProperty(P_ANALYZER_TOTAL_TRANSMISSION, 1.0)->setToolTip(analyzer_transmission_tooltip); - QString additional_name = QString::fromStdString("Analyzer"); - addTranslator(VectorParameterTranslator(P_ANALYZER_DIRECTION, "Direction", {additional_name})); - addTranslator(AddElementTranslator(P_ANALYZER_EFFICIENCY, additional_name)); - addTranslator(AddElementTranslator(P_ANALYZER_TOTAL_TRANSMISSION, additional_name)); - mapper()->setOnPropertyChange([this](const QString& name) { if (name == P_RESOLUTION_FUNCTION) update_resolution_function_tooltips(); diff --git a/GUI/coregui/Models/MesoCrystalItem.cpp b/GUI/coregui/Models/MesoCrystalItem.cpp index 7029829152e..e25eee595aa 100644 --- a/GUI/coregui/Models/MesoCrystalItem.cpp +++ b/GUI/coregui/Models/MesoCrystalItem.cpp @@ -81,14 +81,6 @@ MesoCrystalItem::MesoCrystalItem() : SessionGraphicsItem("MesoCrystal") registerTag(ParticleItem::T_TRANSFORMATION, 0, 1, QStringList() << "Rotation"); - addTranslator(VectorParameterTranslator(ParticleItem::P_POSITION, "Position")); - addTranslator(RotationTranslator()); - QStringList additional_names{QString::fromStdString("Lattice"), - QString::fromStdString("Crystal")}; - addTranslator(VectorParameterTranslator(P_VECTOR_A, "BasisA", additional_names)); - addTranslator(VectorParameterTranslator(P_VECTOR_B, "BasisB", additional_names)); - addTranslator(VectorParameterTranslator(P_VECTOR_C, "BasisC", additional_names)); - mapper()->setOnParentChange([this](SessionItem* parent) { if (SessionItemUtils::HasOwnAbundance(parent)) { setItemValue(ParticleItem::P_ABUNDANCE, 1.0); diff --git a/GUI/coregui/Models/ModelPath.h b/GUI/coregui/Models/ModelPath.h index 0f52bb8c0d8..fc2cdb3ed66 100644 --- a/GUI/coregui/Models/ModelPath.h +++ b/GUI/coregui/Models/ModelPath.h @@ -15,13 +15,13 @@ #ifndef BORNAGAIN_GUI_COREGUI_MODELS_MODELPATH_H #define BORNAGAIN_GUI_COREGUI_MODELS_MODELPATH_H -#include "GUI/coregui/Models/ParameterTranslators.h" #include <memory> #include <vector> class SessionItem; class QModelIndex; class SessionModel; +class QString; namespace ModelPath { QString getPathFromIndex(const QModelIndex& index); diff --git a/GUI/coregui/Models/MultiLayerItem.cpp b/GUI/coregui/Models/MultiLayerItem.cpp index d3f8ec66445..6adf6e59cdb 100644 --- a/GUI/coregui/Models/MultiLayerItem.cpp +++ b/GUI/coregui/Models/MultiLayerItem.cpp @@ -14,7 +14,6 @@ #include "GUI/coregui/Models/MultiLayerItem.h" #include "GUI/coregui/Models/LayerItem.h" -#include "GUI/coregui/Models/ParameterTranslators.h" #include "GUI/coregui/Models/VectorItem.h" namespace { @@ -40,9 +39,6 @@ MultiLayerItem::MultiLayerItem() : SessionGraphicsItem("MultiLayer") registerTag(T_LAYERS, 0, -1, QStringList() << "Layer"); setDefaultTag(T_LAYERS); - addTranslator(RoughnessTranslator(this)); - addTranslator(VectorParameterTranslator(P_EXTERNAL_FIELD, "ExternalField")); - mapper()->setOnChildrenChange([this](SessionItem*) { updateLayers(); }); } diff --git a/GUI/coregui/Models/ParameterTranslators.cpp b/GUI/coregui/Models/ParameterTranslators.cpp deleted file mode 100644 index f9ef865a69f..00000000000 --- a/GUI/coregui/Models/ParameterTranslators.cpp +++ /dev/null @@ -1,151 +0,0 @@ -// ************************************************************************************************ -// -// BornAgain: simulate and fit reflection and scattering -// -//! @file GUI/coregui/Models/ParameterTranslators.cpp -//! @brief Implements subclasses of IParameterTranslator -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************************************ - -#include "GUI/coregui/Models/ParameterTranslators.h" -#include "GUI/coregui/Models/MesoCrystalItem.h" -#include "GUI/coregui/Models/ParticleItem.h" -#include "GUI/coregui/Models/VectorItem.h" -#include "GUI/coregui/utils/GUIHelpers.h" - -namespace { -const QStringList expectedRoughnessPars = - QStringList() << QString::fromStdString("Sigma") << QString::fromStdString("Hurst") - << QString::fromStdString("CorrelationLength"); -} - -IPathTranslator::~IPathTranslator() = default; - -AddElementTranslator::AddElementTranslator(QString gui_name, QString additional_name) - : m_gui_name{std::move(gui_name)}, m_additional_name{std::move(additional_name)} -{ -} - -AddElementTranslator* AddElementTranslator::clone() const -{ - return new AddElementTranslator(m_gui_name, m_additional_name); -} - -QStringList AddElementTranslator::translate(const QStringList& list) const -{ - if (list.back() != m_gui_name) - return list; - - QStringList result = list; - result << m_additional_name; - return result; -} - -QStringList RotationTranslator::translate(const QStringList& list) const -{ - if (list.back() != "Rotation") - return list; - - ASSERT(list.size() == 3); - QStringList result = list; - result.removeLast(); - return result; -} - -QStringList DistributionNoneTranslator::translate(const QStringList& list) const -{ - if (list.back() != "DistributionNone") - return list; - - Q_UNUSED(list); - return QStringList(); // removing "DistributionNone/Value" -} - -//! Converts "/Layer1/LayerBasicRoughness/Sigma" into "/LayerInterface0/LayerBasicRoughness/Sigma" - -RoughnessTranslator::RoughnessTranslator(const SessionItem* p_parent) : m_parent(p_parent) {} - -RoughnessTranslator* RoughnessTranslator::clone() const -{ - return new RoughnessTranslator(m_parent); -} - -QStringList RoughnessTranslator::translate(const QStringList& list) const -{ - if (list.empty()) - return {}; - - if (!list.back().contains("Layer") || !expectedRoughnessPars.contains(list.front())) - return list; - - QStringList result = list; - - QString layerName = result.takeLast(); - int layerIndex = getLayerIndex(layerName); - QString postfix = numberOfLayers() == 2 ? QString() : QString::number(layerIndex - 1); - - result.push_back(QString::fromStdString("LayerInterface") + postfix); - return result; -} - -//! Extract layer index from the string "Layer11" - -int RoughnessTranslator::getLayerIndex(QString layerName) const -{ - layerName.remove("Layer"); - bool ok(true); - int layerIndex = layerName.toInt(&ok); - if (!ok) - throw GUIHelpers::Error("RoughnessTranslator::getLayerIndex() -> Error. Can't parse."); - return layerIndex; -} - -int RoughnessTranslator::numberOfLayers() const -{ - QVector<SessionItem*> list = m_parent->getChildrenOfType("Layer"); - return list.size(); -} - -VectorParameterTranslator::VectorParameterTranslator(QString gui_name, std::string base_name, - QStringList additional_names) - : m_gui_name{std::move(gui_name)} - , m_base_name{std::move(base_name)} - , m_additional_names{std::move(additional_names)} -{ -} - -VectorParameterTranslator* VectorParameterTranslator::clone() const -{ - return new VectorParameterTranslator(m_gui_name, m_base_name, m_additional_names); -} - -QStringList VectorParameterTranslator::translate(const QStringList& list) const -{ - if (list.empty()) - return {}; - - if (list.back() != m_gui_name) - return list; - - ASSERT(list.size() == 2); - - QStringList result; - if (list.front() == VectorItem::P_X) { - result << QString::fromStdString(IParametricComponent::XComponentName(m_base_name)); - } else if (list.front() == VectorItem::P_Y) { - result << QString::fromStdString(IParametricComponent::YComponentName(m_base_name)); - } else if (list.front() == VectorItem::P_Z) { - result << QString::fromStdString(IParametricComponent::ZComponentName(m_base_name)); - } else { - GUIHelpers::Error("VectorParameterTranslator::translate() -> Unexpected list structure"); - } - for (auto add_name : m_additional_names) { - result << add_name; - } - return result; -} diff --git a/GUI/coregui/Models/ParameterTranslators.h b/GUI/coregui/Models/ParameterTranslators.h deleted file mode 100644 index 02c20f4d310..00000000000 --- a/GUI/coregui/Models/ParameterTranslators.h +++ /dev/null @@ -1,94 +0,0 @@ -// ************************************************************************************************ -// -// BornAgain: simulate and fit reflection and scattering -// -//! @file GUI/coregui/Models/ParameterTranslators.h -//! @brief Defines interface IParameterTranslator and subclasses -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************************************ - -#ifndef BORNAGAIN_GUI_COREGUI_MODELS_PARAMETERTRANSLATORS_H -#define BORNAGAIN_GUI_COREGUI_MODELS_PARAMETERTRANSLATORS_H - -#include <QStringList> - -class SessionItem; - -class IPathTranslator { -public: - virtual ~IPathTranslator(); - - virtual IPathTranslator* clone() const = 0; - - virtual QStringList translate(const QStringList& list) const = 0; -}; - -class AddElementTranslator : public IPathTranslator { -public: - AddElementTranslator(QString gui_name, QString additional_name); - ~AddElementTranslator() override {} - - AddElementTranslator* clone() const override; - - QStringList translate(const QStringList& list) const override; - -private: - QString m_gui_name; - QString m_additional_name; -}; - -class RotationTranslator : public IPathTranslator { -public: - ~RotationTranslator() override {} - - RotationTranslator* clone() const override { return new RotationTranslator; } - - QStringList translate(const QStringList& list) const override; -}; - -class DistributionNoneTranslator : public IPathTranslator { -public: - ~DistributionNoneTranslator() override {} - - DistributionNoneTranslator* clone() const override { return new DistributionNoneTranslator; } - - QStringList translate(const QStringList& list) const override; -}; - -class RoughnessTranslator : public IPathTranslator { -public: - RoughnessTranslator(const SessionItem* p_parent); - ~RoughnessTranslator() override {} - - RoughnessTranslator* clone() const override; - - QStringList translate(const QStringList& list) const override; - -private: - int getLayerIndex(QString layerName) const; - int numberOfLayers() const; - const SessionItem* m_parent; -}; - -class VectorParameterTranslator : public IPathTranslator { -public: - VectorParameterTranslator(QString gui_name, std::string base_name, - QStringList additional_names = {}); - ~VectorParameterTranslator() override {} - - VectorParameterTranslator* clone() const override; - - QStringList translate(const QStringList& list) const override; - -private: - QString m_gui_name; - std::string m_base_name; - QStringList m_additional_names; -}; - -#endif // BORNAGAIN_GUI_COREGUI_MODELS_PARAMETERTRANSLATORS_H diff --git a/GUI/coregui/Models/ParticleCompositionItem.cpp b/GUI/coregui/Models/ParticleCompositionItem.cpp index 177613882ee..cedd5798744 100644 --- a/GUI/coregui/Models/ParticleCompositionItem.cpp +++ b/GUI/coregui/Models/ParticleCompositionItem.cpp @@ -55,9 +55,6 @@ ParticleCompositionItem::ParticleCompositionItem() : SessionGraphicsItem("Partic setDefaultTag(T_PARTICLES); registerTag(ParticleItem::T_TRANSFORMATION, 0, 1, QStringList() << "Rotation"); - addTranslator(VectorParameterTranslator(ParticleItem::P_POSITION, "Position")); - addTranslator(RotationTranslator()); - mapper()->setOnParentChange([this](SessionItem* parent) { if (SessionItemUtils::HasOwnAbundance(parent)) { setItemValue(ParticleItem::P_ABUNDANCE, 1.0); diff --git a/GUI/coregui/Models/ParticleCoreShellItem.cpp b/GUI/coregui/Models/ParticleCoreShellItem.cpp index 704d547a36d..5d300ddee53 100644 --- a/GUI/coregui/Models/ParticleCoreShellItem.cpp +++ b/GUI/coregui/Models/ParticleCoreShellItem.cpp @@ -51,9 +51,6 @@ ParticleCoreShellItem::ParticleCoreShellItem() : SessionGraphicsItem("ParticleCo registerTag(T_SHELL, 0, 1, QStringList() << "Particle"); registerTag(ParticleItem::T_TRANSFORMATION, 0, 1, QStringList() << "Rotation"); - addTranslator(VectorParameterTranslator(ParticleItem::P_POSITION, "Position")); - addTranslator(RotationTranslator()); - mapper()->setOnParentChange([this](SessionItem* parent) { if (SessionItemUtils::HasOwnAbundance(parent)) { setItemValue(ParticleItem::P_ABUNDANCE, 1.0); diff --git a/GUI/coregui/Models/ParticleItem.cpp b/GUI/coregui/Models/ParticleItem.cpp index 8965faff29d..1976f28af6f 100644 --- a/GUI/coregui/Models/ParticleItem.cpp +++ b/GUI/coregui/Models/ParticleItem.cpp @@ -55,9 +55,6 @@ ParticleItem::ParticleItem() : SessionGraphicsItem("Particle") registerTag(T_TRANSFORMATION, 0, 1, QStringList() << "Rotation"); setDefaultTag(T_TRANSFORMATION); - addTranslator(VectorParameterTranslator(P_POSITION, "Position")); - addTranslator(RotationTranslator()); - mapper()->setOnParentChange( [this](SessionItem* newParent) { updatePropertiesAppearance(newParent); }); } diff --git a/GUI/coregui/Models/SessionItem.cpp b/GUI/coregui/Models/SessionItem.cpp index 7af52817036..441dabaa420 100644 --- a/GUI/coregui/Models/SessionItem.cpp +++ b/GUI/coregui/Models/SessionItem.cpp @@ -14,7 +14,6 @@ #include "GUI/coregui/Models/GroupItem.h" #include "GUI/coregui/Models/ItemFactory.h" -#include "GUI/coregui/Models/ParameterTranslators.h" #include "GUI/coregui/Models/SessionItemData.h" #include "GUI/coregui/Models/SessionItemTags.h" #include "GUI/coregui/Models/SessionItemUtils.h" @@ -56,9 +55,6 @@ SessionItem::~SessionItem() m_children.clear(); if (m_parent && m_model) m_parent->childDeleted(this); - - for (IPathTranslator* translator : m_translators) - delete translator; } //! Returns model of this item. @@ -553,11 +549,6 @@ ModelMapper* SessionItem::mapper() return m_mapper.get(); } -void SessionItem::addTranslator(const IPathTranslator& translator) -{ - m_translators.push_back(translator.clone()); -} - QByteArray SessionItem::serializeBinaryData() const { return QByteArray(); diff --git a/GUI/coregui/Models/SessionItem.h b/GUI/coregui/Models/SessionItem.h index e07dec8cd3a..5a6b03babfe 100644 --- a/GUI/coregui/Models/SessionItem.h +++ b/GUI/coregui/Models/SessionItem.h @@ -26,7 +26,6 @@ Q_DECLARE_METATYPE(RealLimits) class SessionItemData; class SessionItemTags; -class IPathTranslator; class QXmlStreamWriter; class QXmlStreamReader; @@ -126,8 +125,6 @@ public: ModelMapper* mapper(); - void addTranslator(const IPathTranslator& translator); // #baRemoveParticleDistribution ++ obsolete? - virtual QByteArray serializeBinaryData() const; virtual void deserializeBinaryData(const QByteArray& data); @@ -145,7 +142,6 @@ private: std::unique_ptr<SessionItemData> m_properties; std::unique_ptr<SessionItemTags> m_tags; std::unique_ptr<ModelMapper> m_mapper; - QVector<IPathTranslator*> m_translators; }; template <typename T> T* SessionItem::item(const QString& tag) const -- GitLab