From c268f7d3331d9ff915ff6109911a5ab9a001f2d8 Mon Sep 17 00:00:00 2001
From: Tobias Knopff <t.knopff@fz-juelich.de>
Date: Fri, 9 Jul 2021 08:41:25 +0200
Subject: [PATCH] Make ParticleLayoutItem::P_WEIGHT private

---
 GUI/Models/GUIDomainSampleVisitor.cpp |  2 +-
 GUI/Models/ParticleLayoutItem.cpp     | 11 +++++++++++
 GUI/Models/ParticleLayoutItem.h       |  5 ++++-
 GUI/Models/TransformToDomain.cpp      |  2 +-
 4 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/GUI/Models/GUIDomainSampleVisitor.cpp b/GUI/Models/GUIDomainSampleVisitor.cpp
index 8549d39ccf8..18b87e14d76 100644
--- a/GUI/Models/GUIDomainSampleVisitor.cpp
+++ b/GUI/Models/GUIDomainSampleVisitor.cpp
@@ -95,7 +95,7 @@ void GUIDomainSampleVisitor::visit(const ParticleLayout* sample)
     SessionItem* parent = m_levelToParentItem[depth() - 1];
     auto layout_item = m_sampleModel->insertItem<ParticleLayoutItem>(parent);
     layout_item->setTotalDensity(sample->totalParticleSurfaceDensity());
-    layout_item->setItemValue(ParticleLayoutItem::P_WEIGHT, sample->weight());
+    layout_item->setWeight(sample->weight());
     m_levelToParentItem[depth()] = layout_item;
 }
 
diff --git a/GUI/Models/ParticleLayoutItem.cpp b/GUI/Models/ParticleLayoutItem.cpp
index 781b7ac3c80..288ab04db97 100644
--- a/GUI/Models/ParticleLayoutItem.cpp
+++ b/GUI/Models/ParticleLayoutItem.cpp
@@ -95,6 +95,17 @@ void ParticleLayoutItem::setTotalDensity(double total_density)
     setItemValue(P_TOTAL_DENSITY, total_density);
 }
 
+double ParticleLayoutItem::weight() const
+{
+    return getItemValue(P_WEIGHT).toDouble();
+}
+
+void ParticleLayoutItem::setWeight(double weight)
+{
+    
+    setItemValue(P_WEIGHT, weight);
+}
+
 //! Disables/enables total density property, depending on type of interference function.
 //! Two dimensional interference calculates density automatically, so property should
 //! be disabled.
diff --git a/GUI/Models/ParticleLayoutItem.h b/GUI/Models/ParticleLayoutItem.h
index 0996ff09491..33fb95ae27f 100644
--- a/GUI/Models/ParticleLayoutItem.h
+++ b/GUI/Models/ParticleLayoutItem.h
@@ -20,9 +20,9 @@
 class BA_CORE_API_ ParticleLayoutItem : public SessionGraphicsItem {
 private:
     static const QString P_TOTAL_DENSITY;
+    static const QString P_WEIGHT;
 
 public:
-    static const QString P_WEIGHT;
     static const QString T_PARTICLES;
     static const QString T_INTERFERENCE;
 
@@ -33,6 +33,9 @@ public:
     double totalDensity() const;
     void setTotalDensity(double total_density);
 
+    double weight() const;
+    void setWeight(double weight);
+
 private:
     void updateDensityAppearance();
     void updateDensityValue();
diff --git a/GUI/Models/TransformToDomain.cpp b/GUI/Models/TransformToDomain.cpp
index ad2d702413f..5e12be96b08 100644
--- a/GUI/Models/TransformToDomain.cpp
+++ b/GUI/Models/TransformToDomain.cpp
@@ -98,7 +98,7 @@ GUI::Transform::ToDomain::createParticleLayout(const ParticleLayoutItem& item)
 {
     auto P_layout = std::make_unique<ParticleLayout>();
     double total_density = item.totalDensity();
-    auto layout_weight = item.getItemValue(ParticleLayoutItem::P_WEIGHT).value<double>();
+    double layout_weight = item.weight();
     P_layout->setTotalParticleSurfaceDensity(total_density);
     P_layout->setWeight(layout_weight);
     return P_layout;
-- 
GitLab