From 757060555c24a4afeb9b31bd68046893b91a977f Mon Sep 17 00:00:00 2001 From: Mikhail Svechnikov <svechnikovmv@gmail.com> Date: Tue, 14 Feb 2023 19:29:18 +0100 Subject: [PATCH] create map of material names --- GUI/Model/Sample/MaterialModel.cpp | 18 +++++++++++++----- GUI/Model/Sample/MaterialModel.h | 5 +++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/GUI/Model/Sample/MaterialModel.cpp b/GUI/Model/Sample/MaterialModel.cpp index 97e3b58263d..18402167175 100644 --- a/GUI/Model/Sample/MaterialModel.cpp +++ b/GUI/Model/Sample/MaterialModel.cpp @@ -29,13 +29,15 @@ const QString Material("Material"); QColor suggestMaterialColor(const QString& name) { - if (name.contains("Vacuum")) + if (name.contains(material_name_map.key(DefaultMaterials::Vacuum))) return QColor(179, 242, 255); - if (name.contains("Substrate")) + if (name.contains(material_name_map.key(DefaultMaterials::Substrate))) return QColor(205, 102, 0); - if (name.contains("Default")) + if (name.contains(material_name_map.key(DefaultMaterials::Default))) return QColor(Qt::green); - if (name.contains("Particle")) + if (name.contains(material_name_map.key(DefaultMaterials::Core))) + return QColor(220, 140, 220); + if (name.contains(material_name_map.key(DefaultMaterials::Particle))) return QColor(146, 198, 255); // return a random color @@ -48,6 +50,12 @@ QColor suggestMaterialColor(const QString& name) } // namespace +QMap<QString, DefaultMaterials> material_name_map = { + {"Default", DefaultMaterials::Default}, + {"Vacuum", DefaultMaterials::Vacuum}, + {"Particle", DefaultMaterials::Particle}, + {"Core", DefaultMaterials::Core}, + {"Substrate", DefaultMaterials::Substrate}}; MaterialModel::MaterialModel() {} @@ -150,7 +158,7 @@ MaterialItem* MaterialModel::defaultMaterialItem() const MaterialItem *MaterialModel::defaultCoreMaterialItem() const { for(auto* material : materialItems()) - if(material->matItemName() == material_name_map.key(DefaultMaterials::Particle_Core)) + if(material->matItemName() == material_name_map.key(DefaultMaterials::Core)) return material; return defaultMaterialItem(); diff --git a/GUI/Model/Sample/MaterialModel.h b/GUI/Model/Sample/MaterialModel.h index 72ae838d3ec..059c6bdaccf 100644 --- a/GUI/Model/Sample/MaterialModel.h +++ b/GUI/Model/Sample/MaterialModel.h @@ -19,6 +19,11 @@ #include <QVector> #include <QXmlStreamReader> +//! Materials created by default +enum class DefaultMaterials { Default, Vacuum, Particle, Core, Substrate }; + +extern QMap<QString, DefaultMaterials> material_name_map; + class MaterialItem; class MaterialModel : public QObject { -- GitLab