From db6b56fcd78e53efda6fb617cab1aa2e9ee9ecf7 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Thu, 9 Sep 2021 09:15:33 +0200
Subject: [PATCH] member variable -> static local

---
 GUI/Models/GUIExamplesFactory.cpp | 36 +++++++++++++++----------------
 GUI/Models/GUIExamplesFactory.h   |  6 +-----
 2 files changed, 18 insertions(+), 24 deletions(-)

diff --git a/GUI/Models/GUIExamplesFactory.cpp b/GUI/Models/GUIExamplesFactory.cpp
index ee7e84c13fd..d7160bde22d 100644
--- a/GUI/Models/GUIExamplesFactory.cpp
+++ b/GUI/Models/GUIExamplesFactory.cpp
@@ -17,36 +17,34 @@
 #include "Sample/Multilayer/MultiLayer.h"
 #include "Sample/StandardSamples/SampleBuilderFactory.h"
 #include <memory>
+#include <QMap>
 
-//! Defines correspondence between example name and real name of simulation from SimulationFactory
-QMap<QString, QString> init_NameToRegistry()
-{
-    QMap<QString, QString> result;
-    result["example01"] = "CylindersAndPrismsBuilder";
-    result["example02"] = "RadialParaCrystalBuilder";
-    result["example03"] = "HexParaCrystalBuilder";
-    result["example04"] = "CoreShellParticleBuilder";
-    result["example05"] = "MultiLayerWithRoughnessBuilder";
-    result["example06"] = "SquareLattice2DBuilder";
-    result["example07"] = "RotatedPyramidsBuilder";
-    result["example09"] = "ParticleCompositionBuilder";
-    result["example10"] = "MesoCrystalBuilder";
-
-    return result;
-}
+namespace {
+
+QMap<QString, QString> name2registry = {
+    {"example01", "CylindersAndPrismsBuilder"},
+    {"example02", "RadialParaCrystalBuilder"},
+    {"example03", "HexParaCrystalBuilder"},
+    {"example04", "CoreShellParticleBuilder"},
+    {"example05", "MultiLayerWithRoughnessBuilder"},
+    {"example06", "SquareLattice2DBuilder"},
+    {"example07", "RotatedPyramidsBuilder"},
+    {"example09", "ParticleCompositionBuilder"},
+    {"example10", "MesoCrystalBuilder"},
+};
 
-QMap<QString, QString> GUIExamplesFactory::m_name_to_registry = init_NameToRegistry();
+} // namespace
 
 bool GUIExamplesFactory::isValidExampleName(const QString& name)
 {
-    return m_name_to_registry.contains(name);
+    return name2registry.contains(name);
 }
 
 //! Populate sample model with
 SessionItem* GUIExamplesFactory::createSampleItems(const QString& name, SampleModel* sampleModel,
                                                    MaterialModel* materialModel)
 {
-    QString exampleName = m_name_to_registry[name];
+    QString exampleName = name2registry[name];
 
     SampleBuilderFactory factory;
     const std::unique_ptr<MultiLayer> sample(factory.createSampleByName(exampleName.toStdString()));
diff --git a/GUI/Models/GUIExamplesFactory.h b/GUI/Models/GUIExamplesFactory.h
index eb1753e8216..46b309cf821 100644
--- a/GUI/Models/GUIExamplesFactory.h
+++ b/GUI/Models/GUIExamplesFactory.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_MODELS_GUIEXAMPLESFACTORY_H
 #define BORNAGAIN_GUI_MODELS_GUIEXAMPLESFACTORY_H
 
-#include <QMap>
+#include <QString>
 
 class SessionItem;
 class SampleModel;
@@ -28,10 +28,6 @@ public:
 
     static SessionItem* createSampleItems(const QString& name, SampleModel* sampleModel,
                                           MaterialModel* materialModel);
-
-private:
-    static QMap<QString, QString> m_name_to_registry;
-    //!< correspondence of GUI example name and name from StandardSamples registry
 };
 
 #endif // BORNAGAIN_GUI_MODELS_GUIEXAMPLESFACTORY_H
-- 
GitLab