From 6734d981274ceda2a2b52895f340c00d71d58e20 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Mon, 20 Sep 2021 11:07:25 +0200 Subject: [PATCH] SampleViewFactory: avoid array of constants to prevent static initialization order fiasco --- .../SampleDesigner/SampleViewFactory.cpp | 35 ++++++++----------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/GUI/Views/SampleDesigner/SampleViewFactory.cpp b/GUI/Views/SampleDesigner/SampleViewFactory.cpp index e700e398a1a..965abd5ef74 100644 --- a/GUI/Views/SampleDesigner/SampleViewFactory.cpp +++ b/GUI/Views/SampleDesigner/SampleViewFactory.cpp @@ -32,28 +32,23 @@ #include "GUI/Views/SampleDesigner/ParticleView.h" #include "GUI/Views/SampleDesigner/TransformationView.h" -namespace { - -const QStringList valid_item_types = {MultiLayerItem::M_TYPE, - LayerItem::M_TYPE, - ParticleLayoutItem::M_TYPE, - ParticleItem::M_TYPE, - TransformationItem::M_TYPE, - ParticleCoreShellItem::M_TYPE, - ParticleCompositionItem::M_TYPE, - MesoCrystalItem::M_TYPE, - Interference1DLatticeItem::M_TYPE, - Interference2DLatticeItem::M_TYPE, - Interference2DParaCrystalItem::M_TYPE, - InterferenceFinite2DLatticeItem::M_TYPE, - InterferenceHardDiskItem::M_TYPE, - InterferenceRadialParaCrystalItem::M_TYPE}; - -} // namespace - bool SampleViewFactory::isValidType(const QString& model_type) { - return model_type.startsWith("FormFactor") || valid_item_types.contains(model_type); + return model_type.startsWith("FormFactor") + || model_type == MultiLayerItem::M_TYPE + || model_type == LayerItem::M_TYPE + || model_type == ParticleLayoutItem::M_TYPE + || model_type == ParticleItem::M_TYPE + || model_type == TransformationItem::M_TYPE + || model_type == ParticleCoreShellItem::M_TYPE + || model_type == ParticleCompositionItem::M_TYPE + || model_type == MesoCrystalItem::M_TYPE + || model_type == Interference1DLatticeItem::M_TYPE + || model_type == Interference2DLatticeItem::M_TYPE + || model_type == Interference2DParaCrystalItem::M_TYPE + || model_type == InterferenceFinite2DLatticeItem::M_TYPE + || model_type == InterferenceHardDiskItem::M_TYPE + || model_type == InterferenceRadialParaCrystalItem::M_TYPE; } IView* SampleViewFactory::createSampleView(const QString& model_type) -- GitLab