From bde9ac0eae8d6a3ee3f5dae9dbc02646d03d4f0d Mon Sep 17 00:00:00 2001 From: Mikhail Svechnikov <m.svechnikov@fz-juelich.de> Date: Tue, 3 Jan 2023 11:10:01 +0100 Subject: [PATCH] add "Item" in Device --- GUI/Model/Device/AxesItems.h | 10 ------- GUI/Model/Device/BeamDistributionItem.h | 6 ++--- GUI/Model/Device/BeamItems.cpp | 10 +++---- GUI/Model/Device/BeamItems.h | 6 ++--- GUI/Model/Device/DetectorItems.cpp | 2 +- GUI/Model/Device/DetectorItems.h | 2 +- GUI/Model/Device/InstrumentCollection.cpp | 18 ++++++------- GUI/Model/Device/InstrumentCollection.h | 11 ++++---- GUI/Model/Device/InstrumentItems.cpp | 18 ++++++------- GUI/Model/Device/InstrumentItems.h | 16 ++++++------ GUI/Model/Device/InstrumentLibrary.cpp | 12 ++++----- GUI/Model/Device/InstrumentLibrary.h | 6 ++--- .../Device/InstrumentsEditController.cpp | 6 ++--- GUI/Model/Device/InstrumentsEditController.h | 10 +++---- .../Device/SpecularBeamInclinationItem.cpp | 2 +- .../Device/SpecularBeamInclinationItem.h | 2 +- GUI/Model/FromCore/ItemizeSimulation.cpp | 22 ++++++++-------- GUI/Model/Job/JobItem.cpp | 2 +- GUI/Model/Model/ParameterTreeUtils.cpp | 2 +- GUI/Model/Project/LinkInstrumentManager.cpp | 2 +- GUI/Model/ToCore/SimulationToCore.cpp | 6 ++--- GUI/View/Import/RealDataPropertiesWidget.cpp | 4 +-- GUI/View/Import/SpecularDataImportWidget.cpp | 2 +- GUI/View/Instrument/DetectorEditor.cpp | 2 +- GUI/View/Instrument/DistributionEditor.cpp | 4 +-- GUI/View/Instrument/EnvironmentEditor.cpp | 2 +- .../Instrument/FootprintCorrectionEditor.cpp | 4 +-- .../Instrument/InclinationAnglesEditor.cpp | 2 +- .../Instrument/InstrumentEditController.cpp | 2 +- .../Instrument/InstrumentLibraryEditor.cpp | 4 +-- GUI/View/Instrument/InstrumentListModel.cpp | 26 +++++++++---------- GUI/View/Instrument/InstrumentListModel.h | 2 +- GUI/View/Instrument/InstrumentListView.cpp | 8 +++--- GUI/View/Instrument/InstrumentListView.h | 2 +- GUI/View/Instrument/InstrumentView.cpp | 10 +++---- .../Instrument/ResolutionFunctionEditor.cpp | 4 +-- GUI/View/PlotUtil/DataPropertyWidget.cpp | 2 +- GUI/View/Toplevel/ProjectSettingsView.cpp | 2 +- GUI/View/Toplevel/SimulationView.cpp | 2 +- Tests/Suite/GUI/Check.cpp | 2 +- Tests/Unit/GUI/TestDetectorItems.cpp | 6 ++--- Tests/Unit/GUI/TestInstrumentItems.cpp | 8 +++--- Tests/Unit/GUI/TestLinkInstrument.cpp | 4 +-- Tests/Unit/GUI/TestProjectDocument.cpp | 6 ++--- Tests/Unit/GUI/TestSaveService.cpp | 14 +++++----- Tests/Unit/GUI/TestSessionModel.cpp | 2 +- Tests/Unit/GUI/TestSessionXML.cpp | 2 +- 47 files changed, 144 insertions(+), 155 deletions(-) diff --git a/GUI/Model/Device/AxesItems.h b/GUI/Model/Device/AxesItems.h index 909b4f66bf9..fbc3120eb02 100644 --- a/GUI/Model/Device/AxesItems.h +++ b/GUI/Model/Device/AxesItems.h @@ -33,28 +33,18 @@ public: public: virtual std::unique_ptr<IAxis> createAxis(double scale) const; - // bins - int binCount() const; void setBinCount(size_t value); - // min - double min() const; void setMin(double value); - // max - double max() const; void setMax(double value); - // title - QString title() const; void setTitle(const QString& title); - // visibility - bool isVisible() const; void setVisible(bool b); diff --git a/GUI/Model/Device/BeamDistributionItem.h b/GUI/Model/Device/BeamDistributionItem.h index c4a8c7c5a65..6b55e9dba8b 100644 --- a/GUI/Model/Device/BeamDistributionItem.h +++ b/GUI/Model/Device/BeamDistributionItem.h @@ -39,9 +39,9 @@ public: virtual double scaleFactor() const; template <typename T> - T* setDistributionType(); + T* setDistributionItemType(); DistributionItem* distributionItem() const { return m_distribution.currentItem(); } - SelectionProperty<DistributionItemCatalog>& distribution() { return m_distribution; } + SelectionProperty<DistributionItemCatalog>& distributionSelection() { return m_distribution; } protected: virtual std::unique_ptr<IDistribution1D> createDistribution1D() const; @@ -50,7 +50,7 @@ protected: }; template <typename T> -T* BeamDistributionItem::setDistributionType() +T* BeamDistributionItem::setDistributionItemType() { m_distribution.setCurrentItem<T>(); return dynamic_cast<T*>(m_distribution.currentItem()); diff --git a/GUI/Model/Device/BeamItems.cpp b/GUI/Model/Device/BeamItems.cpp index 1f338401357..3885097b1cb 100644 --- a/GUI/Model/Device/BeamItems.cpp +++ b/GUI/Model/Device/BeamItems.cpp @@ -144,7 +144,7 @@ BeamDistributionItem* BeamItem::inclinationAngleItem() const return m_inclinationAngleItem.get(); } -double BeamItem::getAzimuthalAngle() const +double BeamItem::azimuthalAngle() const { return m_azimuthalAngleItem->azimuthalAngle(); } @@ -163,7 +163,7 @@ std::shared_ptr<Beam> BeamItem::createBeam() const { double lambda = wavelength(); double inclination_angle = Units::deg2rad(getInclinationAngle()); - double azimuthal_angle = Units::deg2rad(getAzimuthalAngle()); + double azimuthal_angle = Units::deg2rad(azimuthalAngle()); auto result = std::make_shared<Beam>(intensity(), lambda, Direction(inclination_angle, azimuthal_angle)); @@ -249,9 +249,9 @@ SpecularBeamInclinationItem* SpecularBeamItem::inclinationAngleItem() const return dynamic_cast<SpecularBeamInclinationItem*>(BeamItem::inclinationAngleItem()); } -BasicAxisItem* SpecularBeamItem::inclinationAxis() const +BasicAxisItem* SpecularBeamItem::inclinationAxisItem() const { - return inclinationAngleItem()->alphaAxis(); + return inclinationAngleItem()->alphaAxisItem(); } void SpecularBeamItem::setGaussianFootprint(double value) @@ -278,7 +278,7 @@ void SpecularBeamItem::updateToData(const IAxis& axis, QString units) void SpecularBeamItem::updateWavelength() { - auto* item = inclinationAngleItem()->alphaAxis(); + auto* item = inclinationAngleItem()->alphaAxisItem(); auto* wavelength = dynamic_cast<SpecularBeamWavelengthItem*>(wavelengthItem()); if (auto* pointwiseAxis = dynamic_cast<PointwiseAxisItem*>(item)) { const auto* axis = pointwiseAxis->axis(); diff --git a/GUI/Model/Device/BeamItems.h b/GUI/Model/Device/BeamItems.h index 87c576bce2c..a8f941b5eed 100644 --- a/GUI/Model/Device/BeamItems.h +++ b/GUI/Model/Device/BeamItems.h @@ -49,7 +49,7 @@ public: virtual void setInclinationAngle(double value); virtual BeamDistributionItem* inclinationAngleItem() const; - double getAzimuthalAngle() const; + double azimuthalAngle() const; void setAzimuthalAngle(double value); BeamAzimuthalAngleItem* azimuthalAngleItem() const; @@ -80,9 +80,9 @@ public: double getInclinationAngle() const override; void setInclinationAngle(double value) override; SpecularBeamInclinationItem* inclinationAngleItem() const override; - BasicAxisItem* inclinationAxis() const; + BasicAxisItem* inclinationAxisItem() const; - SelectionProperty<FootprintItemCatalog>& footprint() { return m_footprint; } + SelectionProperty<FootprintItemCatalog>& footprintSelection() { return m_footprint; } void setGaussianFootprint(double value); void setSquareFootprint(double value); diff --git a/GUI/Model/Device/DetectorItems.cpp b/GUI/Model/Device/DetectorItems.cpp index fdf6dc0ad86..b82d8fb43b1 100644 --- a/GUI/Model/Device/DetectorItems.cpp +++ b/GUI/Model/Device/DetectorItems.cpp @@ -90,7 +90,7 @@ MaskItems& DetectorItem::maskItems() return m_maskItems; } -SelectionProperty<ResolutionFunctionItemCatalog>& DetectorItem::resolutionFunction() +SelectionProperty<ResolutionFunctionItemCatalog>& DetectorItem::resolutionFunctionSelection() { return m_resolutionFunction; } diff --git a/GUI/Model/Device/DetectorItems.h b/GUI/Model/Device/DetectorItems.h index 57b07c52a35..8a21eaec417 100644 --- a/GUI/Model/Device/DetectorItems.h +++ b/GUI/Model/Device/DetectorItems.h @@ -51,7 +51,7 @@ public: void importMasks(const MaskContainerItem* maskContainer); MaskItems& maskItems(); - SelectionProperty<ResolutionFunctionItemCatalog>& resolutionFunction(); + SelectionProperty<ResolutionFunctionItemCatalog>& resolutionFunctionSelection(); template <typename T> T* setResolutionFunctionType(); diff --git a/GUI/Model/Device/InstrumentCollection.cpp b/GUI/Model/Device/InstrumentCollection.cpp index 4ee4cf022e4..7e7c9d030fc 100644 --- a/GUI/Model/Device/InstrumentCollection.cpp +++ b/GUI/Model/Device/InstrumentCollection.cpp @@ -69,15 +69,15 @@ void InstrumentCollection::emplace_back(InstrumentItem* item) addEmptyInstrumentSelection().setCurrentItem(item); } -InstrumentItem* InstrumentCollection::insertCopy(const InstrumentItem& source) +InstrumentItem* InstrumentCollection::insertItemCopy(const InstrumentItem& source) { - auto* copy = source.createCopy(); + auto* copy = source.createItemCopy(); copy->setId(QUuid::createUuid().toString()); emplace_back(copy); return copy; } -QVector<InstrumentItem*> InstrumentCollection::collectedItems() const +QVector<InstrumentItem*> InstrumentCollection::instrumentItems() const { QVector<InstrumentItem*> output; for (const auto& sel : m_instruments) @@ -88,7 +88,7 @@ QVector<InstrumentItem*> InstrumentCollection::collectedItems() const QStringList InstrumentCollection::instrumentNames() const { QStringList existingNames; - for (const auto* item : collectedItems()) + for (const auto* item : instrumentItems()) existingNames << item->instrumentName(); return existingNames; } @@ -109,7 +109,7 @@ QVector<InstrumentItem*> InstrumentCollection::instrumentItems( const std::function<bool(const InstrumentItem*)>& accept) const { QVector<InstrumentItem*> result; - for (auto* p : collectedItems()) + for (auto* p : instrumentItems()) if (accept(p)) result << p; @@ -119,16 +119,16 @@ QVector<InstrumentItem*> InstrumentCollection::instrumentItems( QVector<Instrument2DItem*> InstrumentCollection::instrument2DItems() const { QVector<Instrument2DItem*> result; - for (auto* p : collectedItems()) + for (auto* p : instrumentItems()) if (auto* p2D = dynamic_cast<Instrument2DItem*>(p)) result << p2D; return result; } -InstrumentItem* InstrumentCollection::findInstrumentById(const QString& instrumentId) const +InstrumentItem* InstrumentCollection::findInstrumentItemById(const QString& instrumentId) const { - for (auto* instrument : collectedItems()) + for (auto* instrument : instrumentItems()) if (instrument->id() == instrumentId) return instrument; @@ -137,7 +137,7 @@ InstrumentItem* InstrumentCollection::findInstrumentById(const QString& instrume bool InstrumentCollection::instrumentExists(const QString& instrumentId) const { - return findInstrumentById(instrumentId) != nullptr; + return findInstrumentItemById(instrumentId) != nullptr; } void InstrumentCollection::removeInstrument(InstrumentItem* instrument) diff --git a/GUI/Model/Device/InstrumentCollection.h b/GUI/Model/Device/InstrumentCollection.h index 69a866cbe5b..ab0467a104c 100644 --- a/GUI/Model/Device/InstrumentCollection.h +++ b/GUI/Model/Device/InstrumentCollection.h @@ -31,7 +31,7 @@ public: ~InstrumentCollection(); template <typename T> - T* addInstrument() + T* addInstrumentItem() { auto* t = new T(); emplace_back(t); @@ -49,14 +49,13 @@ public: //! Inserts a deep copy (also of any non xml data in a pointwise axis) //! The id will not be copied, but a new unique one will be created //! Returns the newly created instrument. - InstrumentItem* insertCopy(const InstrumentItem& source); + InstrumentItem* insertItemCopy(const InstrumentItem& source); - QVector<InstrumentItem*> collectedItems() const; + QVector<InstrumentItem*> instrumentItems() const; QVector<Instrument2DItem*> instrument2DItems() const; - QVector<InstrumentItem*> - instrumentItems(const std::function<bool(const InstrumentItem*)>& accept) const; + QVector<InstrumentItem*> instrumentItems(const std::function<bool(const InstrumentItem*)>& accept) const; - InstrumentItem* findInstrumentById(const QString& instrumentId) const; + InstrumentItem* findInstrumentItemById(const QString& instrumentId) const; bool instrumentExists(const QString& instrumentId) const; QString suggestInstrumentName(const QString& baseName) const; diff --git a/GUI/Model/Device/InstrumentItems.cpp b/GUI/Model/Device/InstrumentItems.cpp index c12e32cdf35..6cf1eb3a113 100644 --- a/GUI/Model/Device/InstrumentItems.cpp +++ b/GUI/Model/Device/InstrumentItems.cpp @@ -89,7 +89,7 @@ InstrumentItem::InstrumentItem() m_background.init("Background", ""); } -InstrumentItem* InstrumentItem::createCopy() const +InstrumentItem* InstrumentItem::createItemCopy() const { const auto type = InstrumentItemCatalog::type(this); auto* copy = InstrumentItemCatalog::create(type); @@ -118,7 +118,7 @@ void InstrumentItem::setWithPolarizerAnalyzer(bool with) } template <typename T> -T* InstrumentItem::beam() const +T* InstrumentItem::beamItemCast() const { return dynamic_cast<T*>(m_beamItem.get()); } @@ -256,12 +256,12 @@ SpecularInstrumentItem::SpecularInstrumentItem() SpecularBeamItem* SpecularInstrumentItem::beamItem() const { - return beam<SpecularBeamItem>(); + return beamItemCast<SpecularBeamItem>(); } std::vector<int> SpecularInstrumentItem::shape() const { - auto* const axis_item = beamItem()->inclinationAxis(); + auto* const axis_item = beamItem()->inclinationAxisItem(); return {axis_item->binCount()}; } @@ -286,7 +286,7 @@ bool SpecularInstrumentItem::alignedWith(const RealItem* item) const return false; const auto* axisItem = - dynamic_cast<const PointwiseAxisItem*>(beamItem()->inclinationAngleItem()->alphaAxis()); + dynamic_cast<const PointwiseAxisItem*>(beamItem()->inclinationAngleItem()->alphaAxisItem()); ASSERT(axisItem); if (axisItem->nativeAxisUnits() != native_units) @@ -311,7 +311,7 @@ bool SpecularInstrumentItem::alignedWith(const RealItem* item) const const ICoordSystem* SpecularInstrumentItem::createCoordSystem() const { std::shared_ptr<Beam> beam = beamItem()->createBeam(); - auto* axis_item = beamItem()->inclinationAxis(); + auto* axis_item = beamItem()->inclinationAxisItem(); if (auto* pointwise_axis = dynamic_cast<PointwiseAxisItem*>(axis_item)) { if (!pointwise_axis->axis()) // workaround for loading project return nullptr; @@ -343,7 +343,7 @@ DepthProbeInstrumentItem::DepthProbeInstrumentItem() { m_beamItem.reset(new SpecularBeamItem(this)); - auto* axisItem = beamItem()->inclinationAxis(); + auto* axisItem = beamItem()->inclinationAxisItem(); axisItem->setMin(0.0); axisItem->setMax(1.0); axisItem->setBinCount(500); @@ -394,7 +394,7 @@ void DepthProbeInstrumentItem::readFrom(QXmlStreamReader* r) SpecularBeamItem* DepthProbeInstrumentItem::beamItem() const { - return beam<SpecularBeamItem>(); + return beamItemCast<SpecularBeamItem>(); } std::vector<int> DepthProbeInstrumentItem::shape() const @@ -421,7 +421,7 @@ DepthProbeSimulation* DepthProbeInstrumentItem::createSimulation(const MultiLaye { auto* simulation = new DepthProbeSimulation(sample); - auto* const axis_item = beamItem()->inclinationAxis(); + auto* const axis_item = beamItem()->inclinationAxisItem(); auto axis = axis_item->createAxis(Units::deg); simulation->setBeamParameters(beamItem()->wavelength(), static_cast<int>(axis->size()), diff --git a/GUI/Model/Device/InstrumentItems.h b/GUI/Model/Device/InstrumentItems.h index 8c626208170..d6408ca6c5d 100644 --- a/GUI/Model/Device/InstrumentItems.h +++ b/GUI/Model/Device/InstrumentItems.h @@ -45,7 +45,7 @@ public: virtual ~InstrumentItem() = default; //! Creates an exact copy; also ID is the same! - InstrumentItem* createCopy() const; + InstrumentItem* createItemCopy() const; virtual void writeTo(QXmlStreamWriter* w) const; virtual void readFrom(QXmlStreamReader* r); @@ -71,8 +71,8 @@ public: virtual BeamItem* beamItem() const; template <typename T> - T* setBackgroundType(); - SelectionProperty<BackgroundItemCatalog>& background() { return m_background; } + T* setBackgroundItemType(); + SelectionProperty<BackgroundItemCatalog>& backgroundSelection() { return m_background; } BackgroundItem* backgroundItem() const { return m_background.currentItem(); } virtual std::vector<int> shape() const = 0; @@ -110,7 +110,7 @@ protected: explicit InstrumentItem(const QString& modelType); template <typename T> - T* beam() const; + T* beamItemCast() const; QString m_id; QString m_name; @@ -179,9 +179,9 @@ public: void readFrom(QXmlStreamReader* r) override; template <typename T> - T* setDetectorType(); + T* setDetectorItemType(); DetectorItem* detectorItem() const { return m_detector.currentItem(); } - SelectionProperty<DetectorItemCatalog>& detector() { return m_detector; } + SelectionProperty<DetectorItemCatalog>& detectorSelection() { return m_detector; } void importMasks(const MaskContainerItem* maskContainer) override; @@ -236,14 +236,14 @@ protected: // ************************************************************************************************ template <typename T> -T* InstrumentItem::setBackgroundType() +T* InstrumentItem::setBackgroundItemType() { m_background.setCurrentItem<T>(); return dynamic_cast<T*>(m_background.currentItem()); } template <typename T> -T* Instrument2DItem::setDetectorType() +T* Instrument2DItem::setDetectorItemType() { m_detector.setCurrentItem<T>(); return dynamic_cast<T*>(m_detector.currentItem()); diff --git a/GUI/Model/Device/InstrumentLibrary.cpp b/GUI/Model/Device/InstrumentLibrary.cpp index 8b80cd676c7..e39689dc75f 100644 --- a/GUI/Model/Device/InstrumentLibrary.cpp +++ b/GUI/Model/Device/InstrumentLibrary.cpp @@ -48,19 +48,19 @@ QString InstrumentLibrary::suggestName(const QString& name) const return m_instrumentItems.suggestInstrumentName(name); } -InstrumentItem* InstrumentLibrary::add(const QString& name, const InstrumentItem& itemToCopy) +InstrumentItem* InstrumentLibrary::addItemCopy(const QString& name, const InstrumentItem& itemToCopy) { - return m_ec.addCopy(&itemToCopy, name); + return m_ec.addInstrumentItemCopy(&itemToCopy, name); } bool InstrumentLibrary::isEmpty() const { - return m_instrumentItems.collectedItems().isEmpty(); + return m_instrumentItems.instrumentItems().isEmpty(); } -QList<InstrumentItem*> InstrumentLibrary::collectedItems() const +QList<InstrumentItem*> InstrumentLibrary::instrumentItems() const { - return m_instrumentItems.collectedItems().toList(); + return m_instrumentItems.instrumentItems().toList(); } InstrumentsEditController* InstrumentLibrary::editController() @@ -141,7 +141,7 @@ bool InstrumentLibrary::load() } } -InstrumentCollection* InstrumentLibrary::collectedItems() +InstrumentCollection* InstrumentLibrary::instrumentCollection() { return &m_instrumentItems; } diff --git a/GUI/Model/Device/InstrumentLibrary.h b/GUI/Model/Device/InstrumentLibrary.h index ab18678354e..cdc3fdff7dd 100644 --- a/GUI/Model/Device/InstrumentLibrary.h +++ b/GUI/Model/Device/InstrumentLibrary.h @@ -25,14 +25,14 @@ public: QString suggestName(const QString& name) const; //! Returns the new element - InstrumentItem* add(const QString& name, const InstrumentItem& itemToCopy); + InstrumentItem* addItemCopy(const QString& name, const InstrumentItem& itemToCopy); bool isEmpty() const; - QList<InstrumentItem*> collectedItems() const; + QList<InstrumentItem*> instrumentItems() const; bool saveIfModified(); bool load(); - InstrumentCollection* collectedItems(); + InstrumentCollection* instrumentCollection(); InstrumentsEditController* editController(); diff --git a/GUI/Model/Device/InstrumentsEditController.cpp b/GUI/Model/Device/InstrumentsEditController.cpp index c6be4943922..6da33cdd553 100644 --- a/GUI/Model/Device/InstrumentsEditController.cpp +++ b/GUI/Model/Device/InstrumentsEditController.cpp @@ -20,7 +20,7 @@ InstrumentsEditController::InstrumentsEditController(InstrumentCollection* instr { } -InstrumentCollection* InstrumentsEditController::collectedItems() +InstrumentCollection* InstrumentsEditController::instrumentCollection() { return m_instruments; } @@ -31,10 +31,10 @@ void InstrumentsEditController::removeInstrument(InstrumentItem* instrument) emit instrumentAddedOrRemoved(); } -InstrumentItem* InstrumentsEditController::addCopy(const InstrumentItem* instrument, +InstrumentItem* InstrumentsEditController::addInstrumentItemCopy(const InstrumentItem* instrument, const QString& name) { - InstrumentItem* copy = m_instruments->insertCopy(*instrument); + InstrumentItem* copy = m_instruments->insertItemCopy(*instrument); copy->setInstrumentName(name); emit instrumentAddedOrRemoved(); return copy; diff --git a/GUI/Model/Device/InstrumentsEditController.h b/GUI/Model/Device/InstrumentsEditController.h index 88fb7f8db3e..ebd9db7137f 100644 --- a/GUI/Model/Device/InstrumentsEditController.h +++ b/GUI/Model/Device/InstrumentsEditController.h @@ -44,17 +44,17 @@ public: InstrumentsEditController(InstrumentCollection* instruments); //! The list of existing instruments. - InstrumentCollection* collectedItems(); + InstrumentCollection* instrumentCollection(); //! Add an instrument and emit the respective signal. template <typename T> - T* addInstrument(); + T* addInstrumentItem(); //! Add an instrument and emit the respective signal. void removeInstrument(InstrumentItem* instrument); //! Copy an instrument, set its name and emit the respective signal. - InstrumentItem* addCopy(const InstrumentItem* instrument, const QString& name); + InstrumentItem* addInstrumentItemCopy(const InstrumentItem* instrument, const QString& name); //! Set an instrument's name and emit the respective signal. void setInstrumentName(InstrumentItem* instrument, const QString& name); @@ -87,9 +87,9 @@ private: }; template <typename T> -T* InstrumentsEditController::addInstrument() +T* InstrumentsEditController::addInstrumentItem() { - auto* t = m_instruments->addInstrument<T>(); + auto* t = m_instruments->addInstrumentItem<T>(); emit instrumentAddedOrRemoved(); return t; } diff --git a/GUI/Model/Device/SpecularBeamInclinationItem.cpp b/GUI/Model/Device/SpecularBeamInclinationItem.cpp index 4309bf47d14..cdfd84571ff 100644 --- a/GUI/Model/Device/SpecularBeamInclinationItem.cpp +++ b/GUI/Model/Device/SpecularBeamInclinationItem.cpp @@ -149,7 +149,7 @@ double SpecularBeamInclinationItem::scaleFactor() const return Units::deg; } -BasicAxisItem* SpecularBeamInclinationItem::alphaAxis() const +BasicAxisItem* SpecularBeamInclinationItem::alphaAxisItem() const { return m_currentAxisIsUniformAxis ? m_uniformAlphaAxis.get() : m_pointwiseAlphaAxis.get(); } diff --git a/GUI/Model/Device/SpecularBeamInclinationItem.h b/GUI/Model/Device/SpecularBeamInclinationItem.h index 0febf457af5..fa9b4b024b5 100644 --- a/GUI/Model/Device/SpecularBeamInclinationItem.h +++ b/GUI/Model/Device/SpecularBeamInclinationItem.h @@ -33,7 +33,7 @@ public: double scaleFactor() const override; //! The currently selected axis - BasicAxisItem* alphaAxis() const; + BasicAxisItem* alphaAxisItem() const; //! True if a pointwise axis was defined. //! diff --git a/GUI/Model/FromCore/ItemizeSimulation.cpp b/GUI/Model/FromCore/ItemizeSimulation.cpp index 8d77ba169b1..af8e49a069b 100644 --- a/GUI/Model/FromCore/ItemizeSimulation.cpp +++ b/GUI/Model/FromCore/ItemizeSimulation.cpp @@ -164,32 +164,32 @@ void setDistribution(BeamDistributionItem* part_distr_item, ParameterDistributio DistributionItem* distItem = nullptr; if (const auto* distr = dynamic_cast<const DistributionGate*>(distribution)) { - auto* distr_gate_item = part_distr_item->setDistributionType<DistributionGateItem>(); + auto* distr_gate_item = part_distr_item->setDistributionItemType<DistributionGateItem>(); distr_gate_item->setRange(factor * distr->min(), factor * distr->max()); distItem = distr_gate_item; } else if (const auto* distr = dynamic_cast<const DistributionLorentz*>(distribution)) { - auto* distr_lorentz_item = part_distr_item->setDistributionType<DistributionLorentzItem>(); + auto* distr_lorentz_item = part_distr_item->setDistributionItemType<DistributionLorentzItem>(); distr_lorentz_item->setMean(factor * distr->mean()); distr_lorentz_item->setHwhm(factor * distr->hwhm()); distItem = distr_lorentz_item; } else if (const auto* distr = dynamic_cast<const DistributionGaussian*>(distribution)) { - auto* distr_gauss_item = part_distr_item->setDistributionType<DistributionGaussianItem>(); + auto* distr_gauss_item = part_distr_item->setDistributionItemType<DistributionGaussianItem>(); distr_gauss_item->setMean(factor * distr->mean()); distr_gauss_item->setStandardDeviation(factor * distr->getStdDev()); distItem = distr_gauss_item; } else if (const auto* distr = dynamic_cast<const DistributionLogNormal*>(distribution)) { auto* distr_lognorm_item = - part_distr_item->setDistributionType<DistributionLogNormalItem>(); + part_distr_item->setDistributionItemType<DistributionLogNormalItem>(); distr_lognorm_item->setMedian(factor * distr->getMedian()); distr_lognorm_item->setScaleParameter(distr->getScalePar()); distItem = distr_lognorm_item; } else if (const auto* distr = dynamic_cast<const DistributionCosine*>(distribution)) { - auto* distr_cos_item = part_distr_item->setDistributionType<DistributionCosineItem>(); + auto* distr_cos_item = part_distr_item->setDistributionItemType<DistributionCosineItem>(); distr_cos_item->setMean(factor * distr->mean()); distr_cos_item->setSigma(factor * distr->sigma()); distItem = distr_cos_item; } else if (const auto* distr = dynamic_cast<const DistributionTrapezoid*>(distribution)) { - auto* distr_trapez_item = part_distr_item->setDistributionType<DistributionTrapezoidItem>(); + auto* distr_trapez_item = part_distr_item->setDistributionItemType<DistributionTrapezoidItem>(); distr_trapez_item->setCenter(factor * distr->mean()); distr_trapez_item->setLeftWidth(factor * distr->getLeftWidth()); distr_trapez_item->setMiddleWidth(factor * distr->getMiddleWidth()); @@ -358,10 +358,10 @@ void setRectangularDetector(RectangularDetectorItem* detectorItem, void setDetectorGeometry(Instrument2DItem* instrument_item, const IDetector& detector) { if (const auto* det = dynamic_cast<const SphericalDetector*>(&detector)) { - auto* item = instrument_item->setDetectorType<SphericalDetectorItem>(); + auto* item = instrument_item->setDetectorItemType<SphericalDetectorItem>(); setSphericalDetector(item, *det); } else if (const auto* det = dynamic_cast<const RectangularDetector*>(&detector)) { - auto* item = instrument_item->setDetectorType<RectangularDetectorItem>(); + auto* item = instrument_item->setDetectorItemType<RectangularDetectorItem>(); setRectangularDetector(item, *det); } else { throw Error("setDetectorGeometry() -> Unknown detector type."); @@ -425,11 +425,11 @@ void setBackground(InstrumentItem* instrument_item, const ISimulation& simulatio { const auto* bg = simulation.background(); if (const auto* constant_bg = dynamic_cast<const ConstantBackground*>(bg)) { - auto* constant_bg_item = instrument_item->setBackgroundType<ConstantBackgroundItem>(); + auto* constant_bg_item = instrument_item->setBackgroundItemType<ConstantBackgroundItem>(); double value = constant_bg->backgroundValue(); constant_bg_item->setBackgroundValue(value); } else if (dynamic_cast<const PoissonBackground*>(bg)) - instrument_item->setBackgroundType<PoissonBackgroundItem>(); + instrument_item->setBackgroundItemType<PoissonBackgroundItem>(); } GISASInstrumentItem* createGISASInstrumentItem(const ScatteringSimulation& simulation) @@ -467,7 +467,7 @@ SpecularInstrumentItem* createSpecularInstrumentItem(const SpecularSimulation& s beam_item->setInclinationAngle(0.0); // inclination angle is hardcoded beam_item->setAzimuthalAngle(0.0); // azimuthal angle is hardcoded - auto* axis_item = beam_item->inclinationAxis(); + auto* axis_item = beam_item->inclinationAxisItem(); setAxisItem(axis_item, *scan->coordinateAxis(), 1. / Units::deg); setFootprintFactor(scan->footprintFactor(), beam_item); diff --git a/GUI/Model/Job/JobItem.cpp b/GUI/Model/Job/JobItem.cpp index e1929f5f842..0cd4a12255e 100644 --- a/GUI/Model/Job/JobItem.cpp +++ b/GUI/Model/Job/JobItem.cpp @@ -267,7 +267,7 @@ Instrument2DItem* JobItem::instrument2DItem() void JobItem::copyInstrumentIntoJob(const InstrumentItem* instrument) { - m_instrument.setCurrentItem(instrument->createCopy()); + m_instrument.setCurrentItem(instrument->createItemCopy()); m_instrument.currentItem()->setId(QUuid::createUuid().toString()); } diff --git a/GUI/Model/Model/ParameterTreeUtils.cpp b/GUI/Model/Model/ParameterTreeUtils.cpp index 2f70aebd5ad..a59ceb46c0d 100644 --- a/GUI/Model/Model/ParameterTreeUtils.cpp +++ b/GUI/Model/Model/ParameterTreeUtils.cpp @@ -369,7 +369,7 @@ void ParameterTreeBuilder::addDetector(ParameterLabelItem* parentLabel, Detector { const auto addResolutionFunction = [=](ParameterLabelItem* detLabel) { if (auto* r = dynamic_cast<ResolutionFunction2DGaussianItem*>( - detector->resolutionFunction().currentItem())) { + detector->resolutionFunctionSelection().currentItem())) { auto* label = new ParameterLabelItem("Resolution (Gaussian)", detLabel); addParameterItem(label, r->sigmaX()); addParameterItem(label, r->sigmaY()); diff --git a/GUI/Model/Project/LinkInstrumentManager.cpp b/GUI/Model/Project/LinkInstrumentManager.cpp index 8e976842283..a9f7c17985b 100644 --- a/GUI/Model/Project/LinkInstrumentManager.cpp +++ b/GUI/Model/Project/LinkInstrumentManager.cpp @@ -79,7 +79,7 @@ LinkInstrumentManager::LinkInstrumentManager(ProjectDocument* document) bool LinkInstrumentManager::canLinkDataToInstrument(const RealItem* realItem, const QString& identifier, QWidget* parent) { - auto* instrumentItem = m_document->collectedItems()->findInstrumentById(identifier); + auto* instrumentItem = m_document->collectedItems()->findInstrumentItemById(identifier); // linking to null instrument is possible, it means unlinking from currently linked if (!instrumentItem) diff --git a/GUI/Model/ToCore/SimulationToCore.cpp b/GUI/Model/ToCore/SimulationToCore.cpp index ebf2500a1b4..1cca80d3277 100644 --- a/GUI/Model/ToCore/SimulationToCore.cpp +++ b/GUI/Model/ToCore/SimulationToCore.cpp @@ -118,7 +118,7 @@ OffspecSimulation* createOffspecSimulation(std::unique_ptr<MultiLayer> sample, auto* beamItem = item->beamItem(); const auto axis = item->alphaAxis().createAxis(Units::deg); - result->setBeamParameters(beamItem->wavelength(), *axis, beamItem->getAzimuthalAngle()); + result->setBeamParameters(beamItem->wavelength(), *axis, beamItem->azimuthalAngle()); addBackgroundToSimulation(*item, *result); @@ -129,8 +129,8 @@ SpecularSimulation* createSpecularSimulation(std::unique_ptr<MultiLayer> sample, const SpecularInstrumentItem* item) { auto* beam_item = item->beamItem(); - auto* const axis_item = beam_item->inclinationAxis(); - auto* const footprint_item = beam_item->footprint().currentItem(); + auto* const axis_item = beam_item->inclinationAxisItem(); + auto* const footprint_item = beam_item->footprintSelection().currentItem(); AlphaScan scan(beam_item->wavelength(), *axis_item->createAxis(Units::deg)); scan.setFootprintFactor(footprint_item->createFootprint().get()); diff --git a/GUI/View/Import/RealDataPropertiesWidget.cpp b/GUI/View/Import/RealDataPropertiesWidget.cpp index 65a9078e51e..a256efca28f 100644 --- a/GUI/View/Import/RealDataPropertiesWidget.cpp +++ b/GUI/View/Import/RealDataPropertiesWidget.cpp @@ -83,7 +83,7 @@ void RealDataPropertiesWidget::onInstrumentComboIndexChanged(int /*index*/) if (m_document->linkInstrumentManager()->canLinkDataToInstrument( m_currentRealItem, newSelectedInstrumentId, GUI::Global::mainWindow)) { const auto* newSelectedInstrument = - m_document->collectedItems()->findInstrumentById(newSelectedInstrumentId); + m_document->collectedItems()->findInstrumentItemById(newSelectedInstrumentId); m_currentRealItem->linkToInstrument(newSelectedInstrument); } else // Linking was impossible or denied. Set combo to previous state @@ -103,7 +103,7 @@ void RealDataPropertiesWidget::updateInstrumentComboEntries() // fill the combo. Userdata contains instrument's uid m_instrumentCombo->addItem("Undefined", ""); // undefined instrument - for (auto* instrumentItem : m_document->collectedItems()->collectedItems()) + for (auto* instrumentItem : m_document->collectedItems()->instrumentItems()) m_instrumentCombo->addItem(instrumentItem->instrumentName(), instrumentItem->id()); updateInstrumentComboIndex(); diff --git a/GUI/View/Import/SpecularDataImportWidget.cpp b/GUI/View/Import/SpecularDataImportWidget.cpp index 95cc510c935..7ce182e2187 100644 --- a/GUI/View/Import/SpecularDataImportWidget.cpp +++ b/GUI/View/Import/SpecularDataImportWidget.cpp @@ -335,7 +335,7 @@ void SpecularDataImportWidget::onPropertiesChanged() ProjectDocument* projectDocument = gSessionData->projectDocument.value(); const auto* linkedInstrument = - projectDocument->collectedItems()->findInstrumentById(realItem()->instrumentId()); + projectDocument->collectedItems()->findInstrumentItemById(realItem()->instrumentId()); if (linkedInstrument) if (!linkedInstrument->alignedWith(realItem())) diff --git a/GUI/View/Instrument/DetectorEditor.cpp b/GUI/View/Instrument/DetectorEditor.cpp index 1b3eec2bdc3..e86b16722dd 100644 --- a/GUI/View/Instrument/DetectorEditor.cpp +++ b/GUI/View/Instrument/DetectorEditor.cpp @@ -31,7 +31,7 @@ DetectorEditor::DetectorEditor(QWidget* parent, Instrument2DItem* instrument) m_formLayout = new QFormLayout(this); auto* detectorTypeCombo = - GUI::Util::createComboBoxFromProperty(instrument->detector(), [=](int) { + GUI::Util::createComboBoxFromProperty(instrument->detectorSelection(), [=](int) { createDetectorWidgets(); emit dataChanged(); }); diff --git a/GUI/View/Instrument/DistributionEditor.cpp b/GUI/View/Instrument/DistributionEditor.cpp index 9b5973cd6a6..a27eadeb61b 100644 --- a/GUI/View/Instrument/DistributionEditor.cpp +++ b/GUI/View/Instrument/DistributionEditor.cpp @@ -44,7 +44,7 @@ DistributionSelector::DistributionSelector(std::optional<MeanConfig> mean_config m_formLayout = new QFormLayout(this); m_formLayout->setContentsMargins(0, 0, 0, 0); - m_distributionCombo = GUI::Util::createComboBoxFromProperty(item->distribution(), [=](int) { + m_distributionCombo = GUI::Util::createComboBoxFromProperty(item->distributionSelection(), [=](int) { createDistributionWidgets(); emit distributionChanged(); }); @@ -156,7 +156,7 @@ GUI::ID::Distributions DistributionSelector::distributions() const void DistributionSelector::refresh() { QSignalBlocker b(m_distributionCombo); - m_distributionCombo->setCurrentIndex(m_item->distribution().currentIndex()); + m_distributionCombo->setCurrentIndex(m_item->distributionSelection().currentIndex()); createDistributionWidgets(); } diff --git a/GUI/View/Instrument/EnvironmentEditor.cpp b/GUI/View/Instrument/EnvironmentEditor.cpp index a17f986e49b..7cc3b4650da 100644 --- a/GUI/View/Instrument/EnvironmentEditor.cpp +++ b/GUI/View/Instrument/EnvironmentEditor.cpp @@ -29,7 +29,7 @@ EnvironmentEditor::EnvironmentEditor(QWidget* parent, InstrumentItem* instrument m_formLayout->setFieldGrowthPolicy(QFormLayout::FieldsStayAtSizeHint); auto* backgroundTypeCombo = - GUI::Util::createComboBoxFromProperty(instrument->background(), [=](int) { + GUI::Util::createComboBoxFromProperty(instrument->backgroundSelection(), [=](int) { createBackgroundWidgets(); emit dataChanged(); }); diff --git a/GUI/View/Instrument/FootprintCorrectionEditor.cpp b/GUI/View/Instrument/FootprintCorrectionEditor.cpp index 859d2210a37..37bd7b272fd 100644 --- a/GUI/View/Instrument/FootprintCorrectionEditor.cpp +++ b/GUI/View/Instrument/FootprintCorrectionEditor.cpp @@ -28,7 +28,7 @@ FootprintCorrectionEditor::FootprintCorrectionEditor(QWidget* parent, SpecularBe setProperty("subgroup", true); // for stylesheet addressing m_formLayout = new QFormLayout(this); m_formLayout->setFieldGrowthPolicy(QFormLayout::FieldsStayAtSizeHint); - auto* typeCombo = GUI::Util::createComboBoxFromProperty(item->footprint(), [=](int) { + auto* typeCombo = GUI::Util::createComboBoxFromProperty(item->footprintSelection(), [=](int) { createFootprintWidgets(); emit dataChanged(); }); @@ -44,7 +44,7 @@ void FootprintCorrectionEditor::createFootprintWidgets() while (m_formLayout->rowCount() > 1) m_formLayout->removeRow(1); - auto* footprintItem = m_item->footprint().currentItem(); + auto* footprintItem = m_item->footprintSelection().currentItem(); if (auto* square = dynamic_cast<FootprintSquareItem*>(footprintItem)) { auto* spinbox = new DoubleSpinBox(square->squareFootprintValue()); spinbox->setSingleStep(0.01); diff --git a/GUI/View/Instrument/InclinationAnglesEditor.cpp b/GUI/View/Instrument/InclinationAnglesEditor.cpp index 172b512d847..891009b14f7 100644 --- a/GUI/View/Instrument/InclinationAnglesEditor.cpp +++ b/GUI/View/Instrument/InclinationAnglesEditor.cpp @@ -90,7 +90,7 @@ void InclinationAnglesEditor::onAxisTypeSelected(int index) emit dataChanged(); } - m_form->setAxisItem(m_item->alphaAxis()); + m_form->setAxisItem(m_item->alphaAxisItem()); m_form->setEnabled(index == 0); } } diff --git a/GUI/View/Instrument/InstrumentEditController.cpp b/GUI/View/Instrument/InstrumentEditController.cpp index 0bcbc281f8a..72044f0267b 100644 --- a/GUI/View/Instrument/InstrumentEditController.cpp +++ b/GUI/View/Instrument/InstrumentEditController.cpp @@ -47,7 +47,7 @@ void InstrumentEditController::notifyWavelengthDistributionChanged() // update values in pointwise axis. This is necessary after a change of the mean value of the // wavelength. if (auto* specularBeam = dynamic_cast<SpecularBeamItem*>(m_instrumentItem->beamItem())) { - if (auto* pw = dynamic_cast<PointwiseAxisItem*>(specularBeam->inclinationAxis())) + if (auto* pw = dynamic_cast<PointwiseAxisItem*>(specularBeam->inclinationAxisItem())) pw->updateIndicators(); } diff --git a/GUI/View/Instrument/InstrumentLibraryEditor.cpp b/GUI/View/Instrument/InstrumentLibraryEditor.cpp index 9b472ed41be..2e2d4e286b9 100644 --- a/GUI/View/Instrument/InstrumentLibraryEditor.cpp +++ b/GUI/View/Instrument/InstrumentLibraryEditor.cpp @@ -36,7 +36,7 @@ InstrumentLibraryEditor::InstrumentLibraryEditor(QWidget* parent) : QDialog(parent) , m_ui(new Ui::InstrumentLibraryEditor) - , m_treeModel(new TreeModel(this, gSessionData->instrumentLibrary.collectedItems())) + , m_treeModel(new TreeModel(this, gSessionData->instrumentLibrary.instrumentCollection())) , m_chosenItem(nullptr) { m_ui->setupUi(this); @@ -117,7 +117,7 @@ void InstrumentLibraryEditor::execAdd(const InstrumentItem& instrumentToAdd) { const QString& newName = gSessionData->instrumentLibrary.suggestName(instrumentToAdd.instrumentName()); - auto* addedInstrument = gSessionData->instrumentLibrary.add(newName, instrumentToAdd); + auto* addedInstrument = gSessionData->instrumentLibrary.addItemCopy(newName, instrumentToAdd); setWindowTitle("Instrument Library - Add instrument"); diff --git a/GUI/View/Instrument/InstrumentListModel.cpp b/GUI/View/Instrument/InstrumentListModel.cpp index e056e062354..4ef68812bf6 100644 --- a/GUI/View/Instrument/InstrumentListModel.cpp +++ b/GUI/View/Instrument/InstrumentListModel.cpp @@ -71,12 +71,12 @@ InstrumentListModel::InstrumentListModel(QObject* parent, InstrumentsEditControl int InstrumentListModel::rowCount(const QModelIndex&) const { - return m_ec->collectedItems()->collectedItems().size(); + return m_ec->instrumentCollection()->instrumentItems().size(); } QVariant InstrumentListModel::data(const QModelIndex& index, int role) const { - QVector<InstrumentItem*> instruments = m_ec->collectedItems()->collectedItems(); + QVector<InstrumentItem*> instruments = m_ec->instrumentCollection()->instrumentItems(); if (!index.isValid() || index.row() >= instruments.size() || index.row() < 0) return {}; @@ -99,12 +99,12 @@ QVariant InstrumentListModel::data(const QModelIndex& index, int role) const return {}; } -InstrumentItem* InstrumentListModel::instrumentForIndex(const QModelIndex& index) const +InstrumentItem* InstrumentListModel::instrumentItemForIndex(const QModelIndex& index) const { if (!index.isValid()) return nullptr; - QVector<InstrumentItem*> instruments = m_ec->collectedItems()->collectedItems(); + QVector<InstrumentItem*> instruments = m_ec->instrumentCollection()->instrumentItems(); if (index.row() >= 0 && index.row() < instruments.size()) return instruments[index.row()]; return nullptr; @@ -133,14 +133,14 @@ QModelIndex InstrumentListModel::addNewDepthProbeInstrument() void InstrumentListModel::removeInstrument(const QModelIndex& index) { beginRemoveRows(QModelIndex(), index.row(), index.row()); - InstrumentItem* instrument = instrumentForIndex(index); + InstrumentItem* instrument = instrumentItemForIndex(index); m_ec->removeInstrument(instrument); endRemoveRows(); } QModelIndex InstrumentListModel::copyInstrument(const QModelIndex& source) { - const InstrumentItem* srcInstr = instrumentForIndex(source); + const InstrumentItem* srcInstr = instrumentItemForIndex(source); ASSERT(srcInstr); return copyInstrument(srcInstr); @@ -149,11 +149,11 @@ QModelIndex InstrumentListModel::copyInstrument(const QModelIndex& source) QModelIndex InstrumentListModel::copyInstrument(const InstrumentItem* source) { const QString copyName = - m_ec->collectedItems()->suggestInstrumentName(source->instrumentName()); - const int row = m_ec->collectedItems()->collectedItems().size(); + m_ec->instrumentCollection()->suggestInstrumentName(source->instrumentName()); + const int row = m_ec->instrumentCollection()->instrumentItems().size(); beginInsertRows(QModelIndex(), row, row); - m_ec->addCopy(source, copyName); + m_ec->addInstrumentItemCopy(source, copyName); endInsertRows(); return createIndex(row, 0); @@ -163,11 +163,11 @@ template <class Instrument> QModelIndex InstrumentListModel::addNewInstrument() { const QString name = - m_ec->collectedItems()->suggestInstrumentName(defaultInstrumentName<Instrument>()); - const int row = m_ec->collectedItems()->collectedItems().size(); + m_ec->instrumentCollection()->suggestInstrumentName(defaultInstrumentName<Instrument>()); + const int row = m_ec->instrumentCollection()->instrumentItems().size(); beginInsertRows(QModelIndex(), row, row); - auto* instrument = m_ec->addInstrument<Instrument>(); + auto* instrument = m_ec->addInstrumentItem<Instrument>(); m_ec->setInstrumentName(instrument, name); endInsertRows(); @@ -176,7 +176,7 @@ QModelIndex InstrumentListModel::addNewInstrument() void InstrumentListModel::onInstrumentNameChanged(const InstrumentItem* instrument) { - const auto instruments = m_ec->collectedItems()->collectedItems(); + const auto instruments = m_ec->instrumentCollection()->instrumentItems(); if (const auto row = instruments.indexOf(const_cast<InstrumentItem*>(instrument)); row != -1) emit dataChanged(index(row, 0), index(row, 0)); } diff --git a/GUI/View/Instrument/InstrumentListModel.h b/GUI/View/Instrument/InstrumentListModel.h index 118d7af3a05..54d227d3394 100644 --- a/GUI/View/Instrument/InstrumentListModel.h +++ b/GUI/View/Instrument/InstrumentListModel.h @@ -35,7 +35,7 @@ public: QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; - InstrumentItem* instrumentForIndex(const QModelIndex& index) const; + InstrumentItem* instrumentItemForIndex(const QModelIndex& index) const; QModelIndex addNewGISASInstrument(); QModelIndex addNewOffspecInstrument(); diff --git a/GUI/View/Instrument/InstrumentListView.cpp b/GUI/View/Instrument/InstrumentListView.cpp index 5436f87d045..60265d72e2a 100644 --- a/GUI/View/Instrument/InstrumentListView.cpp +++ b/GUI/View/Instrument/InstrumentListView.cpp @@ -145,11 +145,11 @@ QList<QAction*> InstrumentListView::toolbarActions() const m_loadFromLibraryAction}; } -InstrumentItem* InstrumentListView::currentInstrument() const +InstrumentItem* InstrumentListView::currentInstrumentItem() const { const QModelIndexList indexes = m_listView->selectionModel()->selectedIndexes(); if (!indexes.empty()) - return m_model->instrumentForIndex(indexes.front()); + return m_model->instrumentItemForIndex(indexes.front()); return nullptr; } @@ -159,7 +159,7 @@ void InstrumentListView::onItemSelectionChanged() QModelIndexList indexes = m_listView->selectionModel()->selectedIndexes(); if (!indexes.empty()) - emit instrumentSelected(m_model->instrumentForIndex(indexes.front())); + emit instrumentSelected(m_model->instrumentItemForIndex(indexes.front())); else emit instrumentSelected(nullptr); } @@ -215,7 +215,7 @@ void InstrumentListView::onStoreInLibrary() return; QModelIndex idx = m_listView->selectionModel()->selectedIndexes().front(); - InstrumentItem* instrument = m_model->instrumentForIndex(idx); + InstrumentItem* instrument = m_model->instrumentItemForIndex(idx); InstrumentLibraryEditor dlg(GUI::Global::mainWindow); dlg.setGisasEnabled(m_document->functionalities().testFlag(ProjectDocument::Gisas)); diff --git a/GUI/View/Instrument/InstrumentListView.h b/GUI/View/Instrument/InstrumentListView.h index 3de21c5284c..fe7e9988409 100644 --- a/GUI/View/Instrument/InstrumentListView.h +++ b/GUI/View/Instrument/InstrumentListView.h @@ -38,7 +38,7 @@ public: QList<QAction*> toolbarActions() const; - InstrumentItem* currentInstrument() const; + InstrumentItem* currentInstrumentItem() const; signals: void instrumentSelected(InstrumentItem* instrument); diff --git a/GUI/View/Instrument/InstrumentView.cpp b/GUI/View/Instrument/InstrumentView.cpp index 3e53f7a0c73..f9372514539 100644 --- a/GUI/View/Instrument/InstrumentView.cpp +++ b/GUI/View/Instrument/InstrumentView.cpp @@ -86,7 +86,7 @@ void InstrumentView::hideEvent(QHideEvent*) void InstrumentView::createWidgetsForCurrentInstrument() { - auto* currentInstrument = m_instrumentListView->currentInstrument(); + auto* currentInstrument = m_instrumentListView->currentInstrumentItem(); if (!currentInstrument) { m_scrollArea->setWidget(new QWidget(m_scrollArea)); // blank widget return; @@ -152,14 +152,14 @@ void InstrumentView::createWidgetsForCurrentInstrument() void InstrumentView::onInstrumentNameEdited(const QString& newName) { - auto* currentInstrument = m_instrumentListView->currentInstrument(); + auto* currentInstrument = m_instrumentListView->currentInstrumentItem(); if (currentInstrument && currentInstrument->instrumentName() != newName) m_document->instrumentsEditController()->setInstrumentName(currentInstrument, newName); } void InstrumentView::onInstrumentdescriptionEdited(const QString& t) { - auto* currentInstrument = m_instrumentListView->currentInstrument(); + auto* currentInstrument = m_instrumentListView->currentInstrumentItem(); if (currentInstrument && currentInstrument->description() != t) { currentInstrument->setDescription(t); onInstrumentChangedByEditor(); @@ -169,12 +169,12 @@ void InstrumentView::onInstrumentdescriptionEdited(const QString& t) void InstrumentView::onInstrumentChangedByEditor() { m_document->instrumentsEditController()->notifyInstrumentChanged( - m_instrumentListView->currentInstrument()); + m_instrumentListView->currentInstrumentItem()); } void InstrumentView::onInstrumentChangedFromExternal(const InstrumentItem* instrument) { - if (instrument == m_instrumentListView->currentInstrument()) + if (instrument == m_instrumentListView->currentInstrumentItem()) createWidgetsForCurrentInstrument(); } diff --git a/GUI/View/Instrument/ResolutionFunctionEditor.cpp b/GUI/View/Instrument/ResolutionFunctionEditor.cpp index 4518aac1a54..e23d706e927 100644 --- a/GUI/View/Instrument/ResolutionFunctionEditor.cpp +++ b/GUI/View/Instrument/ResolutionFunctionEditor.cpp @@ -31,7 +31,7 @@ ResolutionFunctionEditor::ResolutionFunctionEditor(Unit unit, QWidget* parent, D m_formLayout = new QFormLayout(this); m_formLayout->setFieldGrowthPolicy(QFormLayout::FieldsStayAtSizeHint); - auto* typeCombo = GUI::Util::createComboBoxFromProperty(item->resolutionFunction(), [=](int) { + auto* typeCombo = GUI::Util::createComboBoxFromProperty(item->resolutionFunctionSelection(), [=](int) { createResolutionWidgets(); emit dataChanged(); }); @@ -47,7 +47,7 @@ void ResolutionFunctionEditor::createResolutionWidgets() while (m_formLayout->rowCount() > 1) m_formLayout->removeRow(1); - auto* resFunction = m_item->resolutionFunction().currentItem(); + auto* resFunction = m_item->resolutionFunctionSelection().currentItem(); if (auto* p = dynamic_cast<ResolutionFunction2DGaussianItem*>(resFunction)) { auto* sigmaXSpinBox = GUI::Util::createDoubleSpinBoxRow(m_formLayout, p->sigmaX()); auto* sigmaYSpinBox = GUI::Util::createDoubleSpinBoxRow(m_formLayout, p->sigmaY()); diff --git a/GUI/View/PlotUtil/DataPropertyWidget.cpp b/GUI/View/PlotUtil/DataPropertyWidget.cpp index 3030dec8ce0..0c1286dcc45 100644 --- a/GUI/View/PlotUtil/DataPropertyWidget.cpp +++ b/GUI/View/PlotUtil/DataPropertyWidget.cpp @@ -45,7 +45,7 @@ void DataPropertyWidget::updateItemCoords(DataItem* item) if (jobItem()) instrument = jobItem()->instrumentItem(); else if (realItem()) { - instrument = gSessionData->projectDocument.value()->collectedItems()->findInstrumentById( + instrument = gSessionData->projectDocument.value()->collectedItems()->findInstrumentItemById( realItem()->instrumentId()); } else ASSERT(0); diff --git a/GUI/View/Toplevel/ProjectSettingsView.cpp b/GUI/View/Toplevel/ProjectSettingsView.cpp index b28555617f0..5763ba0cd25 100644 --- a/GUI/View/Toplevel/ProjectSettingsView.cpp +++ b/GUI/View/Toplevel/ProjectSettingsView.cpp @@ -117,7 +117,7 @@ void ProjectSettingsView::storeAsDefaults() void ProjectSettingsView::onSingleInstrumentRadioToggled(bool newState) { if (newState) { - if (m_document->collectedItems()->collectedItems().size() > 1) { + if (m_document->collectedItems()->instrumentItems().size() > 1) { QMessageBox::warning(this, "Select single instrument mode", "This project already contains more than one instrument. Changing " "this setting is not possible."); diff --git a/GUI/View/Toplevel/SimulationView.cpp b/GUI/View/Toplevel/SimulationView.cpp index da697ef8790..77d9655ef58 100644 --- a/GUI/View/Toplevel/SimulationView.cpp +++ b/GUI/View/Toplevel/SimulationView.cpp @@ -244,7 +244,7 @@ QVector<SampleItem*> SimulationView::sampleItems() const QVector<InstrumentItem*> SimulationView::collectedItems() const { - return m_document->collectedItems()->collectedItems(); + return m_document->collectedItems()->instrumentItems(); } QVector<RealItem*> SimulationView::realItems() const diff --git a/Tests/Suite/GUI/Check.cpp b/Tests/Suite/GUI/Check.cpp index 5df977acc0b..f6bc995bf13 100644 --- a/Tests/Suite/GUI/Check.cpp +++ b/Tests/Suite/GUI/Check.cpp @@ -42,7 +42,7 @@ std::unique_ptr<ISimulation> indirectSimulation(const ISimulation& sim) GUI::Transform::FromCore::itemizeOptions(sim)); return GUI::Transform::ToCore::itemsToSimulation( - sampleItem.get(), instrumentItems->collectedItems().front(), *optionsItem); + sampleItem.get(), instrumentItems->instrumentItems().front(), *optionsItem); } } // namespace diff --git a/Tests/Unit/GUI/TestDetectorItems.cpp b/Tests/Unit/GUI/TestDetectorItems.cpp index d863d658c0a..3abd3d7ba78 100644 --- a/Tests/Unit/GUI/TestDetectorItems.cpp +++ b/Tests/Unit/GUI/TestDetectorItems.cpp @@ -13,7 +13,7 @@ TEST(TestDetectorItems, resolutionFunction) { InstrumentCollection model; - auto* instrument = model.addInstrument<GISASInstrumentItem>(); + auto* instrument = model.addInstrumentItem<GISASInstrumentItem>(); DetectorItem* detectorItem = instrument->detectorItem(); @@ -39,7 +39,7 @@ TEST(TestDetectorItems, resolutionFunctionUnit) detector.setResolutionFunctionType<ResolutionFunctionNoneItem>(); detector.setResolutionFunctionType<ResolutionFunction2DGaussianItem>(); auto* p = dynamic_cast<ResolutionFunction2DGaussianItem*>( - detector.resolutionFunction().currentItem()); + detector.resolutionFunctionSelection().currentItem()); EXPECT_NE(p, nullptr); EXPECT_EQ(asString(p->sigmaX().unit()), "mm"); EXPECT_EQ(asString(p->sigmaY().unit()), "mm"); @@ -48,7 +48,7 @@ TEST(TestDetectorItems, resolutionFunctionUnit) sphericalDetector.setResolutionFunctionType<ResolutionFunctionNoneItem>(); sphericalDetector.setResolutionFunctionType<ResolutionFunction2DGaussianItem>(); p = dynamic_cast<ResolutionFunction2DGaussianItem*>( - sphericalDetector.resolutionFunction().currentItem()); + sphericalDetector.resolutionFunctionSelection().currentItem()); EXPECT_NE(p, nullptr); EXPECT_EQ(asString(p->sigmaX().unit()), unitAsString(Unit::degree)); EXPECT_EQ(asString(p->sigmaY().unit()), unitAsString(Unit::degree)); diff --git a/Tests/Unit/GUI/TestInstrumentItems.cpp b/Tests/Unit/GUI/TestInstrumentItems.cpp index 2ce22fb5ac9..54ba5802c12 100644 --- a/Tests/Unit/GUI/TestInstrumentItems.cpp +++ b/Tests/Unit/GUI/TestInstrumentItems.cpp @@ -15,7 +15,7 @@ TEST(TestInstrumentCollection, instrumentAddedRemoved) EXPECT_TRUE(spy.isValid()); // populating instrument model - auto* p = document.instrumentsEditController()->addInstrument<GISASInstrumentItem>(); + auto* p = document.instrumentsEditController()->addInstrumentItem<GISASInstrumentItem>(); // checking that a signal was emitted about the new instrument EXPECT_EQ(spy.count(), 1); @@ -32,9 +32,9 @@ TEST(TestInstrumentCollection, instrumentChanged) ProjectDocument document; // populating instrument model - auto* instrument1 = document.instrumentsEditController()->addInstrument<GISASInstrumentItem>(); + auto* instrument1 = document.instrumentsEditController()->addInstrumentItem<GISASInstrumentItem>(); auto* instrument2 = - document.instrumentsEditController()->addInstrument<SpecularInstrumentItem>(); + document.instrumentsEditController()->addInstrumentItem<SpecularInstrumentItem>(); QSignalSpy spy(document.instrumentsEditController(), SIGNAL(instrumentChanged(const InstrumentItem*))); @@ -59,7 +59,7 @@ TEST(TestInstrumentCollection, instrumentChanged) // Add another instrument auto* instrument3 = - document.instrumentsEditController()->addInstrument<OffspecInstrumentItem>(); + document.instrumentsEditController()->addInstrumentItem<OffspecInstrumentItem>(); // Change instrument2 document.instrumentsEditController()->setInstrumentName(instrument2, "BB"); diff --git a/Tests/Unit/GUI/TestLinkInstrument.cpp b/Tests/Unit/GUI/TestLinkInstrument.cpp index 33e7b4c2d1b..70ae9614749 100644 --- a/Tests/Unit/GUI/TestLinkInstrument.cpp +++ b/Tests/Unit/GUI/TestLinkInstrument.cpp @@ -31,7 +31,7 @@ TEST(TestLinkInstrument, canLinkToInstrument) ProjectDocument document; // populating instrument model - auto* instrument = document.collectedItems()->addInstrument<GISASInstrumentItem>(); + auto* instrument = document.collectedItems()->addInstrumentItem<GISASInstrumentItem>(); const QString identifier = instrument->id(); ASSERT_TRUE(!identifier.isEmpty()); @@ -48,7 +48,7 @@ TEST(TestLinkInstrument, canLinkToInstrument) << realData); // changing detector type and checking that link remain - instrument->setDetectorType<RectangularDetectorItem>(); + instrument->setDetectorItemType<RectangularDetectorItem>(); EXPECT_EQ(linkedRealDataItems(*document.realModel(), instrument), QList<RealItem*>() << realData); diff --git a/Tests/Unit/GUI/TestProjectDocument.cpp b/Tests/Unit/GUI/TestProjectDocument.cpp index 0359588cc25..052eff5318c 100644 --- a/Tests/Unit/GUI/TestProjectDocument.cpp +++ b/Tests/Unit/GUI/TestProjectDocument.cpp @@ -16,7 +16,7 @@ protected: //! helper method to modify something in a model void modify_models(ProjectDocument& doc) { - auto* instrument = doc.collectedItems()->collectedItems().front(); + auto* instrument = doc.collectedItems()->instrumentItems().front(); doc.instrumentsEditController()->setInstrumentName(instrument, QUuid::createUuid().toString()); } @@ -36,7 +36,7 @@ TEST_F(TestProjectDocument, projectDocument) EXPECT_EQ(document.projectName(), QString()); EXPECT_EQ(document.projectFileName(), QString()); - auto* instrument = document.collectedItems()->addInstrument<GISASInstrumentItem>(); + auto* instrument = document.collectedItems()->addInstrumentItem<GISASInstrumentItem>(); instrument->setInstrumentName("GISAS"); // Checking document name and isModified status after project save @@ -70,7 +70,7 @@ TEST_F(TestProjectDocument, projectDocumentWithData) UTest::GUI::create_dir(projectDir); ProjectDocument document; - auto* instrument = document.collectedItems()->addInstrument<GISASInstrumentItem>(); + auto* instrument = document.collectedItems()->addInstrumentItem<GISASInstrumentItem>(); instrument->setInstrumentName("GISAS"); RealItem* realData = UTest::GUI::createRealData("TestData", *document.realModel()); ASSERT(realData); diff --git a/Tests/Unit/GUI/TestSaveService.cpp b/Tests/Unit/GUI/TestSaveService.cpp index 48445429732..a2792a00fda 100644 --- a/Tests/Unit/GUI/TestSaveService.cpp +++ b/Tests/Unit/GUI/TestSaveService.cpp @@ -18,7 +18,7 @@ protected: // helper method to modify something in a model void modify_models(ProjectDocument& doc) { - auto* instrument = doc.collectedItems()->collectedItems().front(); + auto* instrument = doc.collectedItems()->instrumentItems().front(); doc.instrumentsEditController()->setInstrumentName(instrument, QUuid::createUuid().toString()); } @@ -38,7 +38,7 @@ TEST_F(TestSaveService, autoSaveController) const int autosave_time(100); std::unique_ptr<ProjectDocument> document(new ProjectDocument); - auto* instrument = document->collectedItems()->addInstrument<GISASInstrumentItem>(); + auto* instrument = document->collectedItems()->addInstrumentItem<GISASInstrumentItem>(); instrument->setInstrumentName("GISAS"); document->save(projectFileName); @@ -82,7 +82,7 @@ TEST_F(TestSaveService, autoSaveController) TEST_F(TestSaveService, autoSaveControllerNewDocument) { std::unique_ptr<ProjectDocument> document(new ProjectDocument); - auto* instrument = document->collectedItems()->addInstrument<GISASInstrumentItem>(); + auto* instrument = document->collectedItems()->addInstrumentItem<GISASInstrumentItem>(); instrument->setInstrumentName("GISAS"); const int autosave_time(100); @@ -109,7 +109,7 @@ TEST_F(TestSaveService, saveService) std::unique_ptr<ProjectDocument> document(new ProjectDocument); - auto* instrument = document->collectedItems()->addInstrument<GISASInstrumentItem>(); + auto* instrument = document->collectedItems()->addInstrumentItem<GISASInstrumentItem>(); instrument->setInstrumentName("GISAS"); modify_models(*document); @@ -142,7 +142,7 @@ TEST_F(TestSaveService, failingSaveService) const QString projectFileName(projectDir + "/document.pro"); std::unique_ptr<ProjectDocument> document(new ProjectDocument); - auto* instrument = document->collectedItems()->addInstrument<GISASInstrumentItem>(); + auto* instrument = document->collectedItems()->addInstrumentItem<GISASInstrumentItem>(); instrument->setInstrumentName("GISAS"); modify_models(*document); @@ -173,7 +173,7 @@ TEST_F(TestSaveService, saveServiceWithData) const QString projectFileName(projectDir + "/document.pro"); std::unique_ptr<ProjectDocument> document(new ProjectDocument); - auto* instrument = document->collectedItems()->addInstrument<GISASInstrumentItem>(); + auto* instrument = document->collectedItems()->addInstrumentItem<GISASInstrumentItem>(); instrument->setInstrumentName("GISAS"); RealItem* realData = UTest::GUI::createRealData("TestData", *document->realModel()); @@ -208,7 +208,7 @@ TEST_F(TestSaveService, autosaveEnabled) std::unique_ptr<ProjectDocument> document(new ProjectDocument()); document->setProjectFileName(projectFileName); - auto* instrument = document->collectedItems()->addInstrument<GISASInstrumentItem>(); + auto* instrument = document->collectedItems()->addInstrumentItem<GISASInstrumentItem>(); instrument->setInstrumentName("GISAS"); RealItem* realData = UTest::GUI::createRealData("TestData", *document->realModel()); diff --git a/Tests/Unit/GUI/TestSessionModel.cpp b/Tests/Unit/GUI/TestSessionModel.cpp index 966c6dd19ec..e01e2261c66 100644 --- a/Tests/Unit/GUI/TestSessionModel.cpp +++ b/Tests/Unit/GUI/TestSessionModel.cpp @@ -51,7 +51,7 @@ TEST(TestSessionModel, copyItem) sample1->addStandardMaterials(); InstrumentCollection instrumentItems; - auto* instrument1 = instrumentItems.addInstrument<GISASInstrumentItem>(); + auto* instrument1 = instrumentItems.addInstrumentItem<GISASInstrumentItem>(); instrument1->setInstrumentName("instrument1"); JobModel jobModel; diff --git a/Tests/Unit/GUI/TestSessionXML.cpp b/Tests/Unit/GUI/TestSessionXML.cpp index 93f380b8b9f..e0a5b927d77 100644 --- a/Tests/Unit/GUI/TestSessionXML.cpp +++ b/Tests/Unit/GUI/TestSessionXML.cpp @@ -75,7 +75,7 @@ TEST(TestSessionXML, sessionItem) TEST(TestSessionXML, InstrumentItem) { SpecularInstrumentItem instrument; - instrument.setBackgroundType<ConstantBackgroundItem>(); + instrument.setBackgroundItemType<ConstantBackgroundItem>(); const auto a1 = serialize(instrument); // target model, from xml -- GitLab