Skip to content
Snippets Groups Projects
Commit b009d3ba authored by Yurov, Dmitry's avatar Yurov, Dmitry
Browse files

Restore linking in Simulation tab if data & instrument fit each other

Redmine: #2235
parent a32cc4f5
No related branches found
No related tags found
No related merge requests found
...@@ -76,7 +76,7 @@ void InstrumentItem::updateToRealData(const RealDataItem *item) ...@@ -76,7 +76,7 @@ void InstrumentItem::updateToRealData(const RealDataItem *item)
setShape(item->shape()); setShape(item->shape());
} }
bool InstrumentItem::alignedWith(const RealDataItem* item) bool InstrumentItem::alignedWith(const RealDataItem* item) const
{ {
return shape() == item->shape(); return shape() == item->shape();
} }
...@@ -161,7 +161,7 @@ void SpecularInstrumentItem::updateToRealData(const RealDataItem* item) ...@@ -161,7 +161,7 @@ void SpecularInstrumentItem::updateToRealData(const RealDataItem* item)
} }
} }
bool SpecularInstrumentItem::alignedWith(const RealDataItem* item) bool SpecularInstrumentItem::alignedWith(const RealDataItem* item) const
{ {
const QString native_units = item->getItemValue(RealDataItem::P_NATIVE_UNITS).toString(); const QString native_units = item->getItemValue(RealDataItem::P_NATIVE_UNITS).toString();
if (native_units == Constants::UnitsNbins) { if (native_units == Constants::UnitsNbins) {
......
...@@ -45,7 +45,7 @@ public: ...@@ -45,7 +45,7 @@ public:
virtual void clearMasks() {} virtual void clearMasks() {}
virtual void importMasks(const MaskContainerItem*) {} virtual void importMasks(const MaskContainerItem*) {}
virtual void updateToRealData(const RealDataItem* item); virtual void updateToRealData(const RealDataItem* item);
virtual bool alignedWith(const RealDataItem* item); virtual bool alignedWith(const RealDataItem* item) const;
protected: protected:
explicit InstrumentItem(const QString& modelType); explicit InstrumentItem(const QString& modelType);
...@@ -66,7 +66,7 @@ public: ...@@ -66,7 +66,7 @@ public:
std::vector<int> shape() const override; std::vector<int> shape() const override;
void setShape(const std::vector<int>& shape) override; void setShape(const std::vector<int>& shape) override;
void updateToRealData(const RealDataItem* item) override; void updateToRealData(const RealDataItem* item) override;
bool alignedWith(const RealDataItem* item) override; bool alignedWith(const RealDataItem* item) const override;
std::unique_ptr<IUnitConverter> createUnitConverter() const; std::unique_ptr<IUnitConverter> createUnitConverter() const;
}; };
......
...@@ -38,7 +38,7 @@ bool SimulationSetupAssistant::isValidSimulationSetup(const MultiLayerItem *mult ...@@ -38,7 +38,7 @@ bool SimulationSetupAssistant::isValidSimulationSetup(const MultiLayerItem *mult
checkFittingSetup(instrumentItem, realData); checkFittingSetup(instrumentItem, realData);
if(!m_isValid) if(!m_isValid)
QMessageBox::warning(0, QStringLiteral("Can't run the job"), composeMessage()); QMessageBox::warning(nullptr, QStringLiteral("Can't run the job"), composeMessage());
return m_isValid; return m_isValid;
} }
...@@ -77,13 +77,12 @@ void SimulationSetupAssistant::checkInstrumentItem(const InstrumentItem* instrum ...@@ -77,13 +77,12 @@ void SimulationSetupAssistant::checkInstrumentItem(const InstrumentItem* instrum
void SimulationSetupAssistant::checkFittingSetup(const InstrumentItem* instrumentItem, void SimulationSetupAssistant::checkFittingSetup(const InstrumentItem* instrumentItem,
const RealDataItem* realData) const RealDataItem* realData)
{ {
if (!realData if (!realData || instrumentItem->alignedWith(realData))
|| instrumentItem->getItemValue(InstrumentItem::P_IDENTIFIER).toString()
== realData->getItemValue(RealDataItem::P_INSTRUMENT_ID).toString())
return; return;
m_isValid = false; m_isValid = false;
m_messages.append("The RealData was not linked to the instrument"); m_messages.append("The experimental data does not fit in the selected instrument. Try linking "
"them in Import Tab.");
} }
//! Composes the error message for message box. //! Composes the error message for message box.
......
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