From c075d2dd584eee56b1aa9c6accced9ed6587c247 Mon Sep 17 00:00:00 2001 From: Tobias Knopff <t.knopff@fz-juelich.de> Date: Tue, 27 Apr 2021 12:36:36 +0200 Subject: [PATCH] Make MaterialItem::P_MAGNETIZATION private --- GUI/coregui/Models/GUIDomainSampleVisitor.cpp | 3 +-- GUI/coregui/Models/JobModelFunctions.cpp | 2 +- GUI/coregui/Models/MaterialItem.cpp | 10 ++++++++++ GUI/coregui/Models/MaterialItem.h | 6 ++++-- Tests/Functional/GUI/Translate/GUITranslationTest.cpp | 4 ++-- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/GUI/coregui/Models/GUIDomainSampleVisitor.cpp b/GUI/coregui/Models/GUIDomainSampleVisitor.cpp index d6dfdc2031d..7e5b309bc67 100644 --- a/GUI/coregui/Models/GUIDomainSampleVisitor.cpp +++ b/GUI/coregui/Models/GUIDomainSampleVisitor.cpp @@ -600,8 +600,7 @@ ExternalProperty GUIDomainSampleVisitor::createMaterialFromDomain(const Material "Unsupported material"); } - materialItem->item<VectorItem>(MaterialItem::P_MAGNETIZATION) - ->setVector(material->magnetization()); + materialItem->setMagnetization(material->magnetization()); return MaterialItemUtils::materialProperty(*materialItem); } diff --git a/GUI/coregui/Models/JobModelFunctions.cpp b/GUI/coregui/Models/JobModelFunctions.cpp index 3e0c1908596..a9df6b038e9 100644 --- a/GUI/coregui/Models/JobModelFunctions.cpp +++ b/GUI/coregui/Models/JobModelFunctions.cpp @@ -181,7 +181,7 @@ void JobModelFunctions::muteMagnetizationData(JobItem* jobItem) auto container = static_cast<MaterialItemContainer*>(jobItem->getItem(JobItem::T_MATERIAL_CONTAINER)); for (auto item : container->getItems(MaterialItemContainer::T_MATERIALS)) - item->getItem(MaterialItem::P_MAGNETIZATION)->setVisible(false); + static_cast<MaterialItem*>(item)->hideMagnetization(); auto sample = static_cast<MultiLayerItem*>(jobItem->getItem(JobItem::T_SAMPLE)); sample->getItem(MultiLayerItem::P_EXTERNAL_FIELD)->setVisible(false); diff --git a/GUI/coregui/Models/MaterialItem.cpp b/GUI/coregui/Models/MaterialItem.cpp index dc0a8cd37dd..98147ee4e72 100644 --- a/GUI/coregui/Models/MaterialItem.cpp +++ b/GUI/coregui/Models/MaterialItem.cpp @@ -110,6 +110,16 @@ void MaterialItem::setColor(const QColor& color) setItemValue(P_COLOR, MaterialItemUtils::colorProperty(color).variant()); } +void MaterialItem::setMagnetization(const kvector_t& magnetization) +{ + item<VectorItem>(P_MAGNETIZATION)->setVector(magnetization); +} + +void MaterialItem::hideMagnetization() +{ + getItem(MaterialItem::P_MAGNETIZATION)->setVisible(false); +} + std::unique_ptr<Material> MaterialItem::createMaterial() const { auto dataItem = getGroupItem(P_MATERIAL_DATA); diff --git a/GUI/coregui/Models/MaterialItem.h b/GUI/coregui/Models/MaterialItem.h index 46f97aa5170..1ea52dc4d2a 100644 --- a/GUI/coregui/Models/MaterialItem.h +++ b/GUI/coregui/Models/MaterialItem.h @@ -15,6 +15,7 @@ #ifndef BORNAGAIN_GUI_COREGUI_MODELS_MATERIALITEM_H #define BORNAGAIN_GUI_COREGUI_MODELS_MATERIALITEM_H +#include "Base/Vector/Vectors3D.h" #include "Base/Types/Complex.h" #include "GUI/coregui/Models/SessionItem.h" @@ -24,9 +25,7 @@ class BA_CORE_API_ MaterialItem : public SessionItem { private: static const QString P_COLOR; static const QString P_MATERIAL_DATA; -public: static const QString P_MAGNETIZATION; -private: static const QString P_IDENTIFIER; public: @@ -50,6 +49,9 @@ public: QColor color() const; void setColor(const QColor& color); + void setMagnetization(const kvector_t& magnetization); + void hideMagnetization(); + std::unique_ptr<Material> createMaterial() const; }; diff --git a/Tests/Functional/GUI/Translate/GUITranslationTest.cpp b/Tests/Functional/GUI/Translate/GUITranslationTest.cpp index e6c4ff98f91..457a0fa6d6c 100644 --- a/Tests/Functional/GUI/Translate/GUITranslationTest.cpp +++ b/Tests/Functional/GUI/Translate/GUITranslationTest.cpp @@ -50,7 +50,7 @@ bool containsNames(const QString& text, const QStringList& names) const QVector<QPair<QStringList, QStringList>> black_list{ {// Global scope {""}, - {"Sigma factor", "MaterialRefractiveData", "MaterialSLDData", MaterialItem::P_MAGNETIZATION}}, + {"Sigma factor", "MaterialRefractiveData", "MaterialSLDData", "Magnetization"}}, {// Instrument scope {"GISASInstrument", "OffSpecularInstrument", "SpecularInstrument"}, {// Distribution types @@ -74,7 +74,7 @@ const QVector<QPair<QStringList, QStringList>> black_list{ // Beam angle parameters BeamItem::P_INCLINATION_ANGLE, BeamItem::P_AZIMUTHAL_ANGLE}}}; -//! Returns true, if it makes sence to look for GUI translation for given domain name. +//! Returns true, if it makes sense to look for GUI translation for given domain name. //! Intended to supress warnings about not-yet implemented translations. bool requiresTranslation(ParameterItem* parItem) { -- GitLab