From 3a72557ea003ba4ba7a4bf286e0f2df3d826d314 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Wed, 4 Oct 2023 14:27:37 +0200 Subject: [PATCH] unify names -> Data1|2DItem --- .../{SpecularDataItem.cpp => Data1DItem.cpp} | 60 +++++----- .../Data/{SpecularDataItem.h => Data1DItem.h} | 16 ++- .../{IntensityItem.cpp => Data2DItem.cpp} | 90 +++++++-------- .../Data/{IntensityItem.h => Data2DItem.h} | 16 +-- GUI/Model/Data/DataItem.cpp | 2 +- GUI/Model/Data/DataItem.h | 2 +- GUI/Model/Data/MaskUnitsConverter.cpp | 18 +-- GUI/Model/Data/MaskUnitsConverter.h | 8 +- GUI/Model/Device/RealItem.cpp | 49 ++++---- GUI/Model/Device/RealItem.h | 10 +- GUI/Model/Job/JobItem.cpp | 30 ++--- GUI/Model/Job/JobItem.h | 4 +- GUI/Model/Model/RealModel.cpp | 4 +- GUI/Model/Project/LinkInstrumentManager.h | 2 +- GUI/View/Data/DataAccessWidget.cpp | 58 +++++----- GUI/View/Data/DataAccessWidget.h | 46 ++++---- GUI/View/Data/IntensityDataPropertyWidget.cpp | 60 +++++----- GUI/View/Data/IntensityDataPropertyWidget.h | 4 +- GUI/View/Fit/FitSessionController.cpp | 2 +- GUI/View/FitControl/GUIFitObserver.h | 2 +- .../FitObjective/ParameterTuningWidget.cpp | 6 +- .../FitObjective/SliderSettingsWidget.cpp | 6 +- GUI/View/Import/RealDataMaskWidget.cpp | 10 +- GUI/View/JobControl/JobListView.cpp | 6 +- GUI/View/Mask/MaskEditorCanvas.cpp | 40 +++---- GUI/View/Mask/MaskEditorCanvas.h | 8 +- GUI/View/Mask/MaskEditorPropertyPanel.cpp | 6 +- GUI/View/Mask/MaskEditorPropertyPanel.h | 4 +- GUI/View/Mask/MaskGraphicsProxy.cpp | 6 +- GUI/View/Mask/MaskGraphicsProxy.h | 4 +- GUI/View/Mask/MaskGraphicsScene.cpp | 15 ++- GUI/View/Mask/MaskGraphicsScene.h | 6 +- GUI/View/Mask/MaskResultsPresenter.cpp | 28 ++--- GUI/View/Mask/MaskResultsPresenter.h | 6 +- GUI/View/Plot2D/ColorMapCanvas.cpp | 6 +- GUI/View/Plot2D/ColorMapCanvas.h | 4 +- GUI/View/Plot2D/IntensityDataCanvas.cpp | 16 +-- GUI/View/Plot2D/IntensityDataCanvas.h | 6 +- GUI/View/Plot2D/IntensityDataFFTPresenter.cpp | 6 +- GUI/View/Plot2D/IntensityDataFFTPresenter.h | 10 +- GUI/View/Plot2D/IntensityDataWidget.cpp | 6 +- GUI/View/PlotComparison/Fitpair1DWidget.cpp | 46 ++++---- GUI/View/PlotComparison/Fitpair1DWidget.h | 2 +- GUI/View/PlotComparison/Fitpair2DWidget.cpp | 52 ++++----- GUI/View/PlotScale/ColorMap.cpp | 55 +++++---- GUI/View/PlotScale/ColorMap.h | 10 +- GUI/View/PlotScale/RangeUtil.cpp | 16 +-- GUI/View/PlotScale/RangeUtil.h | 8 +- GUI/View/PlotSpecular/SpecularDataCanvas.cpp | 8 +- GUI/View/PlotSpecular/SpecularDataCanvas.h | 2 +- .../SpecularDataPropertyWidget.cpp | 106 +++++++++--------- .../PlotSpecular/SpecularDataPropertyWidget.h | 2 +- GUI/View/PlotSpecular/SpecularDataWidget.cpp | 2 +- GUI/View/PlotSpecular/SpecularDataWidget.h | 2 +- GUI/View/PlotSpecular/SpecularPlot.cpp | 70 ++++++------ GUI/View/PlotSpecular/SpecularPlot.h | 22 ++-- GUI/View/PlotSpecular/SpecularPlotCanvas.cpp | 6 +- GUI/View/PlotSpecular/SpecularPlotCanvas.h | 4 +- .../IntensityDataProjectionsWidget.cpp | 14 +-- .../IntensityDataProjectionsWidget.h | 2 +- .../Projection/ProjectionsEditorActions.cpp | 12 +- .../Projection/ProjectionsEditorActions.h | 6 +- .../Projection/ProjectionsEditorCanvas.cpp | 34 +++--- GUI/View/Projection/ProjectionsEditorCanvas.h | 6 +- GUI/View/Projection/ProjectionsPlot.cpp | 82 +++++++------- GUI/View/Projection/ProjectionsPlot.h | 10 +- GUI/View/Projection/ProjectionsWidget.cpp | 8 +- GUI/View/Projection/ProjectionsWidget.h | 4 +- .../Projection/SaveProjectionsAssistant.cpp | 24 ++-- .../Projection/SaveProjectionsAssistant.h | 11 +- Tests/Unit/GUI/TestAutosaveController.cpp | 8 +- Tests/Unit/GUI/TestProjectDocument.cpp | 8 +- 72 files changed, 659 insertions(+), 671 deletions(-) rename GUI/Model/Data/{SpecularDataItem.cpp => Data1DItem.cpp} (83%) rename GUI/Model/Data/{SpecularDataItem.h => Data1DItem.h} (82%) rename GUI/Model/Data/{IntensityItem.cpp => Data2DItem.cpp} (79%) rename GUI/Model/Data/{IntensityItem.h => Data2DItem.h} (91%) diff --git a/GUI/Model/Data/SpecularDataItem.cpp b/GUI/Model/Data/Data1DItem.cpp similarity index 83% rename from GUI/Model/Data/SpecularDataItem.cpp rename to GUI/Model/Data/Data1DItem.cpp index aafa23a4a1e..f3316dda8d1 100644 --- a/GUI/Model/Data/SpecularDataItem.cpp +++ b/GUI/Model/Data/Data1DItem.cpp @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit reflection and scattering // -//! @file GUI/Model/Data/SpecularDataItem.cpp -//! @brief Implements class SpecularDataItem +//! @file GUI/Model/Data/Data1DItem.cpp +//! @brief Implements class Data1DItem //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -12,7 +12,7 @@ // // ************************************************************************************************ -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" #include "Base/Axis/Frame.h" #include "Base/Axis/Scale.h" #include "Base/Util/Assert.h" @@ -53,7 +53,7 @@ const QMap<QString, QCPGraph::LineStyle> line_map = { } // namespace -SpecularDataItem::SpecularDataItem() +Data1DItem::Data1DItem() : DataItem(M_TYPE) , m_lineType(line_map.key(QCPGraph::LineStyle::lsLine)) , m_color(Qt::blue) @@ -64,124 +64,124 @@ SpecularDataItem::SpecularDataItem() setSimuPlotStyle(); } -void SpecularDataItem::setDatafield(const Datafield& data) +void Data1DItem::setDatafield(const Datafield& data) { ASSERT(data.rank() == 1); DataItem::setDatafield(data); updateAxesZoomLevel(); } -double SpecularDataItem::xMin() const +double Data1DItem::xMin() const { const double defaultXmin(0.0); return m_datafield ? m_datafield->axis(0).min() : defaultXmin; } -double SpecularDataItem::xMax() const +double Data1DItem::xMax() const { const double defaultXmax(1.0); return m_datafield ? m_datafield->axis(0).max() : defaultXmax; } -double SpecularDataItem::yMin() const +double Data1DItem::yMin() const { return dataRange().first; } -double SpecularDataItem::yMax() const +double Data1DItem::yMax() const { return dataRange().second; } -bool SpecularDataItem::isLog() const +bool Data1DItem::isLog() const { return yAxisItem()->isLogScale(); } -void SpecularDataItem::setLog(bool islog) +void Data1DItem::setLog(bool islog) { yAxisItem()->setLogScale(islog); } -std::vector<int> SpecularDataItem::shape() const +std::vector<int> Data1DItem::shape() const { return {xSize()}; } -QCPGraph::LineStyle SpecularDataItem::lineStyle() +QCPGraph::LineStyle Data1DItem::lineStyle() { return line_map.value(m_lineType); } -void SpecularDataItem::setLineStyle(QCPGraph::LineStyle lineStyle) +void Data1DItem::setLineStyle(QCPGraph::LineStyle lineStyle) { ASSERT(line_map.values().contains(lineStyle)); m_lineType = line_map.key(lineStyle); } -QColor SpecularDataItem::color() +QColor Data1DItem::color() { return m_color; } -void SpecularDataItem::setColor(Qt::GlobalColor color) +void Data1DItem::setColor(Qt::GlobalColor color) { m_color = color; } -double SpecularDataItem::thickness() +double Data1DItem::thickness() { return m_thickness; } -void SpecularDataItem::setThickness(double thickness) +void Data1DItem::setThickness(double thickness) { m_thickness = thickness; } -QCPScatterStyle::ScatterShape SpecularDataItem::scatter() +QCPScatterStyle::ScatterShape Data1DItem::scatter() { return scatter_map.value(m_scatterType); } -void SpecularDataItem::setScatter(QCPScatterStyle::ScatterShape scatter) +void Data1DItem::setScatter(QCPScatterStyle::ScatterShape scatter) { ASSERT(scatter_map.values().contains(scatter)); m_scatterType = scatter_map.key(scatter); } -double SpecularDataItem::scatterSize() +double Data1DItem::scatterSize() { return m_scatterSize; } -void SpecularDataItem::setScatterSize(double scatterSize) +void Data1DItem::setScatterSize(double scatterSize) { m_scatterSize = scatterSize; } -void SpecularDataItem::setSimuPlotStyle() +void Data1DItem::setSimuPlotStyle() { setScatter(QCPScatterStyle::ScatterShape::ssNone); setColor(Qt::GlobalColor::blue); setLineStyle(QCPGraph::LineStyle::lsLine); } -void SpecularDataItem::setDiffPlotStyle() +void Data1DItem::setDiffPlotStyle() { setScatter(QCPScatterStyle::ScatterShape::ssNone); setColor(Qt::GlobalColor::black); setLineStyle(QCPGraph::LineStyle::lsLine); } -void SpecularDataItem::setRealPlotStyle() +void Data1DItem::setRealPlotStyle() { setScatter(QCPScatterStyle::ScatterShape::ssDisc); setColor(Qt::GlobalColor::black); setLineStyle(QCPGraph::LineStyle::lsNone); } -void SpecularDataItem::writeTo(QXmlStreamWriter* w) const +void Data1DItem::writeTo(QXmlStreamWriter* w) const { XML::writeAttribute(w, XML::Attrib::version, uint(1)); @@ -216,7 +216,7 @@ void SpecularDataItem::writeTo(QXmlStreamWriter* w) const w->writeEndElement(); } -void SpecularDataItem::readFrom(QXmlStreamReader* r) +void Data1DItem::readFrom(QXmlStreamReader* r) { const uint version = XML::readUIntAttribute(r, XML::Attrib::version); Q_UNUSED(version) @@ -263,7 +263,7 @@ void SpecularDataItem::readFrom(QXmlStreamReader* r) //! Sets zoom range of X,Y axes, if it was not yet defined. -void SpecularDataItem::updateAxesZoomLevel() +void Data1DItem::updateAxesZoomLevel() { // set zoom range of x-axis to min, max values if it was not set already if (upperX() < lowerX()) { @@ -281,7 +281,7 @@ void SpecularDataItem::updateAxesZoomLevel() xAxisItem()->setBinCount(nx); } -QPair<double, double> SpecularDataItem::dataRange() const +QPair<double, double> Data1DItem::dataRange() const { const double default_min = 0.0; const double default_max = 1.0; @@ -305,7 +305,7 @@ QPair<double, double> SpecularDataItem::dataRange() const return QPair<double, double>(min, max); } -void SpecularDataItem::resetView() +void Data1DItem::resetView() { if (m_datafield) setAxesRangeToData(); diff --git a/GUI/Model/Data/SpecularDataItem.h b/GUI/Model/Data/Data1DItem.h similarity index 82% rename from GUI/Model/Data/SpecularDataItem.h rename to GUI/Model/Data/Data1DItem.h index 2bca738fa6d..13af2accdb9 100644 --- a/GUI/Model/Data/SpecularDataItem.h +++ b/GUI/Model/Data/Data1DItem.h @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit reflection and scattering // -//! @file GUI/Model/Data/SpecularDataItem.h -//! @brief Defines class SpecularDataItem +//! @file GUI/Model/Data/Data1DItem.h +//! @brief Defines class Data1DItem //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -12,28 +12,26 @@ // // ************************************************************************************************ -#ifndef BORNAGAIN_GUI_MODEL_DATA_SPECULARDATAITEM_H -#define BORNAGAIN_GUI_MODEL_DATA_SPECULARDATAITEM_H +#ifndef BORNAGAIN_GUI_MODEL_DATA_DATA1DITEM_H +#define BORNAGAIN_GUI_MODEL_DATA_DATA1DITEM_H #include "GUI/Model/Data/DataItem.h" #include <qcustomplot.h> -class SpecularDataItem : public DataItem { +class Data1DItem : public DataItem { Q_OBJECT public: static constexpr auto M_TYPE{"SpecularData"}; - SpecularDataItem(); + Data1DItem(); // TODO: consider using index-based functions for axes' handlers void setDatafield(const Datafield& data) override; - // Returns min and max range of x-axis as given by IntensityData double xMin() const override; double xMax() const override; - // Returns min and max range of y-axis as given by data double yMin() const override; double yMax() const override; QPair<double, double> dataRange() const; @@ -87,4 +85,4 @@ private: double m_scatterSize; }; -#endif // BORNAGAIN_GUI_MODEL_DATA_SPECULARDATAITEM_H +#endif // BORNAGAIN_GUI_MODEL_DATA_DATA1DITEM_H diff --git a/GUI/Model/Data/IntensityItem.cpp b/GUI/Model/Data/Data2DItem.cpp similarity index 79% rename from GUI/Model/Data/IntensityItem.cpp rename to GUI/Model/Data/Data2DItem.cpp index 46125f692b2..3bbfe9d2e53 100644 --- a/GUI/Model/Data/IntensityItem.cpp +++ b/GUI/Model/Data/Data2DItem.cpp @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit reflection and scattering // -//! @file GUI/Model/Data/IntensityItem.cpp -//! @brief Implements class IntensityItem +//! @file GUI/Model/Data/Data2DItem.cpp +//! @brief Implements class Data2DItem //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -12,7 +12,7 @@ // // ************************************************************************************************ -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "Base/Axis/Frame.h" #include "Base/Axis/Scale.h" #include "Base/Util/Assert.h" @@ -60,7 +60,7 @@ QString startGradient = "Inferno"; } // namespace -IntensityItem::IntensityItem() +Data2DItem::Data2DItem() : DataItem(M_TYPE) , m_isInterpolated(true) , m_gradient( @@ -69,9 +69,9 @@ IntensityItem::IntensityItem() { } -IntensityItem::~IntensityItem() = default; +Data2DItem::~Data2DItem() = default; -void IntensityItem::setDatafield(const Datafield& data) +void Data2DItem::setDatafield(const Datafield& data) { ASSERT(data.rank() == 2); DataItem::setDatafield(data); @@ -79,53 +79,53 @@ void IntensityItem::setDatafield(const Datafield& data) updateDataRange(); } -double IntensityItem::xMin() const +double Data2DItem::xMin() const { const double defaultXmin(0.0); return m_datafield ? m_datafield->axis(0).min() : defaultXmin; } -double IntensityItem::xMax() const +double Data2DItem::xMax() const { const double defaultXmax(1.0); return m_datafield ? m_datafield->axis(0).max() : defaultXmax; } -double IntensityItem::yMin() const +double Data2DItem::yMin() const { const double defaultYmin(0.0); return m_datafield ? m_datafield->axis(1).min() : defaultYmin; } -double IntensityItem::yMax() const +double Data2DItem::yMax() const { const double defaultYmax(1.0); return m_datafield ? m_datafield->axis(1).max() : defaultYmax; } -double IntensityItem::lowerZ() const +double Data2DItem::lowerZ() const { return zAxisItem()->min(); } -double IntensityItem::upperZ() const +double Data2DItem::upperZ() const { return zAxisItem()->max(); } -void IntensityItem::setLowerZ(double zmin) +void Data2DItem::setLowerZ(double zmin) { zAxisItem()->setMin(zmin); emit itemAxesRangeChanged(); } -void IntensityItem::setUpperZ(double zmax) +void Data2DItem::setUpperZ(double zmax) { zAxisItem()->setMax(zmax); emit itemAxesRangeChanged(); } -void IntensityItem::setLowerAndUpperZ(double zmin, double zmax) +void Data2DItem::setLowerAndUpperZ(double zmin, double zmax) { if (lowerZ() != zmin) setLowerZ(zmin); @@ -134,16 +134,16 @@ void IntensityItem::setLowerAndUpperZ(double zmin, double zmax) setUpperZ(zmax); } -void IntensityItem::copyZRangeFromItem(DataItem* sourceItem) +void Data2DItem::copyZRangeFromItem(DataItem* sourceItem) { - IntensityItem* source = dynamic_cast<IntensityItem*>(sourceItem); + Data2DItem* source = dynamic_cast<Data2DItem*>(sourceItem); if (!source || source == this) return; setLowerZ(source->lowerZ()); setUpperZ(source->upperZ()); } -QCPColorGradient IntensityItem::currentGradientQCP() const +QCPColorGradient Data2DItem::currentGradientQCP() const { if (gradient_map.contains(currentGradient())) return gradient_map.value(currentGradient()); @@ -151,61 +151,61 @@ QCPColorGradient IntensityItem::currentGradientQCP() const return custom_gradient_map.value(currentGradient()); } -QString IntensityItem::currentGradient() const +QString Data2DItem::currentGradient() const { return gradientCombo().currentValue(); } -void IntensityItem::setCurrentGradient(const QString& gradient) +void Data2DItem::setCurrentGradient(const QString& gradient) { m_gradient.setCurrentValue(gradient); emit gradientChanged(); } -ComboProperty IntensityItem::gradientCombo() const +ComboProperty Data2DItem::gradientCombo() const { return m_gradient; } -bool IntensityItem::isLog() const +bool Data2DItem::isLog() const { return zAxisItem()->isLogScale(); } -void IntensityItem::setLog(bool islog) +void Data2DItem::setLog(bool islog) { zAxisItem()->setLogScale(islog); } -bool IntensityItem::isInterpolated() const +bool Data2DItem::isInterpolated() const { return m_isInterpolated; } -void IntensityItem::setInterpolated(bool interp) +void Data2DItem::setInterpolated(bool interp) { m_isInterpolated = interp; emit interpolationChanged(interp); } -bool IntensityItem::isZaxisLocked() const +bool Data2DItem::isZaxisLocked() const { return m_zAxis->isLocked(); } -void IntensityItem::setZaxisLocked(bool state) +void Data2DItem::setZaxisLocked(bool state) { return m_zAxis->setLocked(state); } -std::vector<int> IntensityItem::shape() const +std::vector<int> Data2DItem::shape() const { return {xSize(), ySize()}; } //! Sets zoom range of X,Y axes, if it was not yet defined. -void IntensityItem::updateAxesZoomLevel() +void Data2DItem::updateAxesZoomLevel() { // set zoom range of x-axis to min, max values if it was not set already if (upperX() < lowerX()) { @@ -227,7 +227,7 @@ void IntensityItem::updateAxesZoomLevel() //! Sets min,max values for z-axis, if axes is not locked, and ranges are not yet set. -void IntensityItem::updateDataRange() +void Data2DItem::updateDataRange() { if (isZaxisLocked()) return; @@ -236,13 +236,13 @@ void IntensityItem::updateDataRange() emit alignRanges(); } -void IntensityItem::computeDataRange() +void Data2DItem::computeDataRange() { setLowerAndUpperZ(dataRange().first, dataRange().second); } //! Init zmin, zmax to match the intensity values range. -QPair<double, double> IntensityItem::dataRange() const +QPair<double, double> Data2DItem::dataRange() const { const Datafield* data = c_field(); @@ -260,17 +260,17 @@ QPair<double, double> IntensityItem::dataRange() const return QPair<double, double>(min, max); } -const AmplitudeAxisItem* IntensityItem::zAxisItem() const +const AmplitudeAxisItem* Data2DItem::zAxisItem() const { return m_zAxis.get(); } -AmplitudeAxisItem* IntensityItem::zAxisItem() +AmplitudeAxisItem* Data2DItem::zAxisItem() { return m_zAxis.get(); } -void IntensityItem::resetView() +void Data2DItem::resetView() { if (!m_datafield) return; @@ -280,7 +280,7 @@ void IntensityItem::resetView() computeDataRange(); } -void IntensityItem::writeTo(QXmlStreamWriter* w) const +void Data2DItem::writeTo(QXmlStreamWriter* w) const { XML::writeAttribute(w, XML::Attrib::version, uint(1)); @@ -319,7 +319,7 @@ void IntensityItem::writeTo(QXmlStreamWriter* w) const } } -void IntensityItem::readFrom(QXmlStreamReader* r) +void Data2DItem::readFrom(QXmlStreamReader* r) { const uint version = XML::readUIntAttribute(r, XML::Attrib::version); Q_UNUSED(version) @@ -362,17 +362,17 @@ void IntensityItem::readFrom(QXmlStreamReader* r) } } -MaskContainerItem* IntensityItem::maskContainerItem() +MaskContainerItem* Data2DItem::maskContainerItem() { return m_maskContainerItem.get(); } -const MaskContainerItem* IntensityItem::maskContainerItem() const +const MaskContainerItem* Data2DItem::maskContainerItem() const { return m_maskContainerItem.get(); } -MaskContainerItem* IntensityItem::getOrCreateMaskContainerItem() +MaskContainerItem* Data2DItem::getOrCreateMaskContainerItem() { if (!m_maskContainerItem) m_maskContainerItem.reset(new MaskContainerItem); @@ -380,17 +380,17 @@ MaskContainerItem* IntensityItem::getOrCreateMaskContainerItem() return m_maskContainerItem.get(); } -ProjectionContainerItem* IntensityItem::projectionContainerItem() +ProjectionContainerItem* Data2DItem::projectionContainerItem() { return m_projectionContainerItem.get(); } -const ProjectionContainerItem* IntensityItem::projectionContainerItem() const +const ProjectionContainerItem* Data2DItem::projectionContainerItem() const { return m_projectionContainerItem.get(); } -ProjectionContainerItem* IntensityItem::getOrCreateProjectionContainerItem() +ProjectionContainerItem* Data2DItem::getOrCreateProjectionContainerItem() { if (!m_projectionContainerItem) m_projectionContainerItem.reset(new ProjectionContainerItem); @@ -398,12 +398,12 @@ ProjectionContainerItem* IntensityItem::getOrCreateProjectionContainerItem() return m_projectionContainerItem.get(); } -bool IntensityItem::hasMasks() const +bool Data2DItem::hasMasks() const { return (maskContainerItem() && !maskContainerItem()->isEmpty()); } -bool IntensityItem::hasProjections() const +bool Data2DItem::hasProjections() const { return (projectionContainerItem() && !projectionContainerItem()->isEmpty()); } diff --git a/GUI/Model/Data/IntensityItem.h b/GUI/Model/Data/Data2DItem.h similarity index 91% rename from GUI/Model/Data/IntensityItem.h rename to GUI/Model/Data/Data2DItem.h index 9718c050065..eaa6911381e 100644 --- a/GUI/Model/Data/IntensityItem.h +++ b/GUI/Model/Data/Data2DItem.h @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit reflection and scattering // -//! @file GUI/Model/Data/IntensityItem.h -//! @brief Defines class IntensityItem +//! @file GUI/Model/Data/Data2DItem.h +//! @brief Defines class Data2DItem //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -12,8 +12,8 @@ // // ************************************************************************************************ -#ifndef BORNAGAIN_GUI_MODEL_DATA_INTENSITYITEM_H -#define BORNAGAIN_GUI_MODEL_DATA_INTENSITYITEM_H +#ifndef BORNAGAIN_GUI_MODEL_DATA_DATA2DITEM_H +#define BORNAGAIN_GUI_MODEL_DATA_DATA2DITEM_H #include "GUI/Model/Data/DataItem.h" @@ -23,14 +23,14 @@ class MaskItemObject; class ProjectionContainerItem; class QCPColorGradient; -class IntensityItem : public DataItem { +class Data2DItem : public DataItem { Q_OBJECT public: static constexpr auto M_TYPE{"IntensityData"}; - IntensityItem(); - ~IntensityItem(); + Data2DItem(); + ~Data2DItem(); void setDatafield(const Datafield& data) override; @@ -119,4 +119,4 @@ private: std::unique_ptr<ProjectionContainerItem> m_projectionContainerItem; }; -#endif // BORNAGAIN_GUI_MODEL_DATA_INTENSITYITEM_H +#endif // BORNAGAIN_GUI_MODEL_DATA_DATA2DITEM_H diff --git a/GUI/Model/Data/DataItem.cpp b/GUI/Model/Data/DataItem.cpp index 74fedf6f81a..d3f11e8d9a7 100644 --- a/GUI/Model/Data/DataItem.cpp +++ b/GUI/Model/Data/DataItem.cpp @@ -3,7 +3,7 @@ // BornAgain: simulate and fit reflection and scattering // //! @file GUI/Model/Data/DataItem.cpp -//! @brief Implements class IntensityItem +//! @brief Implements class Data2DItem //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) diff --git a/GUI/Model/Data/DataItem.h b/GUI/Model/Data/DataItem.h index 6776f441e36..d6ea4c9259e 100644 --- a/GUI/Model/Data/DataItem.h +++ b/GUI/Model/Data/DataItem.h @@ -26,7 +26,7 @@ class Datafield; class Frame; class MessageService; -//! Abstract base class for IntensityItem and SpecularDataItem. +//! Abstract base class for Data2DItem and Data1DItem. //! Owns one simulated data set of type Datafield. //! For experimental data, use RealItem. diff --git a/GUI/Model/Data/MaskUnitsConverter.cpp b/GUI/Model/Data/MaskUnitsConverter.cpp index b552ac62933..f55d02fc97a 100644 --- a/GUI/Model/Data/MaskUnitsConverter.cpp +++ b/GUI/Model/Data/MaskUnitsConverter.cpp @@ -15,7 +15,7 @@ #include "GUI/Model/Data/MaskUnitsConverter.h" #include "Base/Axis/FrameUtil.h" #include "Device/Data/Datafield.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/ProjectionItems.h" MaskUnitsConverter::MaskUnitsConverter() : m_data(nullptr) @@ -23,26 +23,26 @@ MaskUnitsConverter::MaskUnitsConverter() { } -//! Converts all masks on board of IntensityItem into bin-fraction coordinates. +//! Converts all masks on board of Data2DItem into bin-fraction coordinates. -void MaskUnitsConverter::convertToNbins(IntensityItem* intensityData) +void MaskUnitsConverter::convertToNbins(Data2DItem* intensityData) { m_direction = TO_NBINS; - convertIntensityItem(intensityData); + convertData2DItem(intensityData); } -//! Converts all masks on board of IntensityItem from bin-fraction coordinates to coordinates +//! Converts all masks on board of Data2DItem from bin-fraction coordinates to coordinates //! of axes currently defined in Datafield. -void MaskUnitsConverter::convertFromNbins(IntensityItem* intensityData) +void MaskUnitsConverter::convertFromNbins(Data2DItem* intensityData) { m_direction = FROM_NBINS; - convertIntensityItem(intensityData); + convertData2DItem(intensityData); } -//! Converts all masks on board of IntensityItem from/to bin-fraction coordinates +//! Converts all masks on board of Data2DItem from/to bin-fraction coordinates -void MaskUnitsConverter::convertIntensityItem(IntensityItem* intensityData) +void MaskUnitsConverter::convertData2DItem(Data2DItem* intensityData) { if (!intensityData || !intensityData->c_field()) return; diff --git a/GUI/Model/Data/MaskUnitsConverter.h b/GUI/Model/Data/MaskUnitsConverter.h index f25315c6b48..7732bf3b2e9 100644 --- a/GUI/Model/Data/MaskUnitsConverter.h +++ b/GUI/Model/Data/MaskUnitsConverter.h @@ -15,7 +15,7 @@ #ifndef BORNAGAIN_GUI_MODEL_DATA_MASKUNITSCONVERTER_H #define BORNAGAIN_GUI_MODEL_DATA_MASKUNITSCONVERTER_H -class IntensityItem; +class Data2DItem; class Datafield; class MaskItem; @@ -32,13 +32,13 @@ public: MaskUnitsConverter(); - void convertToNbins(IntensityItem* intensityData); - void convertFromNbins(IntensityItem* intensityData); + void convertToNbins(Data2DItem* intensityData); + void convertFromNbins(Data2DItem* intensityData); private: enum class Axis { X, Y }; - void convertIntensityItem(IntensityItem* intensityData); + void convertData2DItem(Data2DItem* intensityData); void convertMask(MaskItem* maskItem); double convert(double value, Axis axis); diff --git a/GUI/Model/Device/RealItem.cpp b/GUI/Model/Device/RealItem.cpp index d93ac12ce3a..c7900a4231d 100644 --- a/GUI/Model/Device/RealItem.cpp +++ b/GUI/Model/Device/RealItem.cpp @@ -18,9 +18,9 @@ #include "Device/Data/DataUtil.h" #include "Device/Data/Datafield.h" #include "GUI/Model/Axis/AmplitudeAxisItem.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data1DItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/ProjectionItems.h" -#include "GUI/Model/Data/SpecularDataItem.h" #include "GUI/Model/Device/InstrumentItems.h" #include "GUI/Support/Util/ItemFileNameUtil.h" #include "GUI/Support/XML/Backup.h" @@ -47,20 +47,20 @@ const QString PresentationType("PresentationType"); void initDataItem(const std::size_t rank, std::unique_ptr<DataItem>& dataItem) { // TODO: initDataItem can be replaced by a template which accepts only - // SpecularDataItem or IntensityItem. + // Data1DItem or Data2DItem. ASSERT(rank == 1 || rank == 2); if (dataItem) { - if ((rank == 1 && !dynamic_cast<const SpecularDataItem*>(dataItem.get())) - || (rank == 2 && !dynamic_cast<const IntensityItem*>(dataItem.get()))) + if ((rank == 1 && !dynamic_cast<const Data1DItem*>(dataItem.get())) + || (rank == 2 && !dynamic_cast<const Data2DItem*>(dataItem.get()))) throw std::runtime_error("Error in RealItem::initDataItem: trying to set data " "incompatible with underlying data item"); } else { if (rank == 1) - dataItem = std::make_unique<SpecularDataItem>(); + dataItem = std::make_unique<Data1DItem>(); else // if rank == 2 - dataItem = std::make_unique<IntensityItem>(); + dataItem = std::make_unique<Data2DItem>(); } } @@ -97,14 +97,14 @@ DataItem* RealItem::dataItem() const return m_dataItem.get(); } -IntensityItem* RealItem::intensityItem() const +Data2DItem* RealItem::data2DItem() const { - return dynamic_cast<IntensityItem*>(dataItem()); + return dynamic_cast<Data2DItem*>(dataItem()); } -SpecularDataItem* RealItem::specularDataItem() const +Data1DItem* RealItem::data1DItem() const { - return dynamic_cast<SpecularDataItem*>(dataItem()); + return dynamic_cast<Data1DItem*>(dataItem()); } void RealItem::initItemWithRank(int rank) @@ -114,7 +114,7 @@ void RealItem::initItemWithRank(int rank) size_t RealItem::rank() const { - return specularDataItem() ? 1 : 2; + return data1DItem() ? 1 : 2; } bool RealItem::hasNativeData() const @@ -216,10 +216,10 @@ bool RealItem::rotationAffectsSetup() const if (hasLinkToInstrument) return true; - if (intensityItem()->hasMasks()) + if (data2DItem()->hasMasks()) return true; - if (intensityItem()->hasProjections()) + if (data2DItem()->hasProjections()) return true; return false; @@ -233,25 +233,24 @@ void RealItem::rotateData() // -- first break instrument link, clear masks and projections unlinkFromInstrument(); - if (MaskContainerItem* maskContainer = intensityItem()->maskContainerItem()) + if (MaskContainerItem* maskContainer = data2DItem()->maskContainerItem()) maskContainer->clear(); - if (ProjectionContainerItem* projectionsContainer = - intensityItem()->projectionContainerItem()) { + if (ProjectionContainerItem* projectionsContainer = data2DItem()->projectionContainerItem()) { projectionsContainer->clear(); } // -- now rotate data - const Datafield& input = intensityItem()->d_field(); + const Datafield& input = data2DItem()->d_field(); const Datafield output = DataUtil::createRearrangedDataSet(input, 1); // upd AxesItems - intensityItem()->xAxisItem()->setBinCount(output.xAxis().size()); - intensityItem()->yAxisItem()->setBinCount(output.yAxis().size()); + data2DItem()->xAxisItem()->setBinCount(output.xAxis().size()); + data2DItem()->yAxisItem()->setBinCount(output.yAxis().size()); // apply rotated data - intensityItem()->setDatafield(output); - intensityItem()->setAxesRangeToData(); + data2DItem()->setDatafield(output); + data2DItem()->setAxesRangeToData(); } //! Updates the name of file to store intensity data. @@ -335,9 +334,9 @@ void RealItem::readFrom(QXmlStreamReader* r) } else if (tag == Tag::Data) { QString type; XML::readAttribute(r, XML::Attrib::type, &type); - if (type == SpecularDataItem::M_TYPE) + if (type == Data1DItem::M_TYPE) initItemWithRank(1); - else if (type == IntensityItem::M_TYPE) + else if (type == Data2DItem::M_TYPE) initItemWithRank(2); else ASSERT_NEVER; @@ -414,7 +413,7 @@ std::vector<int> RealItem::shape() const MaskContainerItem* RealItem::maskContainerItem() { - if (auto* intensity_data = intensityItem()) + if (auto* intensity_data = data2DItem()) return intensity_data->maskContainerItem(); return nullptr; } diff --git a/GUI/Model/Device/RealItem.h b/GUI/Model/Device/RealItem.h index aa0860351b3..e174285e7f9 100644 --- a/GUI/Model/Device/RealItem.h +++ b/GUI/Model/Device/RealItem.h @@ -20,10 +20,10 @@ class Datafield; class DataItem; class InstrumentItem; -class IntensityItem; +class Data2DItem; class MaskContainerItem; class MessageService; -class SpecularDataItem; +class Data1DItem; class QXmlStreamReader; class QXmlStreamWriter; @@ -49,8 +49,8 @@ public: // data DataItem* dataItem() const; - IntensityItem* intensityItem() const; - SpecularDataItem* specularDataItem() const; + Data2DItem* data2DItem() const; + Data1DItem* data1DItem() const; void initItemWithRank(int rank); @@ -123,7 +123,7 @@ private: QString m_nativeDataUnits = "bin"; QString m_presentationType; - // DataItem can be `IntensityItem` and `SpecularDataItem` (default `IntensityItem`). + // DataItem can be `Data2DItem` and `Data1DItem` (default `Data2DItem`). /* "Native_data" is introduced and used in specular mode to keep the original axis of the dataset. It also stores a copy of original intensity values inside datafield, diff --git a/GUI/Model/Job/JobItem.cpp b/GUI/Model/Job/JobItem.cpp index 742de53c0cf..6f1f2abbcc7 100644 --- a/GUI/Model/Job/JobItem.cpp +++ b/GUI/Model/Job/JobItem.cpp @@ -17,8 +17,8 @@ #include "Device/Data/Datafield.h" #include "Device/Detector/IDetector.h" #include "Device/Detector/SimulationAreaIterator.h" // roiIndex -#include "GUI/Model/Data/IntensityItem.h" -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Device/BackgroundItems.h" #include "GUI/Model/Device/InstrumentItems.h" #include "GUI/Model/Device/RealItem.h" @@ -280,9 +280,9 @@ DataItem* JobItem::createNewDataItem() { DataItem* dataItem; if (isSpecularJob()) - dataItem = new SpecularDataItem(); + dataItem = new Data1DItem(); else if (isIntensityJob()) - dataItem = new IntensityItem(); + dataItem = new Data2DItem(); else ASSERT_NEVER; @@ -295,9 +295,9 @@ void JobItem::createSimulatedDataItem() m_simulatedDataItem.reset(createNewDataItem()); } -IntensityItem* JobItem::intensityItem() +Data2DItem* JobItem::data2DItem() { - return dynamic_cast<IntensityItem*>(m_simulatedDataItem.get()); + return dynamic_cast<Data2DItem*>(m_simulatedDataItem.get()); } DataItem* JobItem::simulatedDataItem() @@ -315,7 +315,7 @@ DataItem* JobItem::createDiffDataItem() // TODO if (isSpecularJob()) - dynamic_cast<SpecularDataItem*>(diffDataItem())->setDiffPlotStyle(); + dynamic_cast<Data1DItem*>(diffDataItem())->setDiffPlotStyle(); return m_diffDataItem.get(); } @@ -342,7 +342,7 @@ void JobItem::copyRealItemIntoJob(const RealItem* srcRealItem) // m_simulatedDataItem->setCurrentCoord(m_realItem->dataItem()->currentCoord()); if (isSpecularJob()) - m_realItem->specularDataItem()->setRealPlotStyle(); + m_realItem->data1DItem()->setRealPlotStyle(); } RealItem* JobItem::realItem() @@ -379,21 +379,21 @@ void JobItem::cropRealData() ASSERT(iiI); // Adjust real data to the size of region of interest - IntensityItem* intensityItem = realItem()->intensityItem(); + Data2DItem* data2DItem = realItem()->data2DItem(); - std::unique_ptr<Datafield> origData(intensityItem->c_field()->clone()); + std::unique_ptr<Datafield> origData(data2DItem->c_field()->clone()); const Frame frame = iiI->makeFrame(); // (re)create zero-valued Datafield. - intensityItem->setDatafield({frame.clonedAxes()}); + data2DItem->setDatafield({frame.clonedAxes()}); iiI->normalDetector()->iterateOverNonMaskedPoints([&](IDetector::const_iterator it) { - Datafield* cropped_data = intensityItem->p_field(); + Datafield* cropped_data = data2DItem->p_field(); (*cropped_data)[it.roiIndex()] = (*origData)[it.detectorIndex()]; }); - intensityItem->updateDataRange(); + data2DItem->updateDataRange(); } void JobItem::writeTo(QXmlStreamWriter* w) const @@ -587,8 +587,8 @@ void JobItem::readFrom(QXmlStreamReader* r) createDiffDataItem()->checkXYranges(m_realItem->dataItem()); if (isIntensityJob()) - dynamic_cast<IntensityItem*>(diffDataItem()) - ->setCurrentGradient(m_realItem->intensityItem()->currentGradient()); + dynamic_cast<Data2DItem*>(diffDataItem()) + ->setCurrentGradient(m_realItem->data2DItem()->currentGradient()); importMasksFromRealItem(); XML::gotoEndElementOfTag(r, tag); diff --git a/GUI/Model/Job/JobItem.h b/GUI/Model/Job/JobItem.h index c8e37d13a5d..f6827b85661 100644 --- a/GUI/Model/Job/JobItem.h +++ b/GUI/Model/Job/JobItem.h @@ -26,7 +26,7 @@ class DataItem; class FitParameterContainerItem; class FitSuiteItem; class InstrumentItem; -class IntensityItem; +class Data2DItem; class MessageService; class ParameterContainerItem; class ParameterTreeItems; @@ -118,7 +118,7 @@ public: // data void createSimulatedDataItem(); - IntensityItem* intensityItem(); + Data2DItem* data2DItem(); DataItem* simulatedDataItem(); DataItem* createDiffDataItem(); diff --git a/GUI/Model/Model/RealModel.cpp b/GUI/Model/Model/RealModel.cpp index 81e50bedfec..ec06b4f1525 100644 --- a/GUI/Model/Model/RealModel.cpp +++ b/GUI/Model/Model/RealModel.cpp @@ -40,8 +40,8 @@ QVector<DataItem*> RealModel::dataItems() const { QVector<DataItem*> result; for (auto* realData : realItems()) { - if (auto* intensityItem = realData->dataItem()) - result.push_back(intensityItem); + if (auto* data2DItem = realData->dataItem()) + result.push_back(data2DItem); if (auto* native_data_item = realData->nativeDataItem()) result.push_back(native_data_item); } diff --git a/GUI/Model/Project/LinkInstrumentManager.h b/GUI/Model/Project/LinkInstrumentManager.h index 374c8ec823a..0dd29f6b86c 100644 --- a/GUI/Model/Project/LinkInstrumentManager.h +++ b/GUI/Model/Project/LinkInstrumentManager.h @@ -26,7 +26,7 @@ class RealItem; //! The LinkInstrumentManager class provides communication between InstrumentModel and //! RealModel. Particularly, it notifies RealItem about changes in linked instruments -//! to adjust axes of IntensityItem. +//! to adjust axes of Data2DItem. class LinkInstrumentManager : public QObject { Q_OBJECT diff --git a/GUI/View/Data/DataAccessWidget.cpp b/GUI/View/Data/DataAccessWidget.cpp index 35e21f3b2ed..8f666c9f543 100644 --- a/GUI/View/Data/DataAccessWidget.cpp +++ b/GUI/View/Data/DataAccessWidget.cpp @@ -14,8 +14,8 @@ #include "GUI/View/Data/DataAccessWidget.h" #include "Base/Util/Assert.h" -#include "GUI/Model/Data/IntensityItem.h" -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" +#include "GUI/Model/Data/Data2DItem.h" DataAccessWidget::DataAccessWidget(QWidget* parent) : QWidget(parent) @@ -34,7 +34,7 @@ void DataAccessWidget::setJobOrRealItem(QObject* item) connect(m_item, &QObject::destroyed, this, [this]() { m_item = nullptr; }); } -void DataAccessWidget::setFourierItem(IntensityItem* fftItem) +void DataAccessWidget::setFourierItem(Data2DItem* fftItem) { m_fftItem = fftItem; } @@ -59,70 +59,70 @@ QObject* DataAccessWidget::jobRealBase() const return m_item; } -SpecularDataItem* DataAccessWidget::realSpecularDataItem() const +Data1DItem* DataAccessWidget::realData1DItem() const { - return realDataItem<SpecularDataItem>(); + return realDataItem<Data1DItem>(); } -SpecularDataItem* DataAccessWidget::simuSpecularDataItem() const +Data1DItem* DataAccessWidget::simuData1DItem() const { - return simuDataItem<SpecularDataItem>(); + return simuDataItem<Data1DItem>(); } -SpecularDataItem* DataAccessWidget::diffSpecularDataItem() const +Data1DItem* DataAccessWidget::diffData1DItem() const { - return diffDataItem<SpecularDataItem>(); + return diffDataItem<Data1DItem>(); } -IntensityItem* DataAccessWidget::realIntensityItem() const +Data2DItem* DataAccessWidget::realData2DItem() const { - return realDataItem<IntensityItem>(); + return realDataItem<Data2DItem>(); } -IntensityItem* DataAccessWidget::simuIntensityItem() const +Data2DItem* DataAccessWidget::simuData2DItem() const { - return simuDataItem<IntensityItem>(); + return simuDataItem<Data2DItem>(); } -IntensityItem* DataAccessWidget::diffIntensityItem() const +Data2DItem* DataAccessWidget::diffData2DItem() const { - return diffDataItem<IntensityItem>(); + return diffDataItem<Data2DItem>(); } -QList<SpecularDataItem*> DataAccessWidget::mainSpecularDataItems() const +QList<Data1DItem*> DataAccessWidget::mainData1DItems() const { - return mainDataItems<SpecularDataItem>(); + return mainDataItems<Data1DItem>(); } -QList<SpecularDataItem*> DataAccessWidget::allSpecularDataItems() const +QList<Data1DItem*> DataAccessWidget::allData1DItems() const { - return allDataItems<SpecularDataItem>(); + return allDataItems<Data1DItem>(); } -SpecularDataItem* DataAccessWidget::currentSpecularDataItem() const +Data1DItem* DataAccessWidget::currentData1DItem() const { - if (allSpecularDataItems().size() == 0) + if (allData1DItems().size() == 0) return nullptr; - return allSpecularDataItems().first(); + return allData1DItems().first(); } -QList<IntensityItem*> DataAccessWidget::mainIntensityItems() const +QList<Data2DItem*> DataAccessWidget::mainData2DItems() const { if (m_fftItem) return {m_fftItem}; - return mainDataItems<IntensityItem>(); + return mainDataItems<Data2DItem>(); } -QList<IntensityItem*> DataAccessWidget::allIntensityItems() const +QList<Data2DItem*> DataAccessWidget::allData2DItems() const { if (m_fftItem) return {m_fftItem}; - return allDataItems<IntensityItem>(); + return allDataItems<Data2DItem>(); } -IntensityItem* DataAccessWidget::currentIntensityItem() const +Data2DItem* DataAccessWidget::currentData2DItem() const { - if (allIntensityItems().size() == 0) + if (allData2DItems().size() == 0) return nullptr; - return allIntensityItems().first(); + return allData2DItems().first(); } diff --git a/GUI/View/Data/DataAccessWidget.h b/GUI/View/Data/DataAccessWidget.h index a601819f220..def6845e6f4 100644 --- a/GUI/View/Data/DataAccessWidget.h +++ b/GUI/View/Data/DataAccessWidget.h @@ -20,7 +20,7 @@ #include <QWidget> //! The DataAccessWidget class is a base for widgets, working data, stored in JobItem or RealItem. -//! DataAccessWidget provides an access to SpeculatDataItems and IntensityItems separately and +//! DataAccessWidget provides an access to SpeculatDataItems and Data2DItems separately and //! as a list of items that is required for simultaneous, synchronous work while plotting and //! changing their properties. @@ -32,7 +32,7 @@ public: virtual void setJobOrRealItem(QObject* item); - virtual void setFourierItem(IntensityItem* fftItem); + virtual void setFourierItem(Data2DItem* fftItem); virtual QList<QAction*> actionList(); @@ -44,49 +44,49 @@ public: // Specular - //! Real data as SpecularDataItem - SpecularDataItem* realSpecularDataItem() const; + //! Real data as Data1DItem + Data1DItem* realData1DItem() const; - //! Simulated data as SpecularDataItem - SpecularDataItem* simuSpecularDataItem() const; + //! Simulated data as Data1DItem + Data1DItem* simuData1DItem() const; - //! Difference data as SpecularDataItem - SpecularDataItem* diffSpecularDataItem() const; + //! Difference data as Data1DItem + Data1DItem* diffData1DItem() const; // Intensity - //! Real as IntensityItem - IntensityItem* realIntensityItem() const; + //! Real as Data2DItem + Data2DItem* realData2DItem() const; - //! Simulated as IntensityItem - IntensityItem* simuIntensityItem() const; + //! Simulated as Data2DItem + Data2DItem* simuData2DItem() const; - //! Difference as IntensityItem - IntensityItem* diffIntensityItem() const; + //! Difference as Data2DItem + Data2DItem* diffData2DItem() const; //... Access to lists of items: // Specular //! Simulated + real specular data as list, non-nullptr items - QList<SpecularDataItem*> mainSpecularDataItems() const; + QList<Data1DItem*> mainData1DItems() const; //! Simulated + real + difference specular data as list, non-nullptr items - QList<SpecularDataItem*> allSpecularDataItems() const; + QList<Data1DItem*> allData1DItems() const; - //! first element of allSpecularDataItems() with nullptr check - SpecularDataItem* currentSpecularDataItem() const; + //! first element of allData1DItems() with nullptr check + Data1DItem* currentData1DItem() const; // Intensity //! Simulated + real intensity data as list, non-nullptr items - QList<IntensityItem*> mainIntensityItems() const; + QList<Data2DItem*> mainData2DItems() const; //! Simulated + real + difference intensity data as list, non-nullptr items - QList<IntensityItem*> allIntensityItems() const; + QList<Data2DItem*> allData2DItems() const; - //! first element of allIntensityItems() with nullptr check - IntensityItem* currentIntensityItem() const; + //! first element of allData2DItems() with nullptr check + Data2DItem* currentData2DItem() const; private: template <class T> @@ -111,7 +111,7 @@ private: QList<T*> allDataItems() const; QObject* m_item; - IntensityItem* m_fftItem; + Data2DItem* m_fftItem; }; template <class T> diff --git a/GUI/View/Data/IntensityDataPropertyWidget.cpp b/GUI/View/Data/IntensityDataPropertyWidget.cpp index be86cc8e298..1c5c73b67c2 100644 --- a/GUI/View/Data/IntensityDataPropertyWidget.cpp +++ b/GUI/View/Data/IntensityDataPropertyWidget.cpp @@ -16,7 +16,7 @@ #include "Base/Util/Assert.h" #include "GUI/Model/Axis/AmplitudeAxisItem.h" #include "GUI/Model/Axis/BasicAxisItem.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/Support/Tool/LayoutUtil.h" #include "GUI/View/Numeric/ComboUtil.h" @@ -29,7 +29,7 @@ IntensityDataPropertyWidget::IntensityDataPropertyWidget(QWidget* parent) { } -void IntensityDataPropertyWidget::setFourierItem(IntensityItem* fftItem) +void IntensityDataPropertyWidget::setFourierItem(Data2DItem* fftItem) { ASSERT(jobRealBase()); DataAccessWidget::setFourierItem(fftItem); @@ -38,13 +38,13 @@ void IntensityDataPropertyWidget::setFourierItem(IntensityItem* fftItem) void IntensityDataPropertyWidget::unsubscribe() { - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) disconnect(item, nullptr, this, nullptr); } void IntensityDataPropertyWidget::createPanelElements() { - if (allIntensityItems().size() == 0) + if (allData2DItems().size() == 0) return; unsubscribe(); @@ -55,9 +55,9 @@ void IntensityDataPropertyWidget::createPanelElements() m_mainLayout->addRow("Axes units:", GUI::Util::createUnitsComboBox( axesUnitsList(), - [this] { return currentIntensityItem()->currentAxesUnits(); }, + [this] { return currentData2DItem()->currentAxesUnits(); }, [this](const QString& newVal) { - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) item->setCurrentAxesUnits(newVal); emit axesRangeResetRequested(); gProjectDocument.value()->setModified(); @@ -67,18 +67,18 @@ void IntensityDataPropertyWidget::createPanelElements() m_mainLayout->addRow( "Color scheme:", - GUI::Util::createComboBox([this] { return currentIntensityItem()->gradientCombo(); }, + GUI::Util::createComboBox([this] { return currentData2DItem()->gradientCombo(); }, [this](const QString& newVal) { - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) item->setCurrentGradient(newVal); gProjectDocument.value()->setModified(); }, &m_updaters)); m_mainLayout->addRow(GUI::Util::createCheckBox( - "Interpolate", [this] { return currentIntensityItem()->isInterpolated(); }, + "Interpolate", [this] { return currentData2DItem()->isInterpolated(); }, [this](bool b) { - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) item->setInterpolated(b); gProjectDocument.value()->setModified(); }, @@ -91,18 +91,18 @@ void IntensityDataPropertyWidget::createPanelElements() xFormLayout->setSpacing(5); xFormLayout->addRow("Min:", GUI::Util::createDoubleSpinbox( - [this] { return currentIntensityItem()->xAxisItem()->min(); }, + [this] { return currentData2DItem()->xAxisItem()->min(); }, [this](double newValue) { - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) item->xAxisItem()->setMin(newValue); gProjectDocument.value()->setModified(); }, &m_updaters)); xFormLayout->addRow("Max:", GUI::Util::createDoubleSpinbox( - [this] { return currentIntensityItem()->xAxisItem()->max(); }, + [this] { return currentData2DItem()->xAxisItem()->max(); }, [this](double newValue) { - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) item->xAxisItem()->setMax(newValue); gProjectDocument.value()->setModified(); }, @@ -117,18 +117,18 @@ void IntensityDataPropertyWidget::createPanelElements() yFormLayout->setSpacing(5); yFormLayout->addRow("Min:", GUI::Util::createDoubleSpinbox( - [this] { return currentIntensityItem()->yAxisItem()->min(); }, + [this] { return currentData2DItem()->yAxisItem()->min(); }, [this](double newValue) { - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) item->yAxisItem()->setMin(newValue); gProjectDocument.value()->setModified(); }, &m_updaters)); yFormLayout->addRow("Max:", GUI::Util::createDoubleSpinbox( - [this] { return currentIntensityItem()->yAxisItem()->max(); }, + [this] { return currentData2DItem()->yAxisItem()->max(); }, [this](double newValue) { - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) item->yAxisItem()->setMax(newValue); gProjectDocument.value()->setModified(); }, @@ -143,9 +143,9 @@ void IntensityDataPropertyWidget::createPanelElements() zFormLayout->setSpacing(5); auto* logRangeSpinbox = GUI::Util::createDoubleSpinbox( - [this] { return currentIntensityItem()->zAxisItem()->logRangeOrders(); }, + [this] { return currentData2DItem()->zAxisItem()->logRangeOrders(); }, [this](double newValue) { - for (auto item : mainIntensityItems()) { + for (auto item : mainData2DItems()) { item->zAxisItem()->setLogRangeOrders(newValue); updateUIValues(); } @@ -154,9 +154,9 @@ void IntensityDataPropertyWidget::createPanelElements() &m_updaters, "Dynamic range to display values", RealLimits::positive()); zFormLayout->addRow("Min:", GUI::Util::createDoubleSpinbox( - [this] { return currentIntensityItem()->zAxisItem()->min(); }, + [this] { return currentData2DItem()->zAxisItem()->min(); }, [this](double newValue) { - for (auto item : allIntensityItems()) { + for (auto item : allData2DItems()) { item->zAxisItem()->setMin(newValue); item->zAxisItem()->adjustLogRangeOrders(); updateUIValues(); @@ -166,9 +166,9 @@ void IntensityDataPropertyWidget::createPanelElements() &m_updaters)); zFormLayout->addRow("Max:", GUI::Util::createDoubleSpinbox( - [this] { return currentIntensityItem()->zAxisItem()->max(); }, + [this] { return currentData2DItem()->zAxisItem()->max(); }, [this](double newValue) { - for (auto item : mainIntensityItems()) { + for (auto item : mainData2DItems()) { item->zAxisItem()->setMax(newValue); item->zAxisItem()->adjustLogRangeOrders(); updateUIValues(); @@ -178,10 +178,10 @@ void IntensityDataPropertyWidget::createPanelElements() &m_updaters)); zFormLayout->addRow(GUI::Util::createCheckBox( - "log10", [this] { return currentIntensityItem()->zAxisItem()->isLogScale(); }, + "log10", [this] { return currentData2DItem()->zAxisItem()->isLogScale(); }, [this, logRangeSpinbox](bool b) { logRangeSpinbox->setEnabled(b); - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) item->zAxisItem()->setLogScale(b); gProjectDocument.value()->setModified(); }, @@ -190,9 +190,9 @@ void IntensityDataPropertyWidget::createPanelElements() zFormLayout->addRow("Log range:", logRangeSpinbox); zFormLayout->addRow(GUI::Util::createCheckBox( - "Visible", [this] { return currentIntensityItem()->zAxisItem()->isVisible(); }, + "Visible", [this] { return currentData2DItem()->zAxisItem()->isVisible(); }, [this](bool b) { - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) item->zAxisItem()->setVisible(b); gProjectDocument.value()->setModified(); }, @@ -203,12 +203,12 @@ void IntensityDataPropertyWidget::createPanelElements() updateUIValues(); // react on external changes (e.g. zooming in customplot shall update the axis values) - connect(currentIntensityItem(), &DataItem::itemAxesRangeChanged, this, + connect(currentData2DItem(), &DataItem::itemAxesRangeChanged, this, &IntensityDataPropertyWidget::updateUIValues, Qt::UniqueConnection); // update coordinates on axes units change /* - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) connect(item, &DataItem::axesUnitsChanged, this, &IntensityDataPropertyWidget::updateItemCoords, Qt::UniqueConnection); */ diff --git a/GUI/View/Data/IntensityDataPropertyWidget.h b/GUI/View/Data/IntensityDataPropertyWidget.h index bc201fa209c..0560f8a4195 100644 --- a/GUI/View/Data/IntensityDataPropertyWidget.h +++ b/GUI/View/Data/IntensityDataPropertyWidget.h @@ -17,14 +17,14 @@ #include "GUI/View/Data/DataPropertyWidget.h" -//! Widget to edit properties of an IntensityItem. +//! Widget to edit properties of an Data2DItem. class IntensityDataPropertyWidget : public DataPropertyWidget { Q_OBJECT public: explicit IntensityDataPropertyWidget(QWidget* parent = nullptr); - void setFourierItem(IntensityItem* fftItem) override; + void setFourierItem(Data2DItem* fftItem) override; private: void unsubscribe(); diff --git a/GUI/View/Fit/FitSessionController.cpp b/GUI/View/Fit/FitSessionController.cpp index 3d795710dee..9b1fad6a6c6 100644 --- a/GUI/View/Fit/FitSessionController.cpp +++ b/GUI/View/Fit/FitSessionController.cpp @@ -14,7 +14,7 @@ #include "GUI/View/Fit/FitSessionController.h" #include "Base/Util/Assert.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Job/FitParameterContainerItem.h" #include "GUI/Model/Job/FitSuiteItem.h" #include "GUI/Model/Job/JobItem.h" diff --git a/GUI/View/FitControl/GUIFitObserver.h b/GUI/View/FitControl/GUIFitObserver.h index e6a22913eb5..131a1d5a017 100644 --- a/GUI/View/FitControl/GUIFitObserver.h +++ b/GUI/View/FitControl/GUIFitObserver.h @@ -21,7 +21,7 @@ #include <mutex> class Datafield; -class IntensityItem; +class Data2DItem; class FitObjective; //! Serves as observer for FitObjective and saves fit iteration data for later display diff --git a/GUI/View/FitObjective/ParameterTuningWidget.cpp b/GUI/View/FitObjective/ParameterTuningWidget.cpp index 1cc9606651d..0091910368c 100644 --- a/GUI/View/FitObjective/ParameterTuningWidget.cpp +++ b/GUI/View/FitObjective/ParameterTuningWidget.cpp @@ -14,7 +14,7 @@ #include "GUI/View/FitObjective/ParameterTuningWidget.h" #include "Base/Util/Assert.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Job/ParameterTreeItems.h" #include "GUI/Model/Model/ParameterTuningModel.h" #include "GUI/Model/Project/ProjectDocument.h" @@ -127,8 +127,8 @@ void ParameterTuningWidget::onLockZValueChanged(bool value) { if (!jobItem()) return; - if (IntensityItem* intensityItem = jobItem()->intensityItem()) - intensityItem->setZaxisLocked(value); + if (Data2DItem* data2DItem = jobItem()->data2DItem()) + data2DItem->setZaxisLocked(value); } void ParameterTuningWidget::updateParameterModel() diff --git a/GUI/View/FitObjective/SliderSettingsWidget.cpp b/GUI/View/FitObjective/SliderSettingsWidget.cpp index e76242df8b5..467e2a8d047 100644 --- a/GUI/View/FitObjective/SliderSettingsWidget.cpp +++ b/GUI/View/FitObjective/SliderSettingsWidget.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/FitObjective/SliderSettingsWidget.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Project/ProjectDocument.h" #include <QLabel> #include <QVBoxLayout> @@ -121,6 +121,6 @@ void SliderSettingsWidget::initZlock() if (!jobItem()) return; - if (auto* intensityItem = jobItem()->intensityItem()) - m_lockzCheckBox->setChecked(intensityItem->isZaxisLocked()); + if (auto* data2DItem = jobItem()->data2DItem()) + m_lockzCheckBox->setChecked(data2DItem->isZaxisLocked()); } diff --git a/GUI/View/Import/RealDataMaskWidget.cpp b/GUI/View/Import/RealDataMaskWidget.cpp index a2f12f84cd6..53d99720576 100644 --- a/GUI/View/Import/RealDataMaskWidget.cpp +++ b/GUI/View/Import/RealDataMaskWidget.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Import/RealDataMaskWidget.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/MaskItems.h" #include "GUI/View/Mask/MaskEditorActions.h" #include "GUI/View/Mask/MaskEditorCanvas.h" @@ -73,9 +73,9 @@ QList<QAction*> RealDataMaskWidget::actionList() void RealDataMaskWidget::setContext() { - ASSERT(currentIntensityItem()); + ASSERT(currentData2DItem()); - MaskContainerItem* containerItem = currentIntensityItem()->getOrCreateMaskContainerItem(); + MaskContainerItem* containerItem = currentData2DItem()->getOrCreateMaskContainerItem(); ASSERT(containerItem); MaskContainerModel* containerModel = containerItem->model(); @@ -84,7 +84,7 @@ void RealDataMaskWidget::setContext() m_editorPropertyPanel->setMaskContext(containerModel); m_editorCanvas->setSelectionModel(m_editorPropertyPanel->selectionModel()); - m_editorCanvas->setMaskContext(currentIntensityItem()); + m_editorCanvas->setMaskContext(currentData2DItem()); m_editorActions->setModel(containerModel); m_editorActions->setSelectionModel(m_editorPropertyPanel->selectionModel()); @@ -100,7 +100,7 @@ void RealDataMaskWidget::resetContext() void RealDataMaskWidget::showEvent(QShowEvent*) { - if (currentIntensityItem()) + if (currentData2DItem()) setContext(); } diff --git a/GUI/View/JobControl/JobListView.cpp b/GUI/View/JobControl/JobListView.cpp index ee74cabb60b..61c9bce46e8 100644 --- a/GUI/View/JobControl/JobListView.cpp +++ b/GUI/View/JobControl/JobListView.cpp @@ -14,7 +14,7 @@ #include "GUI/View/JobControl/JobListView.h" #include "Base/Util/Assert.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/View/JobControl/JobListModel.h" #include "GUI/View/JobControl/JobListViewDelegate.h" @@ -185,14 +185,14 @@ void JobListView::equalizeSelectedToJob(JobItem* srcJob) { QModelIndexList indexes = m_listView->selectionModel()->selectedIndexes(); - IntensityItem* srcData = srcJob->intensityItem(); + Data2DItem* srcData = srcJob->data2DItem(); if (!srcData) return; for (const QModelIndex& index : indexes) { JobItem* job = m_model->jobItemForIndex(index); if (job != srcJob) { - IntensityItem* data = job->intensityItem(); + Data2DItem* data = job->data2DItem(); if (data) { data->setLowerX(srcData->lowerX()); data->setUpperX(srcData->upperX()); diff --git a/GUI/View/Mask/MaskEditorCanvas.cpp b/GUI/View/Mask/MaskEditorCanvas.cpp index a597e24aa91..13e93d140a5 100644 --- a/GUI/View/Mask/MaskEditorCanvas.cpp +++ b/GUI/View/Mask/MaskEditorCanvas.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Mask/MaskEditorCanvas.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/MaskItems.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/View/Mask/MaskGraphicsScene.h" @@ -28,7 +28,7 @@ MaskEditorCanvas::MaskEditorCanvas(QWidget* parent) : QWidget(parent) , m_scene(new MaskGraphicsScene(this)) , m_view(new MaskGraphicsView(m_scene)) - , m_intensityItem(nullptr) + , m_data2DItem(nullptr) , m_statusLabel(new PlotStatusLabel(nullptr, this)) , m_resultsPresenter(new MaskResultsPresenter(this)) { @@ -48,12 +48,12 @@ MaskEditorCanvas::MaskEditorCanvas(QWidget* parent) &MaskEditorCanvas::deleteSelectedRequest); } -void MaskEditorCanvas::setMaskContext(IntensityItem* intensityItem) +void MaskEditorCanvas::setMaskContext(Data2DItem* data2DItem) { - m_intensityItem = intensityItem; + m_data2DItem = data2DItem; - m_scene->setMaskContext(intensityItem, intensityItem->maskContainerItem()); - m_resultsPresenter->setMaskContext(intensityItem); + m_scene->setMaskContext(data2DItem, data2DItem->maskContainerItem()); + m_resultsPresenter->setMaskContext(data2DItem); m_view->updateSize(m_view->size()); m_statusLabel->addPlot(m_scene->colorMap()); @@ -61,7 +61,7 @@ void MaskEditorCanvas::setMaskContext(IntensityItem* intensityItem) void MaskEditorCanvas::resetContext() { - m_intensityItem = nullptr; + m_data2DItem = nullptr; m_scene->resetContext(); m_statusLabel->reset(); } @@ -81,7 +81,7 @@ void MaskEditorCanvas::onPresentationTypeRequest(MaskEditorFlags::PresentationTy m_scene->clearSelection(); // important to avoid crash (unsubscribe while calling subscribers) m_resultsPresenter->updatePresenter(presentationType); - if (auto* container = m_intensityItem->maskContainerItem()) { + if (auto* container = m_data2DItem->maskContainerItem()) { bool tempVisible = presentationType.testFlag(MaskEditorFlags::MASK_EDITOR); for (MaskItem* mask : container->maskItems()) mask->setIsVisible(tempVisible && mask->wasVisible()); @@ -94,7 +94,7 @@ void MaskEditorCanvas::onSavePlotRequest() { ASSERT(gProjectDocument.has_value()); QString dirname = gProjectDocument.value()->userExportDir(); - GUI::Plot::savePlot(dirname, m_scene->colorMap()->customPlot(), m_intensityItem->c_field()); + GUI::Plot::savePlot(dirname, m_scene->colorMap()->customPlot(), m_data2DItem->c_field()); } void MaskEditorCanvas::onResetViewRequest() @@ -104,7 +104,7 @@ void MaskEditorCanvas::onResetViewRequest() if (isAxisRangeMatchData()) setZoomToROI(); else - m_intensityItem->resetView(); + m_data2DItem->resetView(); gProjectDocument.value()->setModified(); } @@ -112,27 +112,27 @@ void MaskEditorCanvas::onResetViewRequest() bool MaskEditorCanvas::isAxisRangeMatchData() const { - ASSERT(m_intensityItem); + ASSERT(m_data2DItem); - if (m_intensityItem->lowerX() != m_intensityItem->xMin()) + if (m_data2DItem->lowerX() != m_data2DItem->xMin()) return false; - if (m_intensityItem->upperX() != m_intensityItem->xMax()) + if (m_data2DItem->upperX() != m_data2DItem->xMax()) return false; - if (m_intensityItem->lowerY() != m_intensityItem->yMin()) + if (m_data2DItem->lowerY() != m_data2DItem->yMin()) return false; - if (m_intensityItem->upperY() != m_intensityItem->yMax()) + if (m_data2DItem->upperY() != m_data2DItem->yMax()) return false; return true; } void MaskEditorCanvas::setZoomToROI() { - if (MaskContainerItem* maskContainer = m_intensityItem->maskContainerItem()) { + if (MaskContainerItem* maskContainer = m_data2DItem->maskContainerItem()) { if (auto* roiItem = maskContainer->regionOfInterestItem()) { - m_intensityItem->setLowerX(roiItem->xLow()); - m_intensityItem->setUpperX(roiItem->xUp()); - m_intensityItem->setLowerY(roiItem->yLow()); - m_intensityItem->setUpperY(roiItem->yUp()); + m_data2DItem->setLowerX(roiItem->xLow()); + m_data2DItem->setUpperX(roiItem->xUp()); + m_data2DItem->setLowerY(roiItem->yLow()); + m_data2DItem->setUpperY(roiItem->yUp()); } } } diff --git a/GUI/View/Mask/MaskEditorCanvas.h b/GUI/View/Mask/MaskEditorCanvas.h index 30e2c4f8cf5..f47e6bf840b 100644 --- a/GUI/View/Mask/MaskEditorCanvas.h +++ b/GUI/View/Mask/MaskEditorCanvas.h @@ -23,9 +23,9 @@ class MaskGraphicsView; class QItemSelectionModel; class QModelIndex; class MaskResultsPresenter; -class IntensityItem; +class Data2DItem; class PlotStatusLabel; -class IntensityItem; +class Data2DItem; //! Painting widget for MaskEditor, contains graphics scene and graphics view @@ -34,7 +34,7 @@ class MaskEditorCanvas : public QWidget { public: MaskEditorCanvas(QWidget* parent = nullptr); - void setMaskContext(IntensityItem* intensityItem); + void setMaskContext(Data2DItem* data2DItem); void resetContext(); @@ -57,7 +57,7 @@ private: MaskGraphicsScene* m_scene; MaskGraphicsView* m_view; - IntensityItem* m_intensityItem; + Data2DItem* m_data2DItem; PlotStatusLabel* m_statusLabel; MaskResultsPresenter* m_resultsPresenter; }; diff --git a/GUI/View/Mask/MaskEditorPropertyPanel.cpp b/GUI/View/Mask/MaskEditorPropertyPanel.cpp index 0ba7a41b209..fc04da00df2 100644 --- a/GUI/View/Mask/MaskEditorPropertyPanel.cpp +++ b/GUI/View/Mask/MaskEditorPropertyPanel.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Mask/MaskEditorPropertyPanel.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/MaskItems.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/Support/Style/GroupBoxCollapser.h" @@ -32,7 +32,7 @@ MaskEditorPropertyPanel::MaskEditorPropertyPanel(QWidget* parent) , m_listView(new QListView) , m_propertyPanel(new IntensityDataPropertyWidget) , m_maskContainerModel(nullptr) - , m_intensityItem(nullptr) + , m_data2DItem(nullptr) , m_currentMaskItem(nullptr) , m_inhibitSelectionChange(false) { @@ -110,7 +110,7 @@ void MaskEditorPropertyPanel::setMaskContext(MaskContainerModel* containerModel) void MaskEditorPropertyPanel::resetContext() { m_maskContainerModel = nullptr; - m_intensityItem = nullptr; + m_data2DItem = nullptr; m_listView->setModel(nullptr); setCurrentMaskItem(nullptr); } diff --git a/GUI/View/Mask/MaskEditorPropertyPanel.h b/GUI/View/Mask/MaskEditorPropertyPanel.h index 92001e99d24..c5b5dfb1d62 100644 --- a/GUI/View/Mask/MaskEditorPropertyPanel.h +++ b/GUI/View/Mask/MaskEditorPropertyPanel.h @@ -22,7 +22,7 @@ #include <QModelIndex> #include <functional> -class IntensityItem; +class Data2DItem; class IntensityDataPropertyWidget; class MaskContainerModel; class MaskItem; @@ -76,7 +76,7 @@ private: QListView* m_listView; IntensityDataPropertyWidget* m_propertyPanel; MaskContainerModel* m_maskContainerModel; - IntensityItem* m_intensityItem; + Data2DItem* m_data2DItem; QFormLayout* m_maskPropertiesLayout; MaskItem* m_currentMaskItem; //!< the mask item whose properties shall be edited bool m_inhibitSelectionChange = false; diff --git a/GUI/View/Mask/MaskGraphicsProxy.cpp b/GUI/View/Mask/MaskGraphicsProxy.cpp index 0e09202da2f..2c1845a239d 100644 --- a/GUI/View/Mask/MaskGraphicsProxy.cpp +++ b/GUI/View/Mask/MaskGraphicsProxy.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Mask/MaskGraphicsProxy.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/View/Mask/SceneAdaptor.h" #include "GUI/View/PlotScale/ColorMap.h" #include <QGraphicsSceneMouseEvent> @@ -34,9 +34,9 @@ MaskGraphicsProxy::~MaskGraphicsProxy() m_sceneAdaptor->setColorMapPlot(nullptr); } -void MaskGraphicsProxy::setIntensityItem(IntensityItem* intensityItem) +void MaskGraphicsProxy::setData2DItem(Data2DItem* data2DItem) { - m_colorMap->setIntensityItem(intensityItem); + m_colorMap->setData2DItem(data2DItem); if (widget() != m_colorMap) setWidget(m_colorMap); } diff --git a/GUI/View/Mask/MaskGraphicsProxy.h b/GUI/View/Mask/MaskGraphicsProxy.h index 19db2211e8c..085404813a9 100644 --- a/GUI/View/Mask/MaskGraphicsProxy.h +++ b/GUI/View/Mask/MaskGraphicsProxy.h @@ -20,7 +20,7 @@ class ColorMap; class SceneAdaptor; -class IntensityItem; +class Data2DItem; class SceneAdaptor; //! Graphics proxy to place QWidget inside QGraphicsScene, used by MaskEditorCanvas. @@ -33,7 +33,7 @@ public: int type() const override { return MaskEditorHelper::MASKGRAPHICSPROXY; } - void setIntensityItem(IntensityItem* intensityItem); + void setData2DItem(Data2DItem* data2DItem); void setSceneAdaptor(SceneAdaptor* sceneAdaptor); void setInZoomMode(bool value); diff --git a/GUI/View/Mask/MaskGraphicsScene.cpp b/GUI/View/Mask/MaskGraphicsScene.cpp index 4ad36348279..5ee810ba325 100644 --- a/GUI/View/Mask/MaskGraphicsScene.cpp +++ b/GUI/View/Mask/MaskGraphicsScene.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Mask/MaskGraphicsScene.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/MaskItems.h" #include "GUI/Model/Data/ProjectionItems.h" #include "GUI/Model/Project/ProjectDocument.h" @@ -48,13 +48,12 @@ MaskGraphicsScene::~MaskGraphicsScene() m_proxy->setSceneAdaptor(nullptr); } -void MaskGraphicsScene::setMaskContext(IntensityItem* intensityItem, - MaskContainerItem* maskContainerItem) +void MaskGraphicsScene::setMaskContext(Data2DItem* data2DItem, MaskContainerItem* maskContainerItem) { - if (!intensityItem) + if (!data2DItem) return; - m_intensityItem = intensityItem; + m_data2DItem = data2DItem; if (!maskContainerItem) return; @@ -112,7 +111,7 @@ void MaskGraphicsScene::disconnectMaskContainer(MaskContainerModel* maskContaine void MaskGraphicsScene::resetContext() { - m_intensityItem = nullptr; + m_data2DItem = nullptr; disconnectMaskContainer(m_maskContainerModel); m_maskContainerModel = nullptr; @@ -369,13 +368,13 @@ void MaskGraphicsScene::contextMenuEvent(QGraphicsSceneContextMenuEvent* event) void MaskGraphicsScene::updateProxyWidget() { - ASSERT(m_intensityItem); + ASSERT(m_data2DItem); if (m_proxy) return; m_proxy = new MaskGraphicsProxy; // TODO: check if m_proxy is released at the end m_proxy->setParent(this); - m_proxy->setIntensityItem(m_intensityItem); + m_proxy->setData2DItem(m_data2DItem); m_proxy->setSceneAdaptor(m_adaptor.data()); addItem(m_proxy); } diff --git a/GUI/View/Mask/MaskGraphicsScene.h b/GUI/View/Mask/MaskGraphicsScene.h index f505a5eab92..681fbe7b2fc 100644 --- a/GUI/View/Mask/MaskGraphicsScene.h +++ b/GUI/View/Mask/MaskGraphicsScene.h @@ -23,7 +23,7 @@ class SceneAdaptor; class IShape2DView; -class IntensityItem; +class Data2DItem; class MaskContainerItem; class MaskContainerModel; class MaskEditorAction; @@ -42,7 +42,7 @@ public: MaskGraphicsScene(QObject* parent = nullptr); ~MaskGraphicsScene() override; - void setMaskContext(IntensityItem* intensityItem, MaskContainerItem* maskContainerItem); + void setMaskContext(Data2DItem* data2DItem, MaskContainerItem* maskContainerItem); void resetContext(); @@ -119,7 +119,7 @@ private: QSharedPointer<SceneAdaptor> m_adaptor; bool m_block_selection = false; bool m_mouse_is_pressed = false; - IntensityItem* m_intensityItem = nullptr; + Data2DItem* m_data2DItem = nullptr; MaskItemObject* m_currentItem = nullptr; QPointF m_currentMousePosition; MaskDrawingContext m_context; diff --git a/GUI/View/Mask/MaskResultsPresenter.cpp b/GUI/View/Mask/MaskResultsPresenter.cpp index 39a914192a2..59f10432844 100644 --- a/GUI/View/Mask/MaskResultsPresenter.cpp +++ b/GUI/View/Mask/MaskResultsPresenter.cpp @@ -16,7 +16,7 @@ #include "Device/Data/Datafield.h" #include "Device/Mask/DetectorMask.h" #include "Device/Mask/IShape2D.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/MaskItems.h" #include <QVBoxLayout> @@ -28,9 +28,9 @@ MaskResultsPresenter::MaskResultsPresenter(QWidget* parent) MaskResultsPresenter::~MaskResultsPresenter() = default; -void MaskResultsPresenter::setMaskContext(IntensityItem* intensityItem) +void MaskResultsPresenter::setMaskContext(Data2DItem* data2DItem) { - m_intensityItem = intensityItem; + m_data2DItem = data2DItem; } void MaskResultsPresenter::resetContext() @@ -40,7 +40,7 @@ void MaskResultsPresenter::resetContext() void MaskResultsPresenter::updatePresenter(MaskEditorFlags::PresentationType presentationType) { - if (!m_intensityItem->maskContainerItem()) // TODO: check! + if (!m_data2DItem->maskContainerItem()) // TODO: check! return; if (presentationType == MaskEditorFlags::MASK_PRESENTER) @@ -49,34 +49,34 @@ void MaskResultsPresenter::updatePresenter(MaskEditorFlags::PresentationType pre setOriginalMode(); } -//! Update IntensityItem to represent masked areas. Corresponding +//! Update Data2DItem to represent masked areas. Corresponding //! bins of Datafield will be put to zero. void MaskResultsPresenter::setShowMaskMode() { if (Datafield* maskedData = createMaskPresentation()) { backup_data(); - m_intensityItem->setDatafield(*maskedData); - m_intensityItem->setInterpolated(false); + m_data2DItem->setDatafield(*maskedData); + m_data2DItem->setInterpolated(false); } else { m_dataBackup.reset(); } } -//! Restores original state of IntensityItem +//! Restores original state of Data2DItem void MaskResultsPresenter::setOriginalMode() { if (m_dataBackup) { - m_intensityItem->setDatafield(*m_dataBackup); - m_intensityItem->setInterpolated(m_interpolation_flag_backup); + m_data2DItem->setDatafield(*m_dataBackup); + m_data2DItem->setInterpolated(m_interpolation_flag_backup); } } void MaskResultsPresenter::backup_data() { - m_interpolation_flag_backup = m_intensityItem->isInterpolated(); - m_dataBackup.reset(m_intensityItem->c_field()->clone()); + m_interpolation_flag_backup = m_data2DItem->isInterpolated(); + m_dataBackup.reset(m_data2DItem->c_field()->clone()); } //! Constructs Datafield which contains original intensity data except masked areas, @@ -86,10 +86,10 @@ Datafield* MaskResultsPresenter::createMaskPresentation() const { // Requesting mask information std::unique_ptr<IShape2D> roi; - Datafield* result = m_intensityItem->c_field()->clone(); + Datafield* result = m_data2DItem->c_field()->clone(); DetectorMask detectorMask(result->axis(0), result->axis(1)); const double scale = 1.0; - const QVector<MaskItem*> maskItems = m_intensityItem->maskContainerItem()->maskItems(); + const QVector<MaskItem*> maskItems = m_data2DItem->maskContainerItem()->maskItems(); for (auto maskIter = maskItems.rbegin(); maskIter != maskItems.rend(); maskIter++) if ((*maskIter)->isVisible()) { if (auto* roiItem = dynamic_cast<RegionOfInterestItem*>((*maskIter))) diff --git a/GUI/View/Mask/MaskResultsPresenter.h b/GUI/View/Mask/MaskResultsPresenter.h index 734bd3115b8..84ba83890b9 100644 --- a/GUI/View/Mask/MaskResultsPresenter.h +++ b/GUI/View/Mask/MaskResultsPresenter.h @@ -20,7 +20,7 @@ #include <QObject> #include <memory> -class IntensityItem; +class Data2DItem; class Datafield; //! Updates bin values inside IntensityData to display current mask state. Returns IntensityData @@ -32,7 +32,7 @@ public: MaskResultsPresenter(QWidget* parent = nullptr); ~MaskResultsPresenter(); - void setMaskContext(IntensityItem* intensityItem); + void setMaskContext(Data2DItem* data2DItem); void resetContext(); @@ -44,7 +44,7 @@ private: void backup_data(); Datafield* createMaskPresentation() const; - IntensityItem* m_intensityItem; + Data2DItem* m_data2DItem; std::unique_ptr<Datafield> m_dataBackup; bool m_interpolation_flag_backup; }; diff --git a/GUI/View/Plot2D/ColorMapCanvas.cpp b/GUI/View/Plot2D/ColorMapCanvas.cpp index c68a06a8006..9f80e5652f3 100644 --- a/GUI/View/Plot2D/ColorMapCanvas.cpp +++ b/GUI/View/Plot2D/ColorMapCanvas.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Plot2D/ColorMapCanvas.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/View/PlotScale/ColorMap.h" #include "GUI/View/PlotScale/FontScalingEvent.h" #include "GUI/View/PlotUtil/PlotStatusLabel.h" @@ -38,9 +38,9 @@ ColorMapCanvas::ColorMapCanvas(QWidget* parent) setStatusLabelEnabled(false); } -void ColorMapCanvas::setIntensityItem(IntensityItem* intensityItem) +void ColorMapCanvas::setData2DItem(Data2DItem* data2DItem) { - m_colorMap->setIntensityItem(intensityItem); + m_colorMap->setData2DItem(data2DItem); } ColorMap* ColorMapCanvas::colorMap() diff --git a/GUI/View/Plot2D/ColorMapCanvas.h b/GUI/View/Plot2D/ColorMapCanvas.h index c0b3f5afbb9..0fc5c4d4839 100644 --- a/GUI/View/Plot2D/ColorMapCanvas.h +++ b/GUI/View/Plot2D/ColorMapCanvas.h @@ -19,7 +19,7 @@ class ColorMap; class FontScalingEvent; -class IntensityItem; +class Data2DItem; class PlotStatusLabel; class QCustomPlot; @@ -31,7 +31,7 @@ class ColorMapCanvas : public QWidget { public: explicit ColorMapCanvas(QWidget* parent = nullptr); - void setIntensityItem(IntensityItem* intensityItem); + void setData2DItem(Data2DItem* data2DItem); ColorMap* colorMap(); QCustomPlot* customPlot(); diff --git a/GUI/View/Plot2D/IntensityDataCanvas.cpp b/GUI/View/Plot2D/IntensityDataCanvas.cpp index d36210fb861..e3f7d35ae51 100644 --- a/GUI/View/Plot2D/IntensityDataCanvas.cpp +++ b/GUI/View/Plot2D/IntensityDataCanvas.cpp @@ -14,7 +14,7 @@ #include "GUI/View/Plot2D/IntensityDataCanvas.h" #include "Base/Util/Assert.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/Support/Tool/Globals.h" #include "GUI/View/Info/MessageBox.h" @@ -73,16 +73,16 @@ IntensityDataCanvas::IntensityDataCanvas(QWidget* parent) void IntensityDataCanvas::setJobOrRealItem(QObject* job_or_real_Item) { DataAccessWidget::setJobOrRealItem(job_or_real_Item); - m_colorMapCanvas->setIntensityItem(currentIntensityItem()); + m_colorMapCanvas->setData2DItem(currentData2DItem()); if (!m_rotateDataAction) initRotation(); } -void IntensityDataCanvas::setFourierItem(IntensityItem* fftItem) +void IntensityDataCanvas::setFourierItem(Data2DItem* fftItem) { DataAccessWidget::setFourierItem(fftItem); - m_colorMapCanvas->setIntensityItem(currentIntensityItem()); + m_colorMapCanvas->setData2DItem(currentData2DItem()); } QSize IntensityDataCanvas::sizeHint() const @@ -105,20 +105,20 @@ QList<QAction*> IntensityDataCanvas::actionList() void IntensityDataCanvas::onResetViewAction() { - for (auto item : allIntensityItems()) + for (auto item : allData2DItems()) item->resetView(); gProjectDocument.value()->setModified(); // synchronize real item data range with current item - if (realIntensityItem()) - realIntensityItem()->copyZRangeFromItem(currentIntensityItem()); + if (realData2DItem()) + realData2DItem()->copyZRangeFromItem(currentData2DItem()); } void IntensityDataCanvas::onSavePlotAction() { ASSERT(gProjectDocument.has_value()); QString dirname = gProjectDocument.value()->userExportDir(); - GUI::Plot::savePlot(dirname, m_colorMapCanvas->customPlot(), currentIntensityItem()->c_field()); + GUI::Plot::savePlot(dirname, m_colorMapCanvas->customPlot(), currentData2DItem()->c_field()); } void IntensityDataCanvas::onMousePress(QMouseEvent* event) diff --git a/GUI/View/Plot2D/IntensityDataCanvas.h b/GUI/View/Plot2D/IntensityDataCanvas.h index 1a88488524d..d42488545af 100644 --- a/GUI/View/Plot2D/IntensityDataCanvas.h +++ b/GUI/View/Plot2D/IntensityDataCanvas.h @@ -18,10 +18,10 @@ #include "GUI/View/Data/DataAccessWidget.h" class ColorMapCanvas; -class IntensityItem; +class Data2DItem; class QAction; -//! A color map that represents a IntensityItem, and provides standard actions +//! A color map that represents a Data2DItem, and provides standard actions //! (reset view, save as) for external toolbars and context menus. class IntensityDataCanvas : public DataAccessWidget { @@ -29,7 +29,7 @@ public: explicit IntensityDataCanvas(QWidget* parent = nullptr); void setJobOrRealItem(QObject* job_or_real_Item) override; - void setFourierItem(IntensityItem* fftItem) override; + void setFourierItem(Data2DItem* fftItem) override; QSize sizeHint() const override; QSize minimumSizeHint() const override; diff --git a/GUI/View/Plot2D/IntensityDataFFTPresenter.cpp b/GUI/View/Plot2D/IntensityDataFFTPresenter.cpp index 4771e0aa134..f0ab78b3cfa 100644 --- a/GUI/View/Plot2D/IntensityDataFFTPresenter.cpp +++ b/GUI/View/Plot2D/IntensityDataFFTPresenter.cpp @@ -16,13 +16,13 @@ #include "Base/Util/Assert.h" #include "Device/Analyze/Fourier.h" #include "Device/Data/Datafield.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include <QApplication> IntensityDataFFTPresenter::IntensityDataFFTPresenter(QWidget* parent) : QObject(parent) , m_fftAction(nullptr) - , m_fftItem(std::make_unique<IntensityItem>()) + , m_fftItem(std::make_unique<Data2DItem>()) , m_in_fft_mode(false) { m_fftAction = new QAction(this); @@ -38,7 +38,7 @@ void IntensityDataFFTPresenter::reset() m_in_fft_mode = false; } -IntensityItem* IntensityDataFFTPresenter::fftItem(IntensityItem* origItem) +Data2DItem* IntensityDataFFTPresenter::fftItem(Data2DItem* origItem) { ASSERT(origItem); QApplication::setOverrideCursor(Qt::WaitCursor); diff --git a/GUI/View/Plot2D/IntensityDataFFTPresenter.h b/GUI/View/Plot2D/IntensityDataFFTPresenter.h index b9b2d96dcc6..6fbe4649ba0 100644 --- a/GUI/View/Plot2D/IntensityDataFFTPresenter.h +++ b/GUI/View/Plot2D/IntensityDataFFTPresenter.h @@ -18,10 +18,10 @@ #include <QAction> #include <QWidget> -class IntensityItem; +class Data2DItem; -//! Provides support in Fast Fourier transformation of IntensityItem. -//! Contains own IntensityItem instance with fft-transformed results. +//! Provides support in Fast Fourier transformation of Data2DItem. +//! Contains own Data2DItem instance with fft-transformed results. class IntensityDataFFTPresenter : public QObject { Q_OBJECT @@ -30,7 +30,7 @@ public: void reset(); - IntensityItem* fftItem(IntensityItem* origItem); + Data2DItem* fftItem(Data2DItem* origItem); QList<QAction*> actionList(); @@ -44,7 +44,7 @@ private slots: private: QAction* m_fftAction; - std::unique_ptr<IntensityItem> m_fftItem; + std::unique_ptr<Data2DItem> m_fftItem; bool m_in_fft_mode; }; diff --git a/GUI/View/Plot2D/IntensityDataWidget.cpp b/GUI/View/Plot2D/IntensityDataWidget.cpp index 113af056c7d..75afc68ab1a 100644 --- a/GUI/View/Plot2D/IntensityDataWidget.cpp +++ b/GUI/View/Plot2D/IntensityDataWidget.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Plot2D/IntensityDataWidget.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Support/Util/ActionFactory.h" #include "GUI/View/Data/IntensityDataPropertyWidget.h" #include "GUI/View/Plot2D/IntensityDataCanvas.h" @@ -77,11 +77,11 @@ void IntensityDataWidget::onContextMenuRequest(const QPoint& point) void IntensityDataWidget::onFFTAction() { - if (!currentIntensityItem() || !currentIntensityItem()->c_field()) + if (!currentData2DItem() || !currentData2DItem()->c_field()) return; if (m_fftPresenter->inFFTMode()) { - auto* fftItem = m_fftPresenter->fftItem(currentIntensityItem()); + auto* fftItem = m_fftPresenter->fftItem(currentData2DItem()); m_intensityCanvas->setFourierItem(fftItem); m_propertyWidget->setFourierItem(fftItem); } else { diff --git a/GUI/View/PlotComparison/Fitpair1DWidget.cpp b/GUI/View/PlotComparison/Fitpair1DWidget.cpp index 319a81f67ce..484057308b0 100644 --- a/GUI/View/PlotComparison/Fitpair1DWidget.cpp +++ b/GUI/View/PlotComparison/Fitpair1DWidget.cpp @@ -18,7 +18,7 @@ #include "Device/IO/DiffUtil.h" #include "GUI/Model/Axis/AmplitudeAxisItem.h" #include "GUI/Model/Axis/BasicAxisItem.h" -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" #include "GUI/Model/Job/FitSuiteItem.h" #include "GUI/Model/Job/JobItem.h" #include "GUI/Model/Project/ProjectDocument.h" @@ -89,12 +89,12 @@ void Fitpair1DWidget::setJobOrRealItem(QObject* job_item) ASSERT(jobItem()); if (oldJob != jobItem()) - GUI::View::RangeUtil::setCommonRangeY(mainSpecularDataItems()); + GUI::View::RangeUtil::setCommonRangeY(mainData1DItems()); updateDiffData(); connectItems(); - m_data_canvas->setSpecularItems({simuSpecularDataItem(), realSpecularDataItem()}); - m_diff_canvas->setSpecularItems({diffSpecularDataItem()}); + m_data_canvas->setData1DItems({simuData1DItem(), realData1DItem()}); + m_diff_canvas->setData1DItems({diffData1DItem()}); m_fitFlowWidget->setJobOrRealItem(job_item); m_propertyWidget->setJobOrRealItem(job_item); } @@ -106,13 +106,13 @@ QList<QAction*> Fitpair1DWidget::actionList() void Fitpair1DWidget::onResetViewAction() { - ASSERT(simuSpecularDataItem() && diffSpecularDataItem() && realSpecularDataItem()); - simuSpecularDataItem()->resetView(); - realSpecularDataItem()->resetView(); - diffSpecularDataItem()->resetView(); + ASSERT(simuData1DItem() && diffData1DItem() && realData1DItem()); + simuData1DItem()->resetView(); + realData1DItem()->resetView(); + diffData1DItem()->resetView(); // synchronize data range between simulated and real - GUI::View::RangeUtil::setCommonRangeY(mainSpecularDataItems()); + GUI::View::RangeUtil::setCommonRangeY(mainData1DItems()); gProjectDocument.value()->setModified(); } @@ -120,32 +120,32 @@ void Fitpair1DWidget::connectItems() { // sync X axis view area between simulated and difference plots // simu --> diff - connect(simuSpecularDataItem(), &DataItem::updateOtherPlots, diffSpecularDataItem(), + connect(simuData1DItem(), &DataItem::updateOtherPlots, diffData1DItem(), &DataItem::checkXranges, Qt::UniqueConnection); // diff --> simu - connect(diffSpecularDataItem(), &DataItem::updateOtherPlots, simuSpecularDataItem(), + connect(diffData1DItem(), &DataItem::updateOtherPlots, simuData1DItem(), &DataItem::checkXranges, Qt::UniqueConnection); // update diff data if simulation data changes - connect(simuSpecularDataItem(), &SpecularDataItem::datafieldChanged, this, - &Fitpair1DWidget::updateDiffData, Qt::UniqueConnection); + connect(simuData1DItem(), &Data1DItem::datafieldChanged, this, &Fitpair1DWidget::updateDiffData, + Qt::UniqueConnection); } void Fitpair1DWidget::updateDiffData() { - ASSERT(simuSpecularDataItem() && diffSpecularDataItem() && realSpecularDataItem()); - if (!simuSpecularDataItem()->c_field() || !realSpecularDataItem()->c_field()) + ASSERT(simuData1DItem() && diffData1DItem() && realData1DItem()); + if (!simuData1DItem()->c_field() || !realData1DItem()->c_field()) return; - diffSpecularDataItem()->setDatafield(DiffUtil::relativeDifferenceField( - *simuSpecularDataItem()->c_field(), *realSpecularDataItem()->c_field())); + diffData1DItem()->setDatafield(DiffUtil::relativeDifferenceField(*simuData1DItem()->c_field(), + *realData1DItem()->c_field())); // keep Y axis range up with data range - double min = diffSpecularDataItem()->yMin(); - if (!diffSpecularDataItem()->yAxisItem()->isLogScale() || min > 0) - diffSpecularDataItem()->setLowerY(min); + double min = diffData1DItem()->yMin(); + if (!diffData1DItem()->yAxisItem()->isLogScale() || min > 0) + diffData1DItem()->setLowerY(min); - double max = diffSpecularDataItem()->yMax(); - if (!diffSpecularDataItem()->yAxisItem()->isLogScale() || max > 0) - diffSpecularDataItem()->setUpperY(max); + double max = diffData1DItem()->yMax(); + if (!diffData1DItem()->yAxisItem()->isLogScale() || max > 0) + diffData1DItem()->setUpperY(max); } diff --git a/GUI/View/PlotComparison/Fitpair1DWidget.h b/GUI/View/PlotComparison/Fitpair1DWidget.h index b16a1a37f3f..b4e2c3d8b8e 100644 --- a/GUI/View/PlotComparison/Fitpair1DWidget.h +++ b/GUI/View/PlotComparison/Fitpair1DWidget.h @@ -21,7 +21,7 @@ class FitFlowWidget; class JobRealBase; class PlotStatusLabel; class QAction; -class SpecularDataItem; +class Data1DItem; class SpecularDataPropertyWidget; class SpecularPlotCanvas; diff --git a/GUI/View/PlotComparison/Fitpair2DWidget.cpp b/GUI/View/PlotComparison/Fitpair2DWidget.cpp index 8273519bb1c..58de083b462 100644 --- a/GUI/View/PlotComparison/Fitpair2DWidget.cpp +++ b/GUI/View/PlotComparison/Fitpair2DWidget.cpp @@ -16,8 +16,8 @@ #include "Base/Util/Assert.h" #include "Device/Data/Datafield.h" #include "Device/IO/DiffUtil.h" -#include "GUI/Model/Data/IntensityItem.h" -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/Support/Util/ActionFactory.h" #include "GUI/View/Data/IntensityDataPropertyWidget.h" @@ -91,13 +91,13 @@ void Fitpair2DWidget::setJobOrRealItem(QObject* job_item) ASSERT(jobItem()); if (oldJob != jobItem()) - GUI::View::RangeUtil::setCommonRangeZ(mainIntensityItems()); + GUI::View::RangeUtil::setCommonRangeZ(mainData2DItems()); updateDiffData(); connectItems(); - m_simuCanvas->setIntensityItem(simuIntensityItem()); - m_realCanvas->setIntensityItem(realIntensityItem()); - m_diffCanvas->setIntensityItem(diffIntensityItem()); + m_simuCanvas->setData2DItem(simuData2DItem()); + m_realCanvas->setData2DItem(realData2DItem()); + m_diffCanvas->setData2DItem(diffData2DItem()); m_fitFlowWidget->setJobOrRealItem(job_item); m_propertyWidget->setJobOrRealItem(job_item); } @@ -109,51 +109,51 @@ QList<QAction*> Fitpair2DWidget::actionList() void Fitpair2DWidget::onResetViewAction() { - ASSERT(simuIntensityItem() && diffIntensityItem() && realIntensityItem()); - simuIntensityItem()->resetView(); - realIntensityItem()->resetView(); - diffIntensityItem()->resetView(); + ASSERT(simuData2DItem() && diffData2DItem() && realData2DItem()); + simuData2DItem()->resetView(); + realData2DItem()->resetView(); + diffData2DItem()->resetView(); // synchronize data range between simulated and real - GUI::View::RangeUtil::setCommonRangeZ(mainIntensityItems()); + GUI::View::RangeUtil::setCommonRangeZ(mainData2DItems()); gProjectDocument.value()->setModified(); } void Fitpair2DWidget::connectItems() { // sync XY view area between simulated, real and difference plots - for (auto senderItem : allIntensityItems()) - for (auto receiverItem : allIntensityItems()) + for (auto senderItem : allData2DItems()) + for (auto receiverItem : allData2DItems()) if (receiverItem != senderItem) connect(senderItem, &DataItem::updateOtherPlots, receiverItem, &DataItem::checkXYranges, Qt::UniqueConnection); // sync Z range between simulated and real - connect(simuIntensityItem(), &IntensityItem::alignRanges, - [this] { GUI::View::RangeUtil::setCommonRangeZ(mainIntensityItems()); }); + connect(simuData2DItem(), &Data2DItem::alignRanges, + [this] { GUI::View::RangeUtil::setCommonRangeZ(mainData2DItems()); }); // sync Z range: simu --> real - connect(simuIntensityItem(), &DataItem::updateOtherPlots, realIntensityItem(), - &IntensityItem::copyZRangeFromItem, Qt::UniqueConnection); + connect(simuData2DItem(), &DataItem::updateOtherPlots, realData2DItem(), + &Data2DItem::copyZRangeFromItem, Qt::UniqueConnection); // sync Z range: real --> simu - connect(realIntensityItem(), &DataItem::updateOtherPlots, simuIntensityItem(), - &IntensityItem::copyZRangeFromItem, Qt::UniqueConnection); + connect(realData2DItem(), &DataItem::updateOtherPlots, simuData2DItem(), + &Data2DItem::copyZRangeFromItem, Qt::UniqueConnection); // update diff data if simulation data changes - connect(simuIntensityItem(), &SpecularDataItem::datafieldChanged, this, - &Fitpair2DWidget::updateDiffData, Qt::UniqueConnection); + connect(simuData2DItem(), &Data1DItem::datafieldChanged, this, &Fitpair2DWidget::updateDiffData, + Qt::UniqueConnection); } void Fitpair2DWidget::updateDiffData() { - ASSERT(simuIntensityItem() && diffIntensityItem() && realIntensityItem()); - if (!simuIntensityItem()->c_field() || !realIntensityItem()->c_field()) + ASSERT(simuData2DItem() && diffData2DItem() && realData2DItem()); + if (!simuData2DItem()->c_field() || !realData2DItem()->c_field()) return; - diffIntensityItem()->setDatafield(DiffUtil::relativeDifferenceField( - *simuIntensityItem()->c_field(), *realIntensityItem()->c_field())); + diffData2DItem()->setDatafield(DiffUtil::relativeDifferenceField(*simuData2DItem()->c_field(), + *realData2DItem()->c_field())); // keep Z axis range up with data range - diffIntensityItem()->computeDataRange(); + diffData2DItem()->computeDataRange(); } diff --git a/GUI/View/PlotScale/ColorMap.cpp b/GUI/View/PlotScale/ColorMap.cpp index 0cfd53d0d98..060660eb759 100644 --- a/GUI/View/PlotScale/ColorMap.cpp +++ b/GUI/View/PlotScale/ColorMap.cpp @@ -16,7 +16,7 @@ #include "Device/Data/Datafield.h" #include "GUI/Model/Axis/AmplitudeAxisItem.h" #include "GUI/Model/Axis/BasicAxisItem.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/Support/Tool/UpdateTimer.h" #include "GUI/Support/Util/QCP_Util.h" @@ -62,14 +62,14 @@ ColorMap::ColorMap(QWidget* parent) // setFixedColorMapMargins(); } -void ColorMap::setIntensityItem(IntensityItem* item) +void ColorMap::setData2DItem(Data2DItem* item) { - m_intensityItem = item; + m_data2DItem = item; // set nullptr at destruction - if (m_intensityItem) { - disconnect(m_intensityItem, &DataItem::destroyed, this, nullptr); - connect(m_intensityItem, &DataItem::destroyed, this, [this] { m_intensityItem = nullptr; }); + if (m_data2DItem) { + disconnect(m_data2DItem, &DataItem::destroyed, this, nullptr); + connect(m_data2DItem, &DataItem::destroyed, this, [this] { m_data2DItem = nullptr; }); } setColorMapFromItem(); @@ -93,7 +93,7 @@ QRectF ColorMap::viewportRectangleInWidgetCoordinates() PlotEventInfo ColorMap::eventInfo(double xpos, double ypos) const { PlotEventInfo result(plotType()); - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return result; @@ -115,7 +115,7 @@ PlotEventInfo ColorMap::eventInfo(double xpos, double ypos) const //! sets logarithmic scale void ColorMap::setLogz() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; bool logz = ii->isLog(); @@ -139,7 +139,7 @@ void ColorMap::onUnitsChanged() void ColorMap::setGradient() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; m_colorMap->setGradient(ii->currentGradientQCP()); @@ -148,37 +148,37 @@ void ColorMap::setGradient() void ColorMap::setInterpolation() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; m_colorMap->setInterpolate(ii->isInterpolated()); replot(); } -//! Propagate zmin, zmax back to IntensityItem +//! Propagate zmin, zmax back to Data2DItem void ColorMap::onDataRangeChanged(QCPRange newRange) { - IntensityItem* ii = intensityItem(); + Data2DItem* ii = data2DItem(); ii->setLowerAndUpperZ(newRange.lower, newRange.upper); ii->zAxisItem()->adjustLogRangeOrders(); emit ii->updateOtherPlots(ii); gProjectDocument.value()->setModified(); } -//! Propagate xmin, xmax back to IntensityItem +//! Propagate xmin, xmax back to Data2DItem void ColorMap::onXaxisRangeChanged(QCPRange newRange) { - IntensityItem* ii = intensityItem(); + Data2DItem* ii = data2DItem(); ii->setLowerX(newRange.lower); ii->setUpperX(newRange.upper); emit ii->updateOtherPlots(ii); gProjectDocument.value()->setModified(); } -//! Propagate ymin, ymax back to IntensityItem +//! Propagate ymin, ymax back to Data2DItem void ColorMap::onYaxisRangeChanged(QCPRange newRange) { - IntensityItem* ii = intensityItem(); + Data2DItem* ii = data2DItem(); ii->setLowerY(newRange.lower); ii->setUpperY(newRange.upper); emit ii->updateOtherPlots(ii); @@ -227,21 +227,20 @@ void ColorMap::initColorMap() void ColorMap::connectItem() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); // data - connect(ii, &IntensityItem::datafieldChanged, this, &ColorMap::onIntensityModified, + connect(ii, &Data2DItem::datafieldChanged, this, &ColorMap::onIntensityModified, Qt::UniqueConnection); // units - connect(ii, &IntensityItem::axesUnitsReplotRequested, this, &ColorMap::onUnitsChanged, + connect(ii, &Data2DItem::axesUnitsReplotRequested, this, &ColorMap::onUnitsChanged, Qt::UniqueConnection); // color scheme - connect(ii, &IntensityItem::gradientChanged, this, &ColorMap::setGradient, - Qt::UniqueConnection); + connect(ii, &Data2DItem::gradientChanged, this, &ColorMap::setGradient, Qt::UniqueConnection); // interpolation - connect(ii, &IntensityItem::interpolationChanged, this, &ColorMap::setInterpolation, + connect(ii, &Data2DItem::interpolationChanged, this, &ColorMap::setInterpolation, Qt::UniqueConnection); // x axis @@ -338,7 +337,7 @@ void ColorMap::setColorMapFromItem() void ColorMap::setAxesRangeFromItem() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; m_custom_plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); @@ -353,7 +352,7 @@ void ColorMap::setAxesRangeFromItem() void ColorMap::setAxesZoomFromItem() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; setAxesRangeConnected(false); @@ -367,7 +366,7 @@ void ColorMap::setAxesZoomFromItem() void ColorMap::setAxesLabelsFromItem() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; @@ -382,7 +381,7 @@ void ColorMap::setAxesLabelsFromItem() void ColorMap::setDataFromItem() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; const Datafield* data = ii->c_field(); @@ -416,7 +415,7 @@ void ColorMap::setColorScaleAppearanceFromItem() void ColorMap::setDataRangeFromItem() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; setDataRangeConnected(false); @@ -427,7 +426,7 @@ void ColorMap::setDataRangeFromItem() void ColorMap::setColorScaleVisible() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; bool visibility_flag = ii->zAxisItem()->isVisible(); diff --git a/GUI/View/PlotScale/ColorMap.h b/GUI/View/PlotScale/ColorMap.h index 0046c3e1938..ba33adbbf5a 100644 --- a/GUI/View/PlotScale/ColorMap.h +++ b/GUI/View/PlotScale/ColorMap.h @@ -17,14 +17,14 @@ #include "GUI/View/PlotUtil/ScientificPlot.h" -class IntensityItem; +class Data2DItem; class QCPColorMap; class QCPColorScale; class QCPLayoutGrid; class QCPRange; class UpdateTimer; -//! Presents 2D intensity data from IntensityItem as color map. +//! Presents 2D intensity data from Data2DItem as color map. //! Provides a minimal functionality for data plotting and axes interaction. //! Is used as a component of more complicated plotting widgets. @@ -35,7 +35,7 @@ class ColorMap : public ScientificPlot { public: explicit ColorMap(QWidget* parent = nullptr); - void setIntensityItem(IntensityItem* item); + void setData2DItem(Data2DItem* item); QSize sizeHint() const override { return QSize(500, 400); } QSize minimumSizeHint() const override { return QSize(128, 128); } @@ -52,7 +52,7 @@ signals: void marginsChanged(double left, double right); private: - IntensityItem* intensityItem() const { return m_intensityItem; } + Data2DItem* data2DItem() const { return m_data2DItem; } void onIntensityModified(); void onUnitsChanged(); @@ -86,7 +86,7 @@ private: void setDataRangeFromItem(); void setColorScaleVisible(); - IntensityItem* m_intensityItem = nullptr; + Data2DItem* m_data2DItem = nullptr; QCPColorMap* m_colorMap; QCPColorScale* m_colorScale; QCPLayoutGrid* m_colorBarLayout; diff --git a/GUI/View/PlotScale/RangeUtil.cpp b/GUI/View/PlotScale/RangeUtil.cpp index 86bad70acbd..1a40f374786 100644 --- a/GUI/View/PlotScale/RangeUtil.cpp +++ b/GUI/View/PlotScale/RangeUtil.cpp @@ -14,8 +14,8 @@ #include "GUI/View/PlotScale/RangeUtil.h" #include "GUI/Model/Axis/AmplitudeAxisItem.h" -#include "GUI/Model/Data/IntensityItem.h" -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include <qcustomplot.h> namespace { @@ -43,7 +43,7 @@ QCPRange commonRange(const QList<AmplitudeAxisItem*>& axes) return QCPRange(commonMin(axes), commonMax(axes)); } -QList<AmplitudeAxisItem*> valueAxesFromSpecularItems(const QList<SpecularDataItem*>& items) +QList<AmplitudeAxisItem*> valueAxesFromData1DItems(const QList<Data1DItem*>& items) { QList<AmplitudeAxisItem*> axes; for (auto item : items) @@ -51,7 +51,7 @@ QList<AmplitudeAxisItem*> valueAxesFromSpecularItems(const QList<SpecularDataIte return axes; } -QList<AmplitudeAxisItem*> valueAxesFromIntensityItems(const QList<IntensityItem*>& items) +QList<AmplitudeAxisItem*> valueAxesFromData2DItems(const QList<Data2DItem*>& items) { QList<AmplitudeAxisItem*> axes; for (auto item : items) @@ -61,18 +61,18 @@ QList<AmplitudeAxisItem*> valueAxesFromIntensityItems(const QList<IntensityItem* } // namespace -void GUI::View::RangeUtil::setCommonRangeY(QList<SpecularDataItem*> items) +void GUI::View::RangeUtil::setCommonRangeY(QList<Data1DItem*> items) { - QCPRange range = commonRange(valueAxesFromSpecularItems(items)); + QCPRange range = commonRange(valueAxesFromData1DItems(items)); for (auto item : items) { item->setLowerY(range.lower); item->setUpperY(range.upper); } } -void GUI::View::RangeUtil::setCommonRangeZ(QList<IntensityItem*> items) +void GUI::View::RangeUtil::setCommonRangeZ(QList<Data2DItem*> items) { - QCPRange range = commonRange(valueAxesFromIntensityItems(items)); + QCPRange range = commonRange(valueAxesFromData2DItems(items)); for (auto item : items) { item->setLowerZ(range.lower); item->setUpperZ(range.upper); diff --git a/GUI/View/PlotScale/RangeUtil.h b/GUI/View/PlotScale/RangeUtil.h index 4be84eff9c6..57ef0e3b2b3 100644 --- a/GUI/View/PlotScale/RangeUtil.h +++ b/GUI/View/PlotScale/RangeUtil.h @@ -17,18 +17,18 @@ #include <QList> -class IntensityItem; -class SpecularDataItem; +class Data2DItem; +class Data1DItem; //! Provides few helper functions for ColorMapPlot. namespace GUI::View::RangeUtil { //! Sets common Y range for a list of items (zoom). -void setCommonRangeY(QList<SpecularDataItem*> items); +void setCommonRangeY(QList<Data1DItem*> items); //! Sets common Z range for a list of items (zoom). -void setCommonRangeZ(QList<IntensityItem*> items); +void setCommonRangeZ(QList<Data2DItem*> items); } // namespace GUI::View::RangeUtil diff --git a/GUI/View/PlotSpecular/SpecularDataCanvas.cpp b/GUI/View/PlotSpecular/SpecularDataCanvas.cpp index da5b914b02c..52bee4bd100 100644 --- a/GUI/View/PlotSpecular/SpecularDataCanvas.cpp +++ b/GUI/View/PlotSpecular/SpecularDataCanvas.cpp @@ -14,7 +14,7 @@ #include "GUI/View/PlotSpecular/SpecularDataCanvas.h" #include "Base/Util/Assert.h" -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/View/PlotScale/SavePlotAssistant.h" #include "GUI/View/PlotSpecular/SpecularPlotCanvas.h" @@ -57,7 +57,7 @@ SpecularDataCanvas::SpecularDataCanvas(QWidget* parent) void SpecularDataCanvas::setJobOrRealItem(QObject* job_or_real_Item) { DataAccessWidget::setJobOrRealItem(job_or_real_Item); - m_plot_canvas->setSpecularItems({currentSpecularDataItem()}); + m_plot_canvas->setData1DItems({currentData1DItem()}); } QSize SpecularDataCanvas::sizeHint() const @@ -92,7 +92,7 @@ void SpecularDataCanvas::enableDeprecatedOnMousePress(bool b) void SpecularDataCanvas::onResetViewAction() { - for (auto item : allSpecularDataItems()) + for (auto item : allData1DItems()) item->resetView(); gProjectDocument.value()->setModified(); } @@ -101,7 +101,7 @@ void SpecularDataCanvas::onSavePlotAction() { ASSERT(gProjectDocument.has_value()); QString dirname = gProjectDocument.value()->userExportDir(); - GUI::Plot::savePlot(dirname, m_plot_canvas->customPlot(), currentSpecularDataItem()->c_field()); + GUI::Plot::savePlot(dirname, m_plot_canvas->customPlot(), currentData1DItem()->c_field()); } void SpecularDataCanvas::onMousePress(QMouseEvent* event) diff --git a/GUI/View/PlotSpecular/SpecularDataCanvas.h b/GUI/View/PlotSpecular/SpecularDataCanvas.h index 674f9fbf99f..2e51346479a 100644 --- a/GUI/View/PlotSpecular/SpecularDataCanvas.h +++ b/GUI/View/PlotSpecular/SpecularDataCanvas.h @@ -18,7 +18,7 @@ #include "GUI/View/Data/DataAccessWidget.h" #include <QWidget> -class SpecularDataItem; +class Data1DItem; class SpecularPlotCanvas; class QCustomPlot; diff --git a/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp b/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp index 48e0f2172ec..243e2b74f08 100644 --- a/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp +++ b/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp @@ -16,7 +16,7 @@ #include "GUI/Model/Axis/AmplitudeAxisItem.h" #include "GUI/Model/Axis/BasicAxisItem.h" #include "GUI/Model/Data/ComboProperty.h" -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/Support/Tool/LayoutUtil.h" #include "GUI/View/Numeric/DoubleSpinBox.h" @@ -33,10 +33,10 @@ SpecularDataPropertyWidget::SpecularDataPropertyWidget(QWidget* parent) void SpecularDataPropertyWidget::createPanelElements() { - if (allSpecularDataItems().size() == 0) + if (allData1DItems().size() == 0) return; - for (auto item : allSpecularDataItems()) + for (auto item : allData1DItems()) disconnect(item, nullptr, this, nullptr); GUI::Util::Layout::clearLayout(m_mainLayout); @@ -46,9 +46,9 @@ void SpecularDataPropertyWidget::createPanelElements() m_mainLayout->addRow("Axes units:", GUI::Util::createUnitsComboBox( axesUnitsList(), - [this] { return currentSpecularDataItem()->currentAxesUnits(); }, + [this] { return currentData1DItem()->currentAxesUnits(); }, [this](const QString& newVal) { - for (auto item : allSpecularDataItems()) + for (auto item : allData1DItems()) item->setCurrentAxesUnits(newVal); emit axesRangeResetRequested(); gProjectDocument.value()->setModified(); @@ -62,25 +62,23 @@ void SpecularDataPropertyWidget::createPanelElements() xFormLayout->setContentsMargins(0, 0, 0, 0); xFormLayout->setSpacing(5); - xFormLayout->addRow("Min:", - GUI::Util::createDoubleSpinbox( - [this] { return currentSpecularDataItem()->xAxisItem()->min(); }, - [this](double newValue) { - for (auto item : allSpecularDataItems()) - item->xAxisItem()->setMin(newValue); - gProjectDocument.value()->setModified(); - }, - &m_updaters)); - - xFormLayout->addRow("Max:", - GUI::Util::createDoubleSpinbox( - [this] { return currentSpecularDataItem()->xAxisItem()->max(); }, - [this](double newValue) { - for (auto item : allSpecularDataItems()) - item->xAxisItem()->setMax(newValue); - gProjectDocument.value()->setModified(); - }, - &m_updaters)); + xFormLayout->addRow("Min:", GUI::Util::createDoubleSpinbox( + [this] { return currentData1DItem()->xAxisItem()->min(); }, + [this](double newValue) { + for (auto item : allData1DItems()) + item->xAxisItem()->setMin(newValue); + gProjectDocument.value()->setModified(); + }, + &m_updaters)); + + xFormLayout->addRow("Max:", GUI::Util::createDoubleSpinbox( + [this] { return currentData1DItem()->xAxisItem()->max(); }, + [this](double newValue) { + for (auto item : allData1DItems()) + item->xAxisItem()->setMax(newValue); + gProjectDocument.value()->setModified(); + }, + &m_updaters)); m_mainLayout->addRow(xGroup); @@ -91,9 +89,9 @@ void SpecularDataPropertyWidget::createPanelElements() yFormLayout->setSpacing(5); auto* logRangeSpinbox = GUI::Util::createDoubleSpinbox( - [this] { return currentSpecularDataItem()->yAxisItem()->logRangeOrders(); }, + [this] { return currentData1DItem()->yAxisItem()->logRangeOrders(); }, [this](double newValue) { - for (auto item : mainSpecularDataItems()) { + for (auto item : mainData1DItems()) { item->yAxisItem()->setLogRangeOrders(newValue); updateUIValues(); } @@ -101,37 +99,35 @@ void SpecularDataPropertyWidget::createPanelElements() }, &m_updaters, "Dynamic range to display values", RealLimits::positive()); - yFormLayout->addRow("Min:", - GUI::Util::createDoubleSpinbox( - [this] { return currentSpecularDataItem()->yAxisItem()->min(); }, - [this](double newValue) { - for (auto item : mainSpecularDataItems()) { - item->yAxisItem()->setMin(newValue); - item->yAxisItem()->adjustLogRangeOrders(); - updateUIValues(); - } - gProjectDocument.value()->setModified(); - }, - &m_updaters)); - - yFormLayout->addRow("Max:", - GUI::Util::createDoubleSpinbox( - [this] { return currentSpecularDataItem()->yAxisItem()->max(); }, - [this](double newValue) { - for (auto item : mainSpecularDataItems()) { - item->yAxisItem()->setMax(newValue); - item->yAxisItem()->adjustLogRangeOrders(); - updateUIValues(); - } - gProjectDocument.value()->setModified(); - }, - &m_updaters)); + yFormLayout->addRow("Min:", GUI::Util::createDoubleSpinbox( + [this] { return currentData1DItem()->yAxisItem()->min(); }, + [this](double newValue) { + for (auto item : mainData1DItems()) { + item->yAxisItem()->setMin(newValue); + item->yAxisItem()->adjustLogRangeOrders(); + updateUIValues(); + } + gProjectDocument.value()->setModified(); + }, + &m_updaters)); + + yFormLayout->addRow("Max:", GUI::Util::createDoubleSpinbox( + [this] { return currentData1DItem()->yAxisItem()->max(); }, + [this](double newValue) { + for (auto item : mainData1DItems()) { + item->yAxisItem()->setMax(newValue); + item->yAxisItem()->adjustLogRangeOrders(); + updateUIValues(); + } + gProjectDocument.value()->setModified(); + }, + &m_updaters)); yFormLayout->addRow(GUI::Util::createCheckBox( - "log10", [this] { return currentSpecularDataItem()->yAxisItem()->isLogScale(); }, + "log10", [this] { return currentData1DItem()->yAxisItem()->isLogScale(); }, [this, logRangeSpinbox](bool b) { logRangeSpinbox->setEnabled(b); - for (auto item : allSpecularDataItems()) + for (auto item : allData1DItems()) item->yAxisItem()->setLogScale(b); gProjectDocument.value()->setModified(); }, @@ -144,11 +140,11 @@ void SpecularDataPropertyWidget::createPanelElements() updateUIValues(); // react on external changes (e.g. zooming in customplot shall update the axis values) - connect(currentSpecularDataItem(), &DataItem::itemAxesRangeChanged, this, + connect(currentData1DItem(), &DataItem::itemAxesRangeChanged, this, &SpecularDataPropertyWidget::updateUIValues, Qt::UniqueConnection); // update coordinates on axes units change - for (auto item : allSpecularDataItems()) + for (auto item : allData1DItems()) connect(item, &DataItem::axesUnitsChanged, this, &SpecularDataPropertyWidget::updateItemCoords, Qt::UniqueConnection); } diff --git a/GUI/View/PlotSpecular/SpecularDataPropertyWidget.h b/GUI/View/PlotSpecular/SpecularDataPropertyWidget.h index 6e89572f238..606928af656 100644 --- a/GUI/View/PlotSpecular/SpecularDataPropertyWidget.h +++ b/GUI/View/PlotSpecular/SpecularDataPropertyWidget.h @@ -17,7 +17,7 @@ #include "GUI/View/Data/DataPropertyWidget.h" -//! Widget to edit properties of a SpecularDataItem. +//! Widget to edit properties of a Data1DItem. class SpecularDataPropertyWidget : public DataPropertyWidget { Q_OBJECT diff --git a/GUI/View/PlotSpecular/SpecularDataWidget.cpp b/GUI/View/PlotSpecular/SpecularDataWidget.cpp index e79473564de..00255c3f5c9 100644 --- a/GUI/View/PlotSpecular/SpecularDataWidget.cpp +++ b/GUI/View/PlotSpecular/SpecularDataWidget.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/PlotSpecular/SpecularDataWidget.h" -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" #include "GUI/Support/Util/ActionFactory.h" #include "GUI/View/PlotSpecular/SpecularDataCanvas.h" #include "GUI/View/PlotSpecular/SpecularDataPropertyWidget.h" diff --git a/GUI/View/PlotSpecular/SpecularDataWidget.h b/GUI/View/PlotSpecular/SpecularDataWidget.h index 8bbe9ea97ad..65799f05986 100644 --- a/GUI/View/PlotSpecular/SpecularDataWidget.h +++ b/GUI/View/PlotSpecular/SpecularDataWidget.h @@ -18,7 +18,7 @@ #include "GUI/View/Data/DataAccessWidget.h" class SpecularDataCanvas; -class SpecularDataItem; +class Data1DItem; class SpecularDataPropertyWidget; class SpecularDataWidget : public DataAccessWidget { diff --git a/GUI/View/PlotSpecular/SpecularPlot.cpp b/GUI/View/PlotSpecular/SpecularPlot.cpp index db66f3b6cb3..f17d60575ee 100644 --- a/GUI/View/PlotSpecular/SpecularPlot.cpp +++ b/GUI/View/PlotSpecular/SpecularPlot.cpp @@ -18,7 +18,7 @@ #include "Device/Data/Datafield.h" #include "GUI/Model/Axis/AmplitudeAxisItem.h" #include "GUI/Model/Axis/BasicAxisItem.h" -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/Support/Tool/UpdateTimer.h" #include "GUI/Support/Util/QCP_Util.h" @@ -48,12 +48,12 @@ SpecularPlot::SpecularPlot(QWidget* parent) setMouseTrackingEnabled(true); } -void SpecularPlot::setSpecularItems(const QList<SpecularDataItem*>& items) +void SpecularPlot::setData1DItems(const QList<Data1DItem*>& items) { - m_specularDataItems = items; + m_data1DItems = items; // set nullptr at destruction - for (auto*& item : m_specularDataItems) + for (auto*& item : m_data1DItems) if (item) { disconnect(item, &DataItem::destroyed, this, nullptr); connect(item, &DataItem::destroyed, this, [&item] { item = nullptr; }); @@ -63,21 +63,21 @@ void SpecularPlot::setSpecularItems(const QList<SpecularDataItem*>& items) connectItems(); } -QList<SpecularDataItem*> SpecularPlot::specularDataItems() const +QList<Data1DItem*> SpecularPlot::data1DItems() const { - QList<SpecularDataItem*> nonNullItems; - for (auto* item : m_specularDataItems) + QList<Data1DItem*> nonNullItems; + for (auto* item : m_data1DItems) if (item) nonNullItems.append(item); return nonNullItems; } -SpecularDataItem* SpecularPlot::currentSpecularDataItem() const +Data1DItem* SpecularPlot::currentData1DItem() const { - if (specularDataItems().size() == 0) + if (data1DItems().size() == 0) return nullptr; - return specularDataItems().first(); + return data1DItems().first(); } PlotEventInfo SpecularPlot::eventInfo(double xpos, double ypos) const @@ -95,33 +95,33 @@ PlotEventInfo SpecularPlot::eventInfo(double xpos, double ypos) const void SpecularPlot::setLog() { - if (!currentSpecularDataItem()) + if (!currentData1DItem()) return; - GUI::QCP_Util::setLogz(m_custom_plot->yAxis, currentSpecularDataItem()->isLog()); - GUI::QCP_Util::setLogz(m_custom_plot->yAxis2, currentSpecularDataItem()->isLog()); + GUI::QCP_Util::setLogz(m_custom_plot->yAxis, currentData1DItem()->isLog()); + GUI::QCP_Util::setLogz(m_custom_plot->yAxis2, currentData1DItem()->isLog()); replot(); } void SpecularPlot::onXaxisRangeChanged(QCPRange newRange) { - for (auto item : specularDataItems()) { + for (auto item : data1DItems()) { item->setLowerX(newRange.lower); item->setUpperX(newRange.upper); } gProjectDocument.value()->setModified(); - if (currentSpecularDataItem()) - emit currentSpecularDataItem()->updateOtherPlots(currentSpecularDataItem()); + if (currentData1DItem()) + emit currentData1DItem()->updateOtherPlots(currentData1DItem()); } void SpecularPlot::onYaxisRangeChanged(QCPRange newRange) { - for (auto item : specularDataItems()) { + for (auto item : data1DItems()) { item->setLowerY(newRange.lower); item->setUpperY(newRange.upper); } gProjectDocument.value()->setModified(); - if (currentSpecularDataItem()) - emit currentSpecularDataItem()->updateOtherPlots(currentSpecularDataItem()); + if (currentData1DItem()) + emit currentData1DItem()->updateOtherPlots(currentData1DItem()); } void SpecularPlot::onTimeToReplot() @@ -132,27 +132,27 @@ void SpecularPlot::onTimeToReplot() void SpecularPlot::connectItems() { // data - for (auto item : specularDataItems()) + for (auto item : data1DItems()) connect(item, &DataItem::datafieldChanged, this, &SpecularPlot::initPlot, Qt::UniqueConnection); // units - for (auto item : specularDataItems()) + for (auto item : data1DItems()) connect(item, &DataItem::axesUnitsReplotRequested, this, &SpecularPlot::setPlot, Qt::UniqueConnection); // x axis - connect(currentSpecularDataItem()->xAxisItem(), &BasicAxisItem::axisTitleChanged, this, + connect(currentData1DItem()->xAxisItem(), &BasicAxisItem::axisTitleChanged, this, &SpecularPlot::setAxesLabels, Qt::UniqueConnection); - connect(currentSpecularDataItem()->xAxisItem(), &BasicAxisItem::axisRangeChanged, this, + connect(currentData1DItem()->xAxisItem(), &BasicAxisItem::axisRangeChanged, this, &SpecularPlot::setAxesRanges, Qt::UniqueConnection); // y axis - connect(currentSpecularDataItem()->yAxisItem(), &BasicAxisItem::axisTitleChanged, this, + connect(currentData1DItem()->yAxisItem(), &BasicAxisItem::axisTitleChanged, this, &SpecularPlot::setAxesLabels, Qt::UniqueConnection); - connect(currentSpecularDataItem()->yAxisItem(), &BasicAxisItem::axisRangeChanged, this, + connect(currentData1DItem()->yAxisItem(), &BasicAxisItem::axisRangeChanged, this, &SpecularPlot::setAxesRanges, Qt::UniqueConnection); - connect(currentSpecularDataItem()->yAxisItem(), &AmplitudeAxisItem::logScaleChanged, this, + connect(currentData1DItem()->yAxisItem(), &AmplitudeAxisItem::logScaleChanged, this, &SpecularPlot::setLog, Qt::UniqueConnection); setConnected(true); @@ -163,7 +163,7 @@ void SpecularPlot::initPlot() m_custom_plot->clearPlottables(); // clear graphs and error bars m_graph_map.clear(); m_errorbar_map.clear(); - for (auto item : specularDataItems()) { + for (auto item : data1DItems()) { m_custom_plot->addGraph(); m_graph_map.insert(item, m_custom_plot->graph()); m_custom_plot->graph()->setLineStyle(item->lineStyle()); @@ -227,7 +227,7 @@ void SpecularPlot::setUpdateTimerConnected(bool isConnected) void SpecularPlot::setPlot() { - for (auto item : specularDataItems()) + for (auto item : data1DItems()) setDataFromItem(item); setAxes(); setAxesLabels(); @@ -244,27 +244,25 @@ void SpecularPlot::setAxes() void SpecularPlot::setAxesRanges() { - if (!currentSpecularDataItem()) + if (!currentData1DItem()) return; setAxesRangeConnected(false); - m_custom_plot->xAxis->setRange(currentSpecularDataItem()->lowerX(), - currentSpecularDataItem()->upperX()); - m_custom_plot->yAxis->setRange(currentSpecularDataItem()->lowerY(), - currentSpecularDataItem()->upperY()); + m_custom_plot->xAxis->setRange(currentData1DItem()->lowerX(), currentData1DItem()->upperX()); + m_custom_plot->yAxis->setRange(currentData1DItem()->lowerY(), currentData1DItem()->upperY()); setAxesRangeConnected(true); replot(); } void SpecularPlot::setAxesLabels() { - if (!currentSpecularDataItem()) + if (!currentData1DItem()) return; - m_custom_plot->xAxis->setLabel(currentSpecularDataItem()->XaxisTitle()); + m_custom_plot->xAxis->setLabel(currentData1DItem()->XaxisTitle()); m_custom_plot->yAxis->setLabel("Reflectivity"); replot(); } -void SpecularPlot::setDataFromItem(SpecularDataItem* item) +void SpecularPlot::setDataFromItem(Data1DItem* item) { ASSERT(item && m_graph_map.contains(item)); QCPGraph* graph = m_graph_map.value(item); diff --git a/GUI/View/PlotSpecular/SpecularPlot.h b/GUI/View/PlotSpecular/SpecularPlot.h index 99499772d18..985b80a802b 100644 --- a/GUI/View/PlotSpecular/SpecularPlot.h +++ b/GUI/View/PlotSpecular/SpecularPlot.h @@ -24,10 +24,10 @@ class QCPAxis; class QCPErrorBars; class QCPGraph; class QCPRange; -class SpecularDataItem; +class Data1DItem; class UpdateTimer; -//! The SpecularPlot class presents 1D intensity data from SpecularDataItem. +//! The SpecularPlot class presents 1D intensity data from Data1DItem. //! Provides minimal functionality for data plotting and axes interaction. Should be a component //! for more complicated plotting widgets. Corresponds to ColorMap for 2D intensity data. @@ -37,9 +37,9 @@ class SpecularPlot : public ScientificPlot { public: explicit SpecularPlot(QWidget* parent = nullptr); - void setSpecularItems(const QList<SpecularDataItem*>& items); - QList<SpecularDataItem*> specularDataItems() const; - SpecularDataItem* currentSpecularDataItem() const; + void setData1DItems(const QList<Data1DItem*>& items); + QList<Data1DItem*> data1DItems() const; + Data1DItem* currentData1DItem() const; QSize sizeHint() const override { return QSize(500, 400); } QSize minimumSizeHint() const override { return QSize(128, 128); } @@ -51,10 +51,10 @@ public: void setLog(); private: - //! Propagate xmin, xmax back to IntensityItem + //! Propagate xmin, xmax back to Data2DItem void onXaxisRangeChanged(QCPRange newRange); - //! Propagate ymin, ymax back to IntensityItem + //! Propagate ymin, ymax back to Data2DItem void onYaxisRangeChanged(QCPRange newRange); //! Replots SpecularPlot. @@ -85,17 +85,17 @@ private: void setAxesLabels(); //! Sets the data values to SpecularPlot. - void setDataFromItem(SpecularDataItem* item); + void setDataFromItem(Data1DItem* item); //! Schedule replot for later execution by onTimeReplot() slot. void replot(); - QList<SpecularDataItem*> m_specularDataItems; + QList<Data1DItem*> m_data1DItems; UpdateTimer* m_update_timer; - QMap<SpecularDataItem*, QCPGraph*> m_graph_map; - QMap<SpecularDataItem*, QCPErrorBars*> m_errorbar_map; + QMap<Data1DItem*, QCPGraph*> m_graph_map; + QMap<Data1DItem*, QCPErrorBars*> m_errorbar_map; }; #endif // BORNAGAIN_GUI_VIEW_PLOTSPECULAR_SPECULARPLOT_H diff --git a/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp b/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp index f4a793b9e11..d4083db964a 100644 --- a/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp +++ b/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/PlotSpecular/SpecularPlotCanvas.h" -#include "GUI/Model/Data/SpecularDataItem.h" +#include "GUI/Model/Data/Data1DItem.h" #include "GUI/View/PlotScale/FontScalingEvent.h" #include "GUI/View/PlotSpecular/SpecularPlot.h" #include "GUI/View/PlotUtil/PlotStatusLabel.h" @@ -37,9 +37,9 @@ SpecularPlotCanvas::SpecularPlotCanvas(QWidget* parent) setStatusLabelEnabled(false); } -void SpecularPlotCanvas::setSpecularItems(const QList<SpecularDataItem*>& specularItems) +void SpecularPlotCanvas::setData1DItems(const QList<Data1DItem*>& data1DItems) { - m_plot->setSpecularItems(specularItems); + m_plot->setData1DItems(data1DItems); } SpecularPlot* SpecularPlotCanvas::specularPlot() diff --git a/GUI/View/PlotSpecular/SpecularPlotCanvas.h b/GUI/View/PlotSpecular/SpecularPlotCanvas.h index 4e5ac25a567..ca6de937f88 100644 --- a/GUI/View/PlotSpecular/SpecularPlotCanvas.h +++ b/GUI/View/PlotSpecular/SpecularPlotCanvas.h @@ -21,7 +21,7 @@ class DataItem; class FontScalingEvent; class PlotStatusLabel; class QCustomPlot; -class SpecularDataItem; +class Data1DItem; class SpecularPlot; //! Contains SpecularPlot for specular data presentation, and provides status string appearance. @@ -31,7 +31,7 @@ class SpecularPlotCanvas : public QWidget { public: explicit SpecularPlotCanvas(QWidget* parent = nullptr); - void setSpecularItems(const QList<SpecularDataItem*>& specularItems); + void setData1DItems(const QList<Data1DItem*>& data1DItems); SpecularPlot* specularPlot(); QCustomPlot* customPlot(); diff --git a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp index 9d3827e3a36..0db751d7470 100644 --- a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp +++ b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Projection/IntensityDataProjectionsWidget.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/ProjectionItems.h" #include "GUI/View/Data/IntensityDataPropertyWidget.h" #include "GUI/View/Projection/ProjectionsEditorActions.h" @@ -61,28 +61,28 @@ void IntensityDataProjectionsWidget::setJobOrRealItem(QObject* job_or_real_item) void IntensityDataProjectionsWidget::setContext() { - ASSERT(currentIntensityItem()); + ASSERT(currentData2DItem()); // The following line must come before 'm_projectionsCanvas->setContext()'! // It prevents problem with switching between datasets in projection mode. m_projectionsWidget->disconnectItem(); - m_projectionsCanvas->setContext(currentIntensityItem()); - m_projectionsWidget->setIntensityItem(currentIntensityItem()); + m_projectionsCanvas->setContext(currentData2DItem()); + m_projectionsWidget->setData2DItem(currentData2DItem()); - m_editorActions->setContext(currentIntensityItem()); + m_editorActions->setContext(currentData2DItem()); } void IntensityDataProjectionsWidget::resetContext() { m_projectionsCanvas->resetContext(); m_projectionsWidget->disconnectItem(); - m_projectionsWidget->setIntensityItem(nullptr); + m_projectionsWidget->setData2DItem(nullptr); } void IntensityDataProjectionsWidget::showEvent(QShowEvent*) { - if (currentIntensityItem()) + if (currentData2DItem()) setContext(); } diff --git a/GUI/View/Projection/IntensityDataProjectionsWidget.h b/GUI/View/Projection/IntensityDataProjectionsWidget.h index c0fb76bf28b..77baf89d146 100644 --- a/GUI/View/Projection/IntensityDataProjectionsWidget.h +++ b/GUI/View/Projection/IntensityDataProjectionsWidget.h @@ -23,7 +23,7 @@ class ProjectionsEditorCanvas; class ProjectionsToolbar; class ProjectionsWidget; -//! Main widget to embed projections editor for IntensityItem. +//! Main widget to embed projections editor for Data2DItem. //! Part of RealDataPresenter and JobResultsPresenter. class IntensityDataProjectionsWidget : public DataAccessWidget { diff --git a/GUI/View/Projection/ProjectionsEditorActions.cpp b/GUI/View/Projection/ProjectionsEditorActions.cpp index ac55709dac1..00e01b54516 100644 --- a/GUI/View/Projection/ProjectionsEditorActions.cpp +++ b/GUI/View/Projection/ProjectionsEditorActions.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Projection/ProjectionsEditorActions.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/ProjectionItems.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/View/Projection/SaveProjectionsAssistant.h" @@ -50,11 +50,11 @@ ProjectionsEditorActions::ProjectionsEditorActions(QWidget* parent) connect(m_deleteAction, &QAction::triggered, this, &ProjectionsEditorActions::onDeleteAction); } -void ProjectionsEditorActions::setContext(IntensityItem* intensityItem) +void ProjectionsEditorActions::setContext(Data2DItem* data2DItem) { - m_intensityItem = intensityItem; + m_data2DItem = data2DItem; - ProjectionContainerItem* containerItem = intensityItem->getOrCreateProjectionContainerItem(); + ProjectionContainerItem* containerItem = data2DItem->getOrCreateProjectionContainerItem(); ASSERT(containerItem); m_maskContainerModel = containerItem->model(); @@ -82,9 +82,9 @@ void ProjectionsEditorActions::onDeleteAction() //! Performs saving of projections in ascii file void ProjectionsEditorActions::onSaveAction() { - if (!m_intensityItem) + if (!m_data2DItem) return; SaveProjectionsAssistant assistant; - assistant.saveProjections(m_parent, m_intensityItem); + assistant.saveProjections(m_parent, m_data2DItem); } diff --git a/GUI/View/Projection/ProjectionsEditorActions.h b/GUI/View/Projection/ProjectionsEditorActions.h index 92dfa93093a..48f060fee38 100644 --- a/GUI/View/Projection/ProjectionsEditorActions.h +++ b/GUI/View/Projection/ProjectionsEditorActions.h @@ -18,7 +18,7 @@ #include <QAction> #include <QItemSelectionModel> -class IntensityItem; +class Data2DItem; class MaskContainerModel; class ProjectionContainerItem; @@ -30,7 +30,7 @@ class ProjectionsEditorActions : public QObject { public: ProjectionsEditorActions(QWidget* parent = nullptr); - void setContext(IntensityItem* intensityItem); + void setContext(Data2DItem* data2DItem); QList<QAction*> topToolbarActions(); @@ -47,7 +47,7 @@ private: QAction* m_togglePanelAction; QAction* m_deleteAction; MaskContainerModel* m_maskContainerModel; - IntensityItem* m_intensityItem; + Data2DItem* m_data2DItem; QItemSelectionModel* m_selectionModel; QWidget* m_parent; }; diff --git a/GUI/View/Projection/ProjectionsEditorCanvas.cpp b/GUI/View/Projection/ProjectionsEditorCanvas.cpp index 452bbd8a642..88079132eca 100644 --- a/GUI/View/Projection/ProjectionsEditorCanvas.cpp +++ b/GUI/View/Projection/ProjectionsEditorCanvas.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Projection/ProjectionsEditorCanvas.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/MaskItems.h" #include "GUI/Model/Data/ProjectionItems.h" #include "GUI/Model/Project/ProjectDocument.h" @@ -52,25 +52,25 @@ ProjectionsEditorCanvas::ProjectionsEditorCanvas(QWidget* parent) &ProjectionsEditorCanvas::onLineItemMoved, Qt::UniqueConnection); } -void ProjectionsEditorCanvas::setContext(IntensityItem* intensityItem) +void ProjectionsEditorCanvas::setContext(Data2DItem* data2DItem) { - ProjectionContainerItem* containerItem = intensityItem->getOrCreateProjectionContainerItem(); + ProjectionContainerItem* containerItem = data2DItem->getOrCreateProjectionContainerItem(); ASSERT(containerItem); - m_scene->setMaskContext(intensityItem, containerItem); + m_scene->setMaskContext(data2DItem, containerItem); m_scene->setSelectionModel(containerItem->selectionModel()); // notify ProjectionPlot about the changes - connect(m_scene, &MaskGraphicsScene::lineItemProcessed, intensityItem, - &IntensityItem::projectionCreated, Qt::UniqueConnection); - connect(m_scene, &MaskGraphicsScene::lineItemMoved, intensityItem, - &IntensityItem::projectionPositionChanged, Qt::UniqueConnection); - connect(m_scene, &MaskGraphicsScene::lineItemDeleted, intensityItem, - &IntensityItem::projectionGone, Qt::UniqueConnection); + connect(m_scene, &MaskGraphicsScene::lineItemProcessed, data2DItem, + &Data2DItem::projectionCreated, Qt::UniqueConnection); + connect(m_scene, &MaskGraphicsScene::lineItemMoved, data2DItem, + &Data2DItem::projectionPositionChanged, Qt::UniqueConnection); + connect(m_scene, &MaskGraphicsScene::lineItemDeleted, data2DItem, &Data2DItem::projectionGone, + Qt::UniqueConnection); m_view->updateSize(m_view->size()); - m_intensityItem = intensityItem; + m_data2DItem = data2DItem; setColorMap(m_scene->colorMap()); @@ -80,7 +80,7 @@ void ProjectionsEditorCanvas::setContext(IntensityItem* intensityItem) void ProjectionsEditorCanvas::resetContext() { - m_intensityItem = nullptr; + m_data2DItem = nullptr; setConnected(false); m_colorMap = nullptr; m_scene->resetContext(); @@ -103,8 +103,8 @@ void ProjectionsEditorCanvas::onEnteringColorMap() m_liveProjection->setParent(this); // notify ProjectionPlot about the changes - connect(m_liveProjection.get(), &MaskItem::maskGeometryChanged, m_intensityItem, - &IntensityItem::projectionPositionChanged, Qt::UniqueConnection); + connect(m_liveProjection.get(), &MaskItem::maskGeometryChanged, m_data2DItem, + &Data2DItem::projectionPositionChanged, Qt::UniqueConnection); } m_block_update = false; @@ -118,8 +118,8 @@ void ProjectionsEditorCanvas::onLeavingColorMap() m_block_update = true; if (m_liveProjection) { - disconnect(m_liveProjection.get(), nullptr, m_intensityItem, nullptr); - emit m_intensityItem->projectionGone(m_liveProjection.get()); + disconnect(m_liveProjection.get(), nullptr, m_data2DItem, nullptr); + emit m_data2DItem->projectionGone(m_liveProjection.get()); m_liveProjection.reset(); } @@ -146,7 +146,7 @@ void ProjectionsEditorCanvas::onPositionChanged(double x, double y) void ProjectionsEditorCanvas::onResetViewRequest() { m_view->onResetViewRequest(); - m_intensityItem->resetView(); + m_data2DItem->resetView(); gProjectDocument.value()->setModified(); } diff --git a/GUI/View/Projection/ProjectionsEditorCanvas.h b/GUI/View/Projection/ProjectionsEditorCanvas.h index 2fab7e84e24..d216cdc5119 100644 --- a/GUI/View/Projection/ProjectionsEditorCanvas.h +++ b/GUI/View/Projection/ProjectionsEditorCanvas.h @@ -22,7 +22,7 @@ class MaskGraphicsScene; class MaskGraphicsView; -class IntensityItem; +class Data2DItem; class ColorMap; class PlotStatusLabel; class MaskItem; @@ -40,7 +40,7 @@ class ProjectionsEditorCanvas : public QWidget { public: ProjectionsEditorCanvas(QWidget* parent = nullptr); - void setContext(IntensityItem* intensityItem); + void setContext(Data2DItem* data2DItem); void resetContext(); signals: @@ -67,7 +67,7 @@ private: PlotStatusLabel* m_statusLabel; std::unique_ptr<MaskItem> m_liveProjection; //!< temporary projection item matching mouse move - IntensityItem* m_intensityItem; + Data2DItem* m_data2DItem; MaskEditorFlags::Activity m_currentActivity; bool m_block_update = false; diff --git a/GUI/View/Projection/ProjectionsPlot.cpp b/GUI/View/Projection/ProjectionsPlot.cpp index e49947ca104..f244c21cccd 100644 --- a/GUI/View/Projection/ProjectionsPlot.cpp +++ b/GUI/View/Projection/ProjectionsPlot.cpp @@ -17,7 +17,7 @@ #include "Device/Data/Datafield.h" #include "GUI/Model/Axis/AmplitudeAxisItem.h" #include "GUI/Model/Axis/BasicAxisItem.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/MaskItems.h" #include "GUI/Model/Data/ProjectionItems.h" #include "GUI/Support/Util/QCP_Util.h" @@ -49,14 +49,14 @@ ProjectionsPlot::ProjectionsPlot(GUI::ID::ProjectionType projectionType, QWidget GUI::QCP_Util::setDefaultMargins(m_custom_plot); } -void ProjectionsPlot::setIntensityItem(IntensityItem* item) +void ProjectionsPlot::setData2DItem(Data2DItem* item) { - m_intensityItem = item; + m_data2DItem = item; // set nullptr at destruction - if (m_intensityItem) { - disconnect(m_intensityItem, &DataItem::destroyed, this, nullptr); - connect(m_intensityItem, &DataItem::destroyed, this, [this] { m_intensityItem = nullptr; }); + if (m_data2DItem) { + disconnect(m_data2DItem, &DataItem::destroyed, this, nullptr); + connect(m_data2DItem, &DataItem::destroyed, this, [this] { m_data2DItem = nullptr; }); } clearAll(); @@ -72,55 +72,55 @@ void ProjectionsPlot::onMarginsChanged(double left, double right) void ProjectionsPlot::connectItems() { - if (!intensityItem()) + if (!data2DItem()) return; // Units changed - connect(intensityItem(), &IntensityItem::axesUnitsReplotRequested, this, + connect(data2DItem(), &Data2DItem::axesUnitsReplotRequested, this, &ProjectionsPlot::updateProjections, Qt::UniqueConnection); // Update projection plot on new item appearance - connect(intensityItem(), &IntensityItem::projectionCreated, this, - &ProjectionsPlot::updateProjections, Qt::UniqueConnection); + connect(data2DItem(), &Data2DItem::projectionCreated, this, &ProjectionsPlot::updateProjections, + Qt::UniqueConnection); // Update projection position - connect(intensityItem(), &IntensityItem::projectionPositionChanged, this, + connect(data2DItem(), &Data2DItem::projectionPositionChanged, this, &ProjectionsPlot::onProjectionPropertyChanged, Qt::UniqueConnection); // Remove projection plot - connect(intensityItem(), &IntensityItem::projectionGone, this, - &ProjectionsPlot::clearProjection, Qt::UniqueConnection); + connect(data2DItem(), &Data2DItem::projectionGone, this, &ProjectionsPlot::clearProjection, + Qt::UniqueConnection); // Values of intensity changed, regenerate everything. - connect(intensityItem(), &IntensityItem::datafieldChanged, this, + connect(data2DItem(), &Data2DItem::datafieldChanged, this, &ProjectionsPlot::updateProjectionsData, Qt::UniqueConnection); // interpolation changed - connect(intensityItem(), &IntensityItem::interpolationChanged, this, - &ProjectionsPlot::setInterpolate, Qt::UniqueConnection); + connect(data2DItem(), &Data2DItem::interpolationChanged, this, &ProjectionsPlot::setInterpolate, + Qt::UniqueConnection); // AXES // if the colormap is zoomed or dragged: - connect(intensityItem(), &IntensityItem::updateOtherPlots, this, - &ProjectionsPlot::updateAxesRange, Qt::UniqueConnection); + connect(data2DItem(), &Data2DItem::updateOtherPlots, this, &ProjectionsPlot::updateAxesRange, + Qt::UniqueConnection); // if axes are changed externally, from the properties panel: // axes range - connect(intensityItem()->xAxisItem(), &BasicAxisItem::axisRangeChanged, this, + connect(data2DItem()->xAxisItem(), &BasicAxisItem::axisRangeChanged, this, &ProjectionsPlot::updateAxesRange, Qt::UniqueConnection); - connect(intensityItem()->yAxisItem(), &BasicAxisItem::axisRangeChanged, this, + connect(data2DItem()->yAxisItem(), &BasicAxisItem::axisRangeChanged, this, &ProjectionsPlot::updateAxesRange, Qt::UniqueConnection); - connect(intensityItem()->zAxisItem(), &BasicAxisItem::axisRangeChanged, this, + connect(data2DItem()->zAxisItem(), &BasicAxisItem::axisRangeChanged, this, &ProjectionsPlot::updateAxesRange, Qt::UniqueConnection); // axes title - connect(intensityItem()->xAxisItem(), &BasicAxisItem::axisTitleChanged, this, + connect(data2DItem()->xAxisItem(), &BasicAxisItem::axisTitleChanged, this, &ProjectionsPlot::updateAxesTitle, Qt::UniqueConnection); - connect(intensityItem()->yAxisItem(), &BasicAxisItem::axisTitleChanged, this, + connect(data2DItem()->yAxisItem(), &BasicAxisItem::axisTitleChanged, this, &ProjectionsPlot::updateAxesTitle, Qt::UniqueConnection); // z log scale - connect(intensityItem()->zAxisItem(), &AmplitudeAxisItem::logScaleChanged, this, + connect(data2DItem()->zAxisItem(), &AmplitudeAxisItem::logScaleChanged, this, &ProjectionsPlot::setLogz, Qt::UniqueConnection); updateProjectionsData(); @@ -128,23 +128,23 @@ void ProjectionsPlot::connectItems() void ProjectionsPlot::disconnectItems() { - if (!intensityItem()) + if (!data2DItem()) return; - disconnect(intensityItem(), nullptr, this, nullptr); - disconnect(intensityItem()->xAxisItem(), nullptr, this, nullptr); - disconnect(intensityItem()->yAxisItem(), nullptr, this, nullptr); - disconnect(intensityItem()->zAxisItem(), nullptr, this, nullptr); + disconnect(data2DItem(), nullptr, this, nullptr); + disconnect(data2DItem()->xAxisItem(), nullptr, this, nullptr); + disconnect(data2DItem()->yAxisItem(), nullptr, this, nullptr); + disconnect(data2DItem()->zAxisItem(), nullptr, this, nullptr); } -IntensityItem* ProjectionsPlot::intensityItem() +Data2DItem* ProjectionsPlot::data2DItem() { - return m_intensityItem; + return m_data2DItem; } ProjectionContainerItem* ProjectionsPlot::projectionContainerItem() { - ProjectionContainerItem* result = intensityItem()->projectionContainerItem(); + ProjectionContainerItem* result = data2DItem()->projectionContainerItem(); ASSERT(result); return result; } @@ -167,7 +167,7 @@ bool ProjectionsPlot::isCorrectProjectionType(MaskItem* item) QCPGraph* ProjectionsPlot::graphForItem(MaskItemObject* item) { - if (!intensityItem()) + if (!data2DItem()) return nullptr; QCPGraph* graph = m_item_to_graph[item]; @@ -175,8 +175,8 @@ QCPGraph* ProjectionsPlot::graphForItem(MaskItemObject* item) graph = m_custom_plot->addGraph(); QPen pen; pen.setColor(QColor(0, 0, 255, 200)); - graph->setLineStyle(intensityItem()->isInterpolated() ? QCPGraph::lsLine - : QCPGraph::lsStepCenter); + graph->setLineStyle(data2DItem()->isInterpolated() ? QCPGraph::lsLine + : QCPGraph::lsStepCenter); graph->setPen(pen); m_item_to_graph[item] = graph; } @@ -188,12 +188,12 @@ QCPGraph* ProjectionsPlot::graphForItem(MaskItemObject* item) void ProjectionsPlot::updateProjectionsData() { - if (!intensityItem()) + if (!data2DItem()) return; updateAxesRange(); updateAxesTitle(); - setLogz(intensityItem()->isLog()); + setLogz(data2DItem()->isLog()); updateProjections(); } @@ -219,11 +219,11 @@ void ProjectionsPlot::onProjectionPropertyChanged(MaskItemObject* item) replot(); } -//! Updates canva's axes to match current zoom level of IntensityItem +//! Updates canva's axes to match current zoom level of Data2DItem void ProjectionsPlot::updateAxesRange() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; @@ -237,7 +237,7 @@ void ProjectionsPlot::updateAxesRange() void ProjectionsPlot::updateAxesTitle() { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii) return; @@ -270,7 +270,7 @@ void ProjectionsPlot::clearAll() void ProjectionsPlot::setGraphFromItem(QCPGraph* graph, MaskItem* item) { - const IntensityItem* ii = intensityItem(); + const Data2DItem* ii = data2DItem(); if (!ii || !ii->c_field()) return; diff --git a/GUI/View/Projection/ProjectionsPlot.h b/GUI/View/Projection/ProjectionsPlot.h index d206152c1d7..45c2fcbfe12 100644 --- a/GUI/View/Projection/ProjectionsPlot.h +++ b/GUI/View/Projection/ProjectionsPlot.h @@ -20,14 +20,14 @@ #include <QWidget> class Datafield; -class IntensityItem; +class Data2DItem; class MaskItem; class MaskItemObject; class ProjectionContainerItem; class QCPGraph; class QCustomPlot; -//! A customplot based widget to display projections of IntensityItem on X,Y axes. +//! A customplot based widget to display projections of Data2DItem on X,Y axes. class ProjectionsPlot : public QWidget { Q_OBJECT @@ -35,7 +35,7 @@ class ProjectionsPlot : public QWidget { public: ProjectionsPlot(GUI::ID::ProjectionType projectionType, QWidget* parent = nullptr); - void setIntensityItem(IntensityItem* item); + void setData2DItem(Data2DItem* item); void connectItems(); void disconnectItems(); @@ -44,7 +44,7 @@ public slots: void onMarginsChanged(double left, double right); private: - IntensityItem* intensityItem(); + Data2DItem* data2DItem(); QVector<MaskItem*> projectionItems(); bool isCorrectProjectionType(MaskItem* item); ProjectionContainerItem* projectionContainerItem(); @@ -67,7 +67,7 @@ private: bool isHorizontalType(); - IntensityItem* m_intensityItem = nullptr; + Data2DItem* m_data2DItem = nullptr; GUI::ID::ProjectionType m_projectionType = GUI::ID::ProjectionType::Invalid; QCustomPlot* m_custom_plot; QMap<MaskItemObject*, QCPGraph*> m_item_to_graph; diff --git a/GUI/View/Projection/ProjectionsWidget.cpp b/GUI/View/Projection/ProjectionsWidget.cpp index 22a14726394..2801da19ed0 100644 --- a/GUI/View/Projection/ProjectionsWidget.cpp +++ b/GUI/View/Projection/ProjectionsWidget.cpp @@ -13,7 +13,7 @@ // ************************************************************************************************ #include "GUI/View/Projection/ProjectionsWidget.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/MaskItems.h" #include "GUI/View/Projection/ProjectionsPlot.h" #include <QTabWidget> @@ -46,10 +46,10 @@ ProjectionsWidget::ProjectionsWidget(QWidget* parent) setConnected(true); } -void ProjectionsWidget::setIntensityItem(IntensityItem* intensityItem) +void ProjectionsWidget::setData2DItem(Data2DItem* data2DItem) { - m_xProjection->setIntensityItem(intensityItem); - m_yProjection->setIntensityItem(intensityItem); + m_xProjection->setData2DItem(data2DItem); + m_yProjection->setData2DItem(data2DItem); } void ProjectionsWidget::disconnectItem() diff --git a/GUI/View/Projection/ProjectionsWidget.h b/GUI/View/Projection/ProjectionsWidget.h index b59baaec8ca..84216c6f841 100644 --- a/GUI/View/Projection/ProjectionsWidget.h +++ b/GUI/View/Projection/ProjectionsWidget.h @@ -19,7 +19,7 @@ #include <QTabWidget> class ProjectionsPlot; -class IntensityItem; +class Data2DItem; //! Holds tabs of vertical and horizontal projections, located at the bottom of ProjectionsEditor. @@ -29,7 +29,7 @@ class ProjectionsWidget : public QWidget { public: ProjectionsWidget(QWidget* parent = nullptr); - void setIntensityItem(IntensityItem* intensityItem); + void setData2DItem(Data2DItem* data2DItem); void disconnectItem(); signals: diff --git a/GUI/View/Projection/SaveProjectionsAssistant.cpp b/GUI/View/Projection/SaveProjectionsAssistant.cpp index 9d7122e02f9..b042544ebed 100644 --- a/GUI/View/Projection/SaveProjectionsAssistant.cpp +++ b/GUI/View/Projection/SaveProjectionsAssistant.cpp @@ -16,7 +16,7 @@ #include "Base/Axis/Scale.h" #include "Base/Py/PyFmt.h" #include "Device/Data/Datafield.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/MaskItems.h" #include "GUI/Model/Project/ProjectDocument.h" #include "GUI/Support/Style/ApplicationSettings.h" @@ -62,9 +62,9 @@ SaveProjectionsAssistant::~SaveProjectionsAssistant() = default; //! Calls file open dialog and writes projection data as ASCII -void SaveProjectionsAssistant::saveProjections(QWidget* parent, IntensityItem* intensityItem) +void SaveProjectionsAssistant::saveProjections(QWidget* parent, Data2DItem* data2DItem) { - ASSERT(intensityItem); + ASSERT(data2DItem); ASSERT(gProjectDocument.has_value()); QString defaultName = gProjectDocument.value()->userExportDir() + "/untitled.txt"; @@ -80,16 +80,16 @@ void SaveProjectionsAssistant::saveProjections(QWidget* parent, IntensityItem* i if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) throw std::runtime_error("Cannot create file for saving projections"); - m_field = intensityItem->c_field(); + m_field = data2DItem->c_field(); QTextStream out(&file); out << "# Projections along x-axis (horizontal projections) \n"; - out << projectionsToString(GUI::ID::ProjectionType::Horizontal, intensityItem); + out << projectionsToString(GUI::ID::ProjectionType::Horizontal, data2DItem); out << "\n"; out << "# Projections along y-axis (vertical projections) \n"; - out << projectionsToString(GUI::ID::ProjectionType::Vertical, intensityItem); + out << projectionsToString(GUI::ID::ProjectionType::Vertical, data2DItem); out << "\n"; file.close(); @@ -98,12 +98,12 @@ void SaveProjectionsAssistant::saveProjections(QWidget* parent, IntensityItem* i //! Generates multi-line string with projections data of given type (horizontal, vertical). QString SaveProjectionsAssistant::projectionsToString(GUI::ID::ProjectionType projectionsType, - IntensityItem* intensityItem) + Data2DItem* data2DItem) { QString result; QTextStream out(&result); - auto projData = projectionsData(projectionsType, intensityItem); + auto projData = projectionsData(projectionsType, data2DItem); if (projData.projections.isEmpty()) return result; @@ -125,12 +125,12 @@ QString SaveProjectionsAssistant::projectionsToString(GUI::ID::ProjectionType pr SaveProjectionsAssistant::ProjectionsData SaveProjectionsAssistant::projectionsData(GUI::ID::ProjectionType projectionsType, - IntensityItem* intensityItem) + Data2DItem* data2DItem) { ProjectionsData result; result.is_horizontal = (projectionsType == GUI::ID::ProjectionType::Horizontal); - for (auto* item : projectionItems(projectionsType, intensityItem)) { + for (auto* item : projectionItems(projectionsType, data2DItem)) { std::unique_ptr<Datafield> field; SaveProjectionsAssistant::Projection data; @@ -157,9 +157,9 @@ SaveProjectionsAssistant::projectionsData(GUI::ID::ProjectionType projectionsTyp QVector<MaskItem*> SaveProjectionsAssistant::projectionItems(GUI::ID::ProjectionType projectionsType, - IntensityItem* intensityItem) + Data2DItem* data2DItem) { - auto result = intensityItem->projectionContainerItem()->projectionsOfType(projectionsType); + auto result = data2DItem->projectionContainerItem()->projectionsOfType(projectionsType); std::sort(result.begin(), result.end(), projectionsType == GUI::ID::ProjectionType::Horizontal ? horiz_less_posy : vert_less_posx); diff --git a/GUI/View/Projection/SaveProjectionsAssistant.h b/GUI/View/Projection/SaveProjectionsAssistant.h index d8c4456f86f..eeb1bec8115 100644 --- a/GUI/View/Projection/SaveProjectionsAssistant.h +++ b/GUI/View/Projection/SaveProjectionsAssistant.h @@ -21,7 +21,7 @@ #include <QWidget> #include <memory> -class IntensityItem; +class Data2DItem; class Datafield; //! Assistant class which save all projections of IndensityDataItem into ASCII file. @@ -31,7 +31,7 @@ public: SaveProjectionsAssistant(); ~SaveProjectionsAssistant(); - void saveProjections(QWidget* parent, IntensityItem* intensityItem); + void saveProjections(QWidget* parent, Data2DItem* data2DItem); private: struct Projection { @@ -45,14 +45,13 @@ private: QVector<Projection> projections; }; - QString projectionsToString(GUI::ID::ProjectionType projectionsType, - IntensityItem* intensityItem); + QString projectionsToString(GUI::ID::ProjectionType projectionsType, Data2DItem* data2DItem); const Datafield* m_field; ProjectionsData projectionsData(GUI::ID::ProjectionType projectionsType, - IntensityItem* intensityItem); + Data2DItem* data2DItem); QVector<MaskItem*> projectionItems(GUI::ID::ProjectionType projectionsType, - IntensityItem* intensityItem); + Data2DItem* data2DItem); QString projectionFileHeader(ProjectionsData& projectionsData); }; diff --git a/Tests/Unit/GUI/TestAutosaveController.cpp b/Tests/Unit/GUI/TestAutosaveController.cpp index f4eb6bd9a8e..80d64eff860 100644 --- a/Tests/Unit/GUI/TestAutosaveController.cpp +++ b/Tests/Unit/GUI/TestAutosaveController.cpp @@ -1,6 +1,6 @@ #include "Base/Axis/Frame.h" #include "Device/Data/Datafield.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Device/InstrumentItems.h" #include "GUI/Model/Device/RealItem.h" #include "GUI/Model/Project/ProjectUtil.h" @@ -116,10 +116,10 @@ TEST_F(TestAutosaveController, autosaveEnabled) instrument->setInstrumentName("GISAS"); RealItem* realData = UTest::GUI::createRealData("TestData", *document->realModel(), 0., 2); - DataItem* intensityItem = realData->dataItem(); - intensityItem->setSaveInBackground(false); + DataItem* data2DItem = realData->dataItem(); + data2DItem->setSaveInBackground(false); const Frame frame = document->instrumentModel()->instrument2DItems().front()->makeFrame(); - intensityItem->setDatafield({frame.clonedAxes()}); + data2DItem->setDatafield({frame.clonedAxes()}); document->clearModified(); EXPECT_FALSE(document->isModified()); diff --git a/Tests/Unit/GUI/TestProjectDocument.cpp b/Tests/Unit/GUI/TestProjectDocument.cpp index b0b15ad4b38..6e6cddd0086 100644 --- a/Tests/Unit/GUI/TestProjectDocument.cpp +++ b/Tests/Unit/GUI/TestProjectDocument.cpp @@ -1,6 +1,6 @@ #include "Base/Axis/Frame.h" #include "Device/Data/Datafield.h" -#include "GUI/Model/Data/IntensityItem.h" +#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Device/InstrumentItems.h" #include "GUI/Model/Device/RealItem.h" #include "GUI/Model/Model/RealModel.h" @@ -77,11 +77,11 @@ TEST_F(TestProjectDocument, projectDocumentWithData) instrument->setInstrumentName("GISAS"); RealItem* realData = UTest::GUI::createRealData("TestData", *document.realModel(), 0., 2); ASSERT(realData); - DataItem* intensityItem = realData->dataItem(); + DataItem* data2DItem = realData->dataItem(); const Frame frame = document.instrumentModel()->instrument2DItems().front()->makeFrame(); - intensityItem->setDatafield({frame.clonedAxes()}); + data2DItem->setDatafield({frame.clonedAxes()}); - intensityItem->setSaveInBackground(false); + data2DItem->setSaveInBackground(false); document.setProjectDir(projectDir); document.saveProjectFileWithData(projectDir + "/untitled" + ext); -- GitLab