From cfdc6acf173a7b3d909b454b0b32be3824b8ef3e Mon Sep 17 00:00:00 2001 From: Gennady Pospelov <g.pospelov@fz-juelich.de> Date: Tue, 14 Mar 2017 15:31:27 +0100 Subject: [PATCH] DetectorContainerItem was fully removed. --- GUI/coregui/Models/DetectorItems.cpp | 31 ----------------- GUI/coregui/Models/DetectorItems.h | 20 ----------- GUI/coregui/Models/InstrumentItem.cpp | 34 +++++++------------ GUI/coregui/Models/InstrumentItem.h | 2 -- GUI/coregui/Models/ItemFactory.cpp | 2 -- GUI/coregui/Models/ModelPath.cpp | 4 ++- GUI/coregui/Models/TransformFromDomain.h | 1 - GUI/coregui/Models/item_constants.h | 2 +- .../LinkInstrumentManager.cpp | 6 ++-- 9 files changed, 18 insertions(+), 84 deletions(-) diff --git a/GUI/coregui/Models/DetectorItems.cpp b/GUI/coregui/Models/DetectorItems.cpp index 0fd45e7247d..9fddc959741 100644 --- a/GUI/coregui/Models/DetectorItems.cpp +++ b/GUI/coregui/Models/DetectorItems.cpp @@ -21,37 +21,6 @@ #include "IDetector2D.h" #include "ResolutionFunctionItems.h" -const QString DetectorContainerItem::P_DETECTOR = "DetectorType"; - -DetectorContainerItem::DetectorContainerItem() : SessionItem(Constants::DetectorContainerType) -{ - addGroupProperty(P_DETECTOR, Constants::DetectorGroup); - setGroupProperty(P_DETECTOR, Constants::SphericalDetectorType); -} - -void DetectorContainerItem::clearMasks() { detectorItem()->clearMasks(); } - -DetectorItem* DetectorContainerItem::detectorItem() const -{ - DetectorItem* detectorItem = dynamic_cast<DetectorItem*>(getGroupItem(P_DETECTOR)); - Q_ASSERT(detectorItem); - return detectorItem; -} - -MaskContainerItem* DetectorContainerItem::maskContainerItem() const -{ - return detectorItem()->maskContainerItem(); -} - -void DetectorContainerItem::createMaskContainer() { detectorItem()->createMaskContainer(); } - -void DetectorContainerItem::importMasks(MaskContainerItem* maskContainer) -{ - detectorItem()->importMasks(maskContainer); -} - -// --------------------------------------------------------------------------------------------- // - const QString DetectorItem::T_MASKS = "Mask tag"; const QString DetectorItem::P_RESOLUTION_FUNCTION = "Type"; diff --git a/GUI/coregui/Models/DetectorItems.h b/GUI/coregui/Models/DetectorItems.h index 63d9b6ac7ab..8af8a958e52 100644 --- a/GUI/coregui/Models/DetectorItems.h +++ b/GUI/coregui/Models/DetectorItems.h @@ -24,25 +24,6 @@ class IDetector2D; class IResolutionFunction2D; class DetectorItem; -//! DetectorItem, holds masks and either rectangular or spherical detector as sub item -class BA_CORE_API_ DetectorContainerItem : public SessionItem -{ -public: - static const QString P_DETECTOR; - DetectorContainerItem(); - - void clearMasks(); - - DetectorItem *detectorItem() const; - - MaskContainerItem *maskContainerItem() const; - - void createMaskContainer(); - - void importMasks(MaskContainerItem* maskContainer); - -}; - class BA_CORE_API_ DetectorItem : public SessionItem { public: @@ -72,5 +53,4 @@ protected: void addMasksToDomain(IDetector2D* detector) const; }; - #endif // DETECTORITEMS_H diff --git a/GUI/coregui/Models/InstrumentItem.cpp b/GUI/coregui/Models/InstrumentItem.cpp index a01636cb5e8..c5f45d10ec2 100644 --- a/GUI/coregui/Models/InstrumentItem.cpp +++ b/GUI/coregui/Models/InstrumentItem.cpp @@ -24,7 +24,7 @@ const QString InstrumentItem::P_IDENTIFIER = "Identifier"; const QString InstrumentItem::P_BEAM = "Beam"; -const QString InstrumentItem::P_DETECTOR = "Data tag"; +const QString InstrumentItem::P_DETECTOR = "Detector"; InstrumentItem::InstrumentItem() : SessionItem(Constants::InstrumentType) @@ -34,51 +34,41 @@ InstrumentItem::InstrumentItem() addProperty(P_IDENTIFIER, GUIHelpers::createUuid())->setVisible(false); addGroupProperty(P_BEAM, Constants::BeamType); - addGroupProperty(P_DETECTOR, Constants::DetectorContainerType); -// const QString T_DATA = "Data tag"; -// registerTag(T_DATA, 0, -1, QStringList() << Constants::DetectorContainerType); + addGroupProperty(P_DETECTOR, Constants::DetectorGroup); + setGroupProperty(P_DETECTOR, Constants::SphericalDetectorType); + setDefaultTag(P_DETECTOR); } BeamItem *InstrumentItem::beamItem() const { - for(SessionItem *item : childItems()) - if(item->modelType() == Constants::BeamType) - return dynamic_cast<BeamItem *>(item); - return 0; -} - -DetectorContainerItem *InstrumentItem::detectorContainerItem() const -{ - for(SessionItem *item : childItems()) - if(item->modelType() == Constants::DetectorContainerType) - return dynamic_cast<DetectorContainerItem *>(item); - return 0; + return &item<BeamItem>(InstrumentItem::P_BEAM); } DetectorItem* InstrumentItem::detectorItem() const { - return detectorContainerItem()->detectorItem(); + DetectorItem* result = dynamic_cast<DetectorItem*>(getGroupItem(P_DETECTOR)); + Q_ASSERT(result); + return result; } GroupItem* InstrumentItem::detectorGroup() { - return &detectorContainerItem()->item<GroupItem>(DetectorContainerItem::P_DETECTOR); + return &item<GroupItem>(P_DETECTOR); } void InstrumentItem::setDetectorGroup(const QString& modelType) { - detectorContainerItem()->setGroupProperty(DetectorContainerItem::P_DETECTOR, modelType); + setGroupProperty(P_DETECTOR, modelType); } void InstrumentItem::clearMasks() { - detectorContainerItem()->clearMasks(); + detectorItem()->clearMasks(); } void InstrumentItem::importMasks(MaskContainerItem* maskContainer) { - DetectorContainerItem *detectorContainer = detectorContainerItem(); - detectorContainer->importMasks(maskContainer); + detectorItem()->importMasks(maskContainer); } diff --git a/GUI/coregui/Models/InstrumentItem.h b/GUI/coregui/Models/InstrumentItem.h index 7a251c7d1f3..54fc9777220 100644 --- a/GUI/coregui/Models/InstrumentItem.h +++ b/GUI/coregui/Models/InstrumentItem.h @@ -20,7 +20,6 @@ #include "SessionItem.h" class BeamItem; -class DetectorContainerItem; class DetectorItem; class MaskContainerItem; class GroupItem; @@ -34,7 +33,6 @@ public: InstrumentItem(); BeamItem *beamItem() const; - DetectorContainerItem *detectorContainerItem() const; DetectorItem *detectorItem() const; GroupItem* detectorGroup(); diff --git a/GUI/coregui/Models/ItemFactory.cpp b/GUI/coregui/Models/ItemFactory.cpp index e01598ebf22..eccfe4a82d6 100644 --- a/GUI/coregui/Models/ItemFactory.cpp +++ b/GUI/coregui/Models/ItemFactory.cpp @@ -112,7 +112,6 @@ ItemFactory::ItemMap_t initializeItemMap() { result[Constants::LayerBasicRoughnessType] = &createInstance<LayerBasicRoughnessItem>; result[Constants::LayerZeroRoughnessType] = &createInstance<LayerZeroRoughnessItem>; - result[Constants::DetectorContainerType] = &createInstance<DetectorContainerItem>; result[Constants::SphericalDetectorType] = &createInstance<SphericalDetectorItem>; result[Constants::RectangularDetectorType] = &createInstance<RectangularDetectorItem>; @@ -162,7 +161,6 @@ ItemFactory::ItemMap_t initializeItemMap() { result[Constants::BasicAxisType] = &createInstance<BasicAxisItem>; result[Constants::AmplitudeAxisType] = &createInstance<AmplitudeAxisItem>; -// result[Constants::BeamDistributionType] = &createInstance<BeamDistributionItem>; result[Constants::BeamWavelengthType] = &createInstance<BeamWavelengthItem>; result[Constants::BeamAzimuthalAngleType] = &createInstance<BeamAzimuthalAngleItem>; result[Constants::BeamInclinationAngleType] = &createInstance<BeamInclinationAngleItem>; diff --git a/GUI/coregui/Models/ModelPath.cpp b/GUI/coregui/Models/ModelPath.cpp index 5de7f351f53..e2eb683b361 100644 --- a/GUI/coregui/Models/ModelPath.cpp +++ b/GUI/coregui/Models/ModelPath.cpp @@ -89,7 +89,9 @@ bool ModelPath::isValidItem(SessionModel* model, SessionItem* item, const QModel bool ModelPath::isTranslatable(const SessionItem* item, const QString& par_name) { Q_UNUSED(item); - if (par_name.contains(InstrumentItem::P_DETECTOR)) + if (par_name.contains(Constants::SphericalDetectorType)) + return false; + if (par_name.contains(Constants::RectangularDetectorType)) return false; if (par_name.contains(Constants::DistributionSigmaFactor)) return false; diff --git a/GUI/coregui/Models/TransformFromDomain.h b/GUI/coregui/Models/TransformFromDomain.h index f760642d173..e07e6c16f84 100644 --- a/GUI/coregui/Models/TransformFromDomain.h +++ b/GUI/coregui/Models/TransformFromDomain.h @@ -22,7 +22,6 @@ class BeamDistributionItem; class BeamItem; -class DetectorContainerItem; class FormFactorAnisoPyramid; class GISASSimulation; class InterferenceFunction1DLattice; diff --git a/GUI/coregui/Models/item_constants.h b/GUI/coregui/Models/item_constants.h index 668e806d409..d5a6d4eede0 100644 --- a/GUI/coregui/Models/item_constants.h +++ b/GUI/coregui/Models/item_constants.h @@ -38,7 +38,7 @@ const ModelType InterferenceFunction2DParaCrystalType = "Interference2DParaCryst const ModelType InterferenceFunction1DLatticeType = "Interference1DLattice"; const ModelType InterferenceFunction2DLatticeType = "Interference2DLattice"; const ModelType InstrumentType = "Instrument"; -const ModelType DetectorContainerType = "DetectorContainer"; +//const ModelType DetectorContainerType = "DetectorContainer"; const ModelType BeamType = "Beam"; const ModelType FormFactorType = "FormFactor"; diff --git a/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.cpp b/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.cpp index f653b4f63e1..af17af2fde6 100644 --- a/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.cpp +++ b/GUI/coregui/Views/ImportDataWidgets/LinkInstrumentManager.cpp @@ -171,12 +171,10 @@ void LinkInstrumentManager::onInstrumentChildChange(InstrumentItem *instrument, if(child == nullptr) return; - if(child->itemName() == BasicAxisItem::P_NBINS || - child->parent()->itemName() == DetectorContainerItem::P_DETECTOR) { + if(child->itemName() == BasicAxisItem::P_NBINS) onInstrumentBinningChange(instrument); - } else { + else onInstrumentLayoutChange(instrument); - } } //! Updates map of instruments on insert/remove InstrumentItem event. -- GitLab