Skip to content
Snippets Groups Projects
Commit 75706055 authored by Mikhail Svechnikov's avatar Mikhail Svechnikov
Browse files

create map of material names

parent ab8e4d79
No related branches found
No related tags found
1 merge request!1346GUI: use different materials for particles and layers by default
......@@ -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();
......
......@@ -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 {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment