From 7c3f086ef84b700f10eb7c4709a451b89aef381e Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de> Date: Tue, 11 Apr 2023 14:36:22 +0200 Subject: [PATCH] make Datafield pointers const; new non-const accessor ptr_converted_field --- GUI/Model/Data/DataItem.h | 2 +- GUI/Model/Data/DataItemUtil.cpp | 2 +- GUI/Model/Job/JobItem.cpp | 8 ++++---- GUI/View/PlotSpecular/SpecularPlot.cpp | 2 +- GUI/View/PlotUtil/ColorMap.cpp | 2 +- GUI/View/PlotUtil/SavePlotAssistant.cpp | 4 ++-- GUI/View/PlotUtil/SavePlotAssistant.h | 3 ++- 7 files changed, 12 insertions(+), 11 deletions(-) diff --git a/GUI/Model/Data/DataItem.h b/GUI/Model/Data/DataItem.h index e9551fa08d3..37d16e57949 100644 --- a/GUI/Model/Data/DataItem.h +++ b/GUI/Model/Data/DataItem.h @@ -43,7 +43,7 @@ public: const QString TYPE{"uninitialized"}; // Returns datafield, owned by this class - Datafield* converted_field() { return m_datafield.get(); } + Datafield* ptr_converted_field() { return m_datafield.get(); } const Datafield* converted_field() const { return m_datafield.get(); } //! The given pointer becomes owned by this class!! diff --git a/GUI/Model/Data/DataItemUtil.cpp b/GUI/Model/Data/DataItemUtil.cpp index 1ee627c1087..b90dc56b5bc 100644 --- a/GUI/Model/Data/DataItemUtil.cpp +++ b/GUI/Model/Data/DataItemUtil.cpp @@ -53,7 +53,7 @@ ComboProperty availableUnits(const ICoordSystem& converter) void GUI::Model::DataItemUtil::updateDataAxes(DataItem* dataItem, const ICoordSystem& converter) { ASSERT(dataItem); - Datafield* oldData = dataItem->converted_field(); + const Datafield* oldData = dataItem->converted_field(); if (!oldData) return; diff --git a/GUI/Model/Job/JobItem.cpp b/GUI/Model/Job/JobItem.cpp index 360611e3fa2..52059bf3d99 100644 --- a/GUI/Model/Job/JobItem.cpp +++ b/GUI/Model/Job/JobItem.cpp @@ -87,8 +87,8 @@ void JobItem::setStatus(JobStatus status) m_status = status; if (status == JobStatus::Failed) { if (DataItem* dataItem = simulatedDataItem()) { - if (dataItem->converted_field()) - dataItem->converted_field()->setAllTo(0.0); + if (Datafield* df = dataItem->ptr_converted_field()) + df->setAllTo(0.0); emit dataItem->datafieldChanged(); } } @@ -384,14 +384,14 @@ void JobItem::cropRealData() // Adjust real data to the size of region of interest IntensityDataItem* intensityItem = realItem()->intensityDataItem(); - std::unique_ptr<Datafield> origData(intensityItem->converted_field()->clone()); + const Datafield* origData = intensityItem->converted_field(); const auto converter = iiI->createCoordSystem(); ASSERT(converter); GUI::Model::DataItemUtil::createDefaultDetectorMap(intensityItem, *converter); iiI->normalDetector()->iterateOverNonMaskedPoints([&](IDetector::const_iterator it) { - auto* cropped_data = intensityItem->converted_field(); + Datafield* cropped_data = intensityItem->ptr_converted_field(); (*cropped_data)[it.roiIndex()] = (*origData)[it.detectorIndex()]; }); diff --git a/GUI/View/PlotSpecular/SpecularPlot.cpp b/GUI/View/PlotSpecular/SpecularPlot.cpp index 512336d368f..0f716be639b 100644 --- a/GUI/View/PlotSpecular/SpecularPlot.cpp +++ b/GUI/View/PlotSpecular/SpecularPlot.cpp @@ -148,7 +148,7 @@ void SpecularPlot::initPlot() QCPScatterStyle(item->scatter(), item->scatterSize())); // create error bars - Datafield* data = item->converted_field(); + const Datafield* data = item->converted_field(); if (data && data->hasErrorSigmas()) { QCPErrorBars* errorBars = new QCPErrorBars(m_custom_plot->xAxis, m_custom_plot->yAxis); m_errorbar_map.insert(item, errorBars); diff --git a/GUI/View/PlotUtil/ColorMap.cpp b/GUI/View/PlotUtil/ColorMap.cpp index e0c753fcce2..75f719e7ca6 100644 --- a/GUI/View/PlotUtil/ColorMap.cpp +++ b/GUI/View/PlotUtil/ColorMap.cpp @@ -357,7 +357,7 @@ void ColorMap::setDataFromItem() { if (!intensityItem()) return; - Datafield* data = intensityItem()->converted_field(); + const Datafield* data = intensityItem()->converted_field(); if (!data) { m_colorMap->data()->clear(); return; diff --git a/GUI/View/PlotUtil/SavePlotAssistant.cpp b/GUI/View/PlotUtil/SavePlotAssistant.cpp index 64b4691ccc1..1801dbfbf27 100644 --- a/GUI/View/PlotUtil/SavePlotAssistant.cpp +++ b/GUI/View/PlotUtil/SavePlotAssistant.cpp @@ -72,7 +72,7 @@ bool isPdfFile(const QString& fileName) return fileName.endsWith(pdf_extension, Qt::CaseInsensitive); } -void saveToFile(const QString& fileName, QCustomPlot* plot, Datafield* output_data) +void saveToFile(const QString& fileName, QCustomPlot* plot, const Datafield* output_data) { if (isPngFile(fileName)) plot->savePng(fileName); @@ -130,7 +130,7 @@ QString composeFileName(const QString& fileName, const QString& filterName) } // namespace -void GUI::Plot::savePlot(const QString& dirname, QCustomPlot* plot, Datafield* output_data) +void GUI::Plot::savePlot(const QString& dirname, QCustomPlot* plot, const Datafield* output_data) { QString selectedFilter("*.png"); diff --git a/GUI/View/PlotUtil/SavePlotAssistant.h b/GUI/View/PlotUtil/SavePlotAssistant.h index ff25a490239..109aa9173ea 100644 --- a/GUI/View/PlotUtil/SavePlotAssistant.h +++ b/GUI/View/PlotUtil/SavePlotAssistant.h @@ -22,7 +22,8 @@ class Datafield; namespace GUI::Plot { -void savePlot(const QString& dirname, QCustomPlot* plot, Datafield* output_data); +void savePlot(const QString& dirname, QCustomPlot* plot, const Datafield* output_data); + }; #endif // BORNAGAIN_GUI_VIEW_PLOTUTIL_SAVEPLOTASSISTANT_H -- GitLab