diff --git a/GUI/coregui/Models/SpecularDataItem.cpp b/GUI/coregui/Models/SpecularDataItem.cpp index 756f409376734c6721b0bcd51add7cf0c864694f..158b6babe6743d0c9c28c9d1dbdfb29edf654875 100644 --- a/GUI/coregui/Models/SpecularDataItem.cpp +++ b/GUI/coregui/Models/SpecularDataItem.cpp @@ -23,9 +23,8 @@ const QString SpecularDataItem::P_AXES_UNITS = "Axes Units"; const QString SpecularDataItem::P_TITLE = "Title"; const QString SpecularDataItem::P_XAXIS = "x-axis"; const QString SpecularDataItem::P_YAXIS = "y-axis"; -const QString SpecularDataItem::P_FILE_NAME = "FileName"; -SpecularDataItem::SpecularDataItem() : SessionItem(Constants::SpecularDataType) +SpecularDataItem::SpecularDataItem() : DataItem(Constants::SpecularDataType) { ComboProperty units = ComboProperty() << Constants::UnitsNbins; addProperty(P_AXES_UNITS, units.variant()); @@ -45,27 +44,11 @@ SpecularDataItem::SpecularDataItem() : SessionItem(Constants::SpecularDataType) setXaxisTitle("X [nbins]"); setYaxisTitle("Signal [a.u.]"); - - // name of the file used to serialize given SpecularDataItem - addProperty(P_FILE_NAME, QStringLiteral("undefined"))->setVisible(false); - - mapper()->setOnPropertyChange([this](const QString& name) - { - if(name == P_FILE_NAME) - setLastModified(QDateTime::currentDateTime()); - }); - - mapper()->setOnValueChange([this]() - { - // OutputData was modified - setLastModified(QDateTime::currentDateTime()); - }); } void SpecularDataItem::setOutputData(OutputData<double>* data) { - Q_ASSERT(data); - m_data.reset(data); + DataItem::setOutputData(data); updateAxesZoomLevel(); updateAxesLabels(); @@ -78,11 +61,7 @@ void SpecularDataItem::setOutputData(OutputData<double>* data) void SpecularDataItem::setRawDataVector(const OutputData<double>* data) { - if (!m_data->hasSameDimensions(*data)) { - throw GUIHelpers::Error("SpecularDataItem::setRawDataVector() -> Error. " - "Different dimensions of data."); - } - m_data->setRawDataVector(data->getRawDataVector()); + DataItem::setRawDataVector(data); emitDataChanged(); } @@ -158,12 +137,6 @@ QString SpecularDataItem::selectedAxesUnits() const return combo.getValue(); } -QString SpecularDataItem::fileName(const QString& projectDir) const -{ - QString filename = getItemValue(SpecularDataItem::P_FILE_NAME).toString(); - return projectDir.isEmpty() ? filename : projectDir + QStringLiteral("/") + filename; -} - void SpecularDataItem::setLowerX(double xmin) { getItem(P_XAXIS)->setItemValue(BasicAxisItem::P_MIN, xmin); @@ -283,13 +256,3 @@ void SpecularDataItem::resetView() setAxesRangeToData(); computeDataRange(); } - -QDateTime SpecularDataItem::lastModified() const -{ - return m_last_modified; -} - -void SpecularDataItem::setLastModified(const QDateTime &dtime) -{ - m_last_modified = dtime; -} diff --git a/GUI/coregui/Models/SpecularDataItem.h b/GUI/coregui/Models/SpecularDataItem.h index 2912ac3012e0a72e35373f660d93181cdcc9571c..2ec6db95f62de2563b33f57b8f863585c5026c4a 100644 --- a/GUI/coregui/Models/SpecularDataItem.h +++ b/GUI/coregui/Models/SpecularDataItem.h @@ -15,30 +15,25 @@ #ifndef SPECULARDATAITEM_H #define SPECULARDATAITEM_H -#include "SessionItem.h" -#include "OutputData.h" -#include <QDateTime> +#include "DataItem.h" class AmplitudeAxisItem; class BasicAxisItem; class MaskContainerItem; class ProjectionContainerItem; -class BA_CORE_API_ SpecularDataItem : public SessionItem +class BA_CORE_API_ SpecularDataItem : public DataItem { public: static const QString P_TITLE; static const QString P_AXES_UNITS; static const QString P_XAXIS; static const QString P_YAXIS; - static const QString P_FILE_NAME; SpecularDataItem(); - OutputData<double>* getOutputData() { return m_data.get(); } - const OutputData<double>* getOutputData() const { return m_data.get(); } - void setOutputData(OutputData<double>* data); - void setRawDataVector(const OutputData<double>* data); + void setOutputData(OutputData<double>* data) override; + void setRawDataVector(const OutputData<double>* data) override; //! Number of bins in data int getNbins() const; @@ -65,8 +60,6 @@ public: QString selectedAxesUnits() const; - QString fileName(const QString& projectDir = QString()) const; - void updateDataRange(); void computeDataRange(); QPair<double, double> dataRange() const; @@ -77,9 +70,6 @@ public: void resetView(); - QDateTime lastModified() const; - void setLastModified(const QDateTime& dtime); - public slots: void setLowerX(double xmin); void setUpperX(double xmax); @@ -93,9 +83,6 @@ public slots: private: void updateAxesZoomLevel(); void updateAxesLabels(); - - std::unique_ptr<OutputData<double>> m_data; //!< simulation results - QDateTime m_last_modified; }; #endif // SPECULARDATAITEM_H