From c8aa12dc2f86370016faa4983fd898c9c944c4d0 Mon Sep 17 00:00:00 2001 From: Tobias Knopff <t.knopff@fz-juelich.de> Date: Thu, 27 May 2021 17:08:06 +0200 Subject: [PATCH] Use string constant for instrument items type names --- GUI/Models/InstrumentItems.cpp | 20 +++++++++++-------- GUI/Models/InstrumentItems.h | 8 ++++++++ GUI/Models/ItemCatalog.cpp | 8 ++++---- GUI/Models/JobItem.cpp | 9 ++++----- .../DetectorMaskDelegate.cpp | 2 +- 5 files changed, 29 insertions(+), 18 deletions(-) diff --git a/GUI/Models/InstrumentItems.cpp b/GUI/Models/InstrumentItems.cpp index 8a5f9cde1f5..1e0d318db7f 100644 --- a/GUI/Models/InstrumentItems.cpp +++ b/GUI/Models/InstrumentItems.cpp @@ -40,8 +40,6 @@ namespace { const QString background_group_label = "Type"; -const QStringList instrument_names{"GISASInstrument", "OffSpecularInstrument", - "SpecularInstrument"}; BasicAxisItem* addAxisGroupProperty(SessionItem* parent, const QString& tag) { @@ -145,7 +143,9 @@ template <typename T> T* InstrumentItem::beam() const // class SpecularInstrumentItem // ************************************************************************************************ -SpecularInstrumentItem::SpecularInstrumentItem() : InstrumentItem("SpecularInstrument") +const QString SpecularInstrumentItem::M_TYPE = "SpecularInstrument"; + +SpecularInstrumentItem::SpecularInstrumentItem() : InstrumentItem(M_TYPE) { addBeam<SpecularBeamItem>(); @@ -284,7 +284,9 @@ bool Instrument2DItem::isDetectorPropertyName(const QString& name) // class GISASInstrumentItem // ************************************************************************************************ -GISASInstrumentItem::GISASInstrumentItem() : Instrument2DItem("GISASInstrument") {} +const QString GISASInstrumentItem::M_TYPE = "GISASInstrument"; + +GISASInstrumentItem::GISASInstrumentItem() : Instrument2DItem(M_TYPE) {} std::vector<int> GISASInstrumentItem::shape() const { @@ -323,7 +325,9 @@ ICoordSystem* GISASInstrumentItem::createCoordSystem() const const QString OffSpecularInstrumentItem::P_ALPHA_AXIS = "Alpha axis"; -OffSpecularInstrumentItem::OffSpecularInstrumentItem() : Instrument2DItem("OffSpecularInstrument") +const QString OffSpecularInstrumentItem::M_TYPE = "OffSpecularInstrument"; + +OffSpecularInstrumentItem::OffSpecularInstrumentItem() : Instrument2DItem(M_TYPE) { BasicAxisItem* axis_item = addAxisGroupProperty(this, P_ALPHA_AXIS); auto inclination_item = axis_item->lowerBoundItem(); @@ -396,10 +400,10 @@ BasicAxisItem* OffSpecularInstrumentItem::alphaAxis() const const QString DepthProbeInstrumentItem::P_Z_AXIS = "Z axis"; -DepthProbeInstrumentItem::DepthProbeInstrumentItem() : InstrumentItem("DepthProbeInstrument") -{ - setItemName("DepthProbeInstrument"); +const QString DepthProbeInstrumentItem::M_TYPE = "DepthProbeInstrument"; +DepthProbeInstrumentItem::DepthProbeInstrumentItem() : InstrumentItem(M_TYPE) +{ addBeam<SpecularBeamItem>(); auto axisItem = beamItem()->currentInclinationAxisItem(); diff --git a/GUI/Models/InstrumentItems.h b/GUI/Models/InstrumentItems.h index 42f9e864720..5df38ee20d0 100644 --- a/GUI/Models/InstrumentItems.h +++ b/GUI/Models/InstrumentItems.h @@ -73,6 +73,8 @@ protected: class BA_CORE_API_ SpecularInstrumentItem : public InstrumentItem { public: + static const QString M_TYPE; + SpecularInstrumentItem(); ~SpecularInstrumentItem() override; @@ -115,6 +117,8 @@ protected: class BA_CORE_API_ GISASInstrumentItem : public Instrument2DItem { public: + static const QString M_TYPE; + GISASInstrumentItem(); std::vector<int> shape() const override; void updateToRealData(const RealDataItem* item) override; @@ -129,6 +133,8 @@ private: static const QString P_ALPHA_AXIS; public: + static const QString M_TYPE; + OffSpecularInstrumentItem(); std::vector<int> shape() const override; void updateToRealData(const RealDataItem* item) override; @@ -145,6 +151,8 @@ private: static const QString P_Z_AXIS; public: + static const QString M_TYPE; + DepthProbeInstrumentItem(); SpecularBeamItem* beamItem() const override; diff --git a/GUI/Models/ItemCatalog.cpp b/GUI/Models/ItemCatalog.cpp index bf5fe6243c5..3f2fca01ce3 100644 --- a/GUI/Models/ItemCatalog.cpp +++ b/GUI/Models/ItemCatalog.cpp @@ -77,12 +77,12 @@ ItemCatalog::ItemCatalog() add("InterferenceFinite2DLattice", create_new<InterferenceFunctionFinite2DLatticeItem>); add("InterferenceHardDisk", create_new<InterferenceFunctionHardDiskItem>); add("InterferenceRadialParaCrystal", create_new<InterferenceFunctionRadialParaCrystalItem>); - add("GISASInstrument", create_new<GISASInstrumentItem>); - add("OffSpecularInstrument", create_new<OffSpecularInstrumentItem>); + addItem<GISASInstrumentItem>(); + addItem<OffSpecularInstrumentItem>(); // the following line is necessary for loading BornAgain projects which have been created before // global renaming to "OffSpecularInstrument" add("OffSpecInstrument", create_new<OffSpecularInstrumentItem>); - add("SpecularInstrument", create_new<SpecularInstrumentItem>); + addItem<SpecularInstrumentItem>(); addItem<GISASBeamItem>(); addItem<SpecularBeamItem>(); addItem<BackgroundNoneItem>(); @@ -238,7 +238,7 @@ ItemCatalog::ItemCatalog() add("ProjectionContainer", create_new<ProjectionContainerItem>); - add("DepthProbeInstrument", create_new<DepthProbeInstrumentItem>); + addItem<DepthProbeInstrumentItem>(); } std::unique_ptr<SessionItem> ItemCatalog::createItemPtr(const QString& modelType) const diff --git a/GUI/Models/JobItem.cpp b/GUI/Models/JobItem.cpp index 0539800f2ac..593f7d207f6 100644 --- a/GUI/Models/JobItem.cpp +++ b/GUI/Models/JobItem.cpp @@ -72,11 +72,10 @@ JobItem::JobItem() : SessionItem("JobItem") registerTag(T_SAMPLE, 1, 1, QStringList() << "MultiLayer"); registerTag(T_MATERIAL_CONTAINER, 1, 1, QStringList{"MaterialContainer"}); - registerTag(T_INSTRUMENT, 1, 1, - QStringList() << "GISASInstrument" - << "OffSpecularInstrument" - << "SpecularInstrument" - << "DepthProbeInstrument"); + registerTag(T_INSTRUMENT, 1, 1, { GISASInstrumentItem::M_TYPE, + OffSpecularInstrumentItem::M_TYPE, + SpecularInstrumentItem::M_TYPE, + DepthProbeInstrumentItem::M_TYPE }); registerTag(T_OUTPUT, 1, 1, { IntensityDataItem::M_TYPE, SpecularDataItem::M_TYPE }); registerTag(T_REALDATA, 1, 1, QStringList() << "RealData"); diff --git a/GUI/Views/InstrumentWidgets/DetectorMaskDelegate.cpp b/GUI/Views/InstrumentWidgets/DetectorMaskDelegate.cpp index c0e54338709..51110a9901a 100644 --- a/GUI/Views/InstrumentWidgets/DetectorMaskDelegate.cpp +++ b/GUI/Views/InstrumentWidgets/DetectorMaskDelegate.cpp @@ -69,7 +69,7 @@ void DetectorMaskDelegate::createIntensityDataItem() // creating output data corresponding to the detector auto instrument = dynamic_cast<const GISASInstrumentItem*>( - ModelPath::ancestor(m_detectorItem, "GISASInstrument")); + ModelPath::ancestor(m_detectorItem, GISASInstrumentItem::M_TYPE)); JobItemUtils::createDefaultDetectorMap(m_intensityItem, instrument); m_intensityItem->getOutputData()->setAllTo(1.0); -- GitLab