From c08a8fc0a7c3b953ad67dafaca9ccab96531d4c6 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Tue, 4 Jul 2023 18:13:28 +0200 Subject: [PATCH] recklessly rm Coords from GUI --- GUI/Model/Data/DataItem.cpp | 41 +------------------ GUI/Model/Data/DataItem.h | 11 ----- GUI/Model/Data/IntensityDataItem.cpp | 10 ----- GUI/Model/Data/IntensityDataItem.h | 3 -- GUI/Model/Data/SpecularDataItem.cpp | 5 --- GUI/Model/Data/SpecularDataItem.h | 3 -- GUI/Model/Device/RealItem.cpp | 8 +--- GUI/Model/Job/JobItem.cpp | 28 ++----------- GUI/View/Common/DataPropertyWidget.cpp | 16 -------- GUI/View/Common/DataPropertyWidget.h | 1 - .../Common/IntensityDataPropertyWidget.cpp | 4 ++ .../SpecularDataPropertyWidget.cpp | 2 + 12 files changed, 11 insertions(+), 121 deletions(-) diff --git a/GUI/Model/Data/DataItem.cpp b/GUI/Model/Data/DataItem.cpp index ff610bf0c6b..e51476084f4 100644 --- a/GUI/Model/Data/DataItem.cpp +++ b/GUI/Model/Data/DataItem.cpp @@ -41,7 +41,6 @@ const QString y_axis_default_name = "Y [nbins]"; DataItem::DataItem(const QString& modelType) : TYPE(modelType) , m_fileName("undefined") - , m_currentCoord(Coords::NBINS) , m_xAxis(std::make_unique<BasicAxisItem>()) , m_yAxis(std::make_unique<AmplitudeAxisItem>()) , m_last_modified(QDateTime::currentDateTime()) @@ -227,27 +226,6 @@ void DataItem::copyXYRangesFromItem(DataItem* sourceItem) copyYRangeFromItem(sourceItem); } -Coords DataItem::currentCoord() const -{ - return m_currentCoord; -} - -void DataItem::setCurrentCoord(Coords coord) -{ - m_currentCoord = coord; -} - -QString DataItem::currentAxesUnits() const -{ - return GUI::Util::CoordName::nameFromCoord(m_currentCoord); -} - -void DataItem::setCurrentAxesUnits(const QString& units) -{ - m_currentCoord = GUI::Util::CoordName::coordFromName(units); - emit axesUnitsChanged(this); -} - const BasicAxisItem* DataItem::xAxisItem() const { return m_xAxis.get(); @@ -305,11 +283,6 @@ void DataItem::writeTo(QXmlStreamWriter* w) const XML::writeAttribute(w, XML::Attrib::value, m_fileName); w->writeEndElement(); - // axes units - w->writeStartElement(Tag::AxesUnits); - XML::writeAttribute(w, XML::Attrib::value, GUI::Util::CoordName::nameFromCoord(m_currentCoord)); - w->writeEndElement(); - // x axis w->writeStartElement(Tag::XAxis); m_xAxis->writeTo(w); @@ -323,7 +296,7 @@ void DataItem::writeTo(QXmlStreamWriter* w) const void DataItem::readFrom(QXmlStreamReader* r) { - const uint version = XML::readUIntAttribute(r, XML::Attrib::version); + // const uint version = XML::readUIntAttribute(r, XML::Attrib::version); while (r->readNextStartElement()) { QString tag = r->name().toString(); @@ -333,18 +306,6 @@ void DataItem::readFrom(QXmlStreamReader* r) XML::readAttribute(r, XML::Attrib::value, &m_fileName); XML::gotoEndElementOfTag(r, tag); - // axes units - } else if (tag == Tag::AxesUnits) { - QString axes_units; - if (version == 1) { - XML::readAttribute(r, XML::Attrib::name, &axes_units); - if (axes_units.isEmpty()) - axes_units = GUI::Util::CoordName::nameFromCoord(Coords::NBINS); - } else - XML::readAttribute(r, XML::Attrib::value, &axes_units); - m_currentCoord = GUI::Util::CoordName::coordFromName(axes_units); - XML::gotoEndElementOfTag(r, tag); - // x axis } else if (tag == Tag::XAxis) { m_xAxis->readFrom(r); diff --git a/GUI/Model/Data/DataItem.h b/GUI/Model/Data/DataItem.h index 753afb3f061..3bae33528ef 100644 --- a/GUI/Model/Data/DataItem.h +++ b/GUI/Model/Data/DataItem.h @@ -15,7 +15,6 @@ #ifndef BORNAGAIN_GUI_MODEL_DATA_DATAITEM_H #define BORNAGAIN_GUI_MODEL_DATA_DATAITEM_H -#include "Device/Coord/Tags.h" #include "GUI/Model/Data/ComboProperty.h" #include <QDateTime> #include <mutex> @@ -92,15 +91,6 @@ public: void copyYRangeFromItem(DataItem* sourceItem); void copyXYRangesFromItem(DataItem* sourceItem); - // Axes units - Coords currentCoord() const; - void setCurrentCoord(Coords coord); - QString currentAxesUnits() const; - void setCurrentAxesUnits(const QString& units); - - //! Updates data on the change of axes units - virtual void updateCoords(const ICoordSystem& converter) = 0; - const BasicAxisItem* xAxisItem() const; BasicAxisItem* xAxisItem(); const AmplitudeAxisItem* yAxisItem() const; @@ -142,7 +132,6 @@ protected: QString m_fileName; QString m_fileDir; - Coords m_currentCoord; std::unique_ptr<BasicAxisItem> m_xAxis; std::unique_ptr<AmplitudeAxisItem> m_yAxis; diff --git a/GUI/Model/Data/IntensityDataItem.cpp b/GUI/Model/Data/IntensityDataItem.cpp index 9287c9526d8..8ecdafa5896 100644 --- a/GUI/Model/Data/IntensityDataItem.cpp +++ b/GUI/Model/Data/IntensityDataItem.cpp @@ -204,16 +204,6 @@ void IntensityDataItem::setZaxisLocked(bool state) return m_zAxis->setLocked(state); } -void IntensityDataItem::updateCoords(const ICoordSystem& converter) -{ - MaskUnitsConverter mask_converter; - mask_converter.convertToNbins(this); - - GUI::Model::DataItemUtil::updateDataAxes(this, converter); - - mask_converter.convertFromNbins(this); -} - std::vector<int> IntensityDataItem::shape() const { return {xSize(), ySize()}; diff --git a/GUI/Model/Data/IntensityDataItem.h b/GUI/Model/Data/IntensityDataItem.h index ae231587a22..a6c0bed138d 100644 --- a/GUI/Model/Data/IntensityDataItem.h +++ b/GUI/Model/Data/IntensityDataItem.h @@ -90,9 +90,6 @@ public: bool hasMasks() const; bool hasProjections() const; - //! Updates data on the change of axes units - void updateCoords(const ICoordSystem& converter) override; - //! Returns dimensions and axesbins of data std::vector<int> shape() const override; diff --git a/GUI/Model/Data/SpecularDataItem.cpp b/GUI/Model/Data/SpecularDataItem.cpp index c97c9e54149..4efda224836 100644 --- a/GUI/Model/Data/SpecularDataItem.cpp +++ b/GUI/Model/Data/SpecularDataItem.cpp @@ -108,11 +108,6 @@ void SpecularDataItem::setLog(bool islog) yAxisItem()->setLogScale(islog); } -void SpecularDataItem::updateCoords(const ICoordSystem& converter) -{ - GUI::Model::DataItemUtil::updateDataAxes(this, converter); -} - std::vector<int> SpecularDataItem::shape() const { return {xSize()}; diff --git a/GUI/Model/Data/SpecularDataItem.h b/GUI/Model/Data/SpecularDataItem.h index e7f410ff4e8..cc3c744ff0b 100644 --- a/GUI/Model/Data/SpecularDataItem.h +++ b/GUI/Model/Data/SpecularDataItem.h @@ -42,9 +42,6 @@ public: bool isLog() const; void setLog(bool islog); - //! Updates data on the change of axes units - void updateCoords(const ICoordSystem&) override; - //! Returns dimensions and axesbins of data std::vector<int> shape() const override; diff --git a/GUI/Model/Device/RealItem.cpp b/GUI/Model/Device/RealItem.cpp index 8bcbf99deeb..87dc8edd180 100644 --- a/GUI/Model/Device/RealItem.cpp +++ b/GUI/Model/Device/RealItem.cpp @@ -443,14 +443,8 @@ void RealItem::updateToInstrument(const InstrumentItem* instrument) if (!data_item) return; - if (instrument) { - // To keep the same units after linking, just comment lines. - // To switch to certain units on linking, uncomment lines. - // dataItem()->setCurrentCoord(Coords::DEGREES); - // const auto converter = instrument->createCoordSystem(); - // dataItem()->updateCoords(*converter); + if (instrument) return; - } // instrument == nullptr => unlinking => going back to native data if (isSpecularData()) { diff --git a/GUI/Model/Job/JobItem.cpp b/GUI/Model/Job/JobItem.cpp index ca62bee4388..f2d8a376548 100644 --- a/GUI/Model/Job/JobItem.cpp +++ b/GUI/Model/Job/JobItem.cpp @@ -293,19 +293,6 @@ void JobItem::createSimulatedDataItem() { ASSERT(!simulatedDataItem()); m_simulatedDataItem.reset(createNewDataItem()); - - // Set default axes units for simulated data. - // Can be overriden by units from RealItem - if (instrumentItem()->is<SpecularInstrumentItem>()) - m_simulatedDataItem->setCurrentCoord(Coords::QSPACE); - else if (instrumentItem()->is<GISASInstrumentItem>()) - m_simulatedDataItem->setCurrentCoord(Coords::QSPACE); - else if (instrumentItem()->is<OffspecInstrumentItem>()) - m_simulatedDataItem->setCurrentCoord(Coords::DEGREES); // Coords::QSPACE is unsupported - else if (instrumentItem()->is<DepthprobeInstrumentItem>()) - m_simulatedDataItem->setCurrentCoord(Coords::QSPACE); - else - ASSERT(false); } IntensityDataItem* JobItem::intensityDataItem() @@ -325,8 +312,7 @@ DataItem* JobItem::createDiffDataItem() // use the same axes units as for real data ASSERT(m_realItem); - Coords coords = m_realItem->dataItem()->currentCoord(); - m_diffDataItem->setCurrentCoord(coords); + // TODO // update axes labels const auto converter = instrumentItem()->createCoordSystem(); @@ -358,7 +344,7 @@ void JobItem::copyRealItemIntoJob(const RealItem* srcRealItem) // override axes units of simulated data ASSERT(m_simulatedDataItem); - m_simulatedDataItem->setCurrentCoord(m_realItem->dataItem()->currentCoord()); + // m_simulatedDataItem->setCurrentCoord(m_realItem->dataItem()->currentCoord()); if (isSpecularJob()) m_realItem->specularDataItem()->setRealPlotStyle(); @@ -380,18 +366,10 @@ void JobItem::adjustReaDataToJobInstrument() // Seems that degrees are default units in detector, so we should use the same units here, // but if we change 'converter->defaultUnits()' to, for example, radians, here we still // should use 'Coords::DEGREES'. So the reason lies deeper. - Coords backup_coord = m_realItem->dataItem()->currentCoord(); - m_realItem->dataItem()->setCurrentCoord(Coords::DEGREES); const auto converter = instrumentItem()->createCoordSystem(); - realItem()->dataItem()->updateCoords(*converter); importMasksFromRealItem(); // Copy masks and ROI from RealItem on board of instrument. - - // convert units back - m_realItem->dataItem()->setCurrentCoord(backup_coord); - realItem()->dataItem()->updateCoords(*converter); - - cropRealData(); // Crop RealItem to the region of interest. + cropRealData(); // Crop RealItem to the region of interest. } } diff --git a/GUI/View/Common/DataPropertyWidget.cpp b/GUI/View/Common/DataPropertyWidget.cpp index 0c1337871f9..bb8eebd5c0b 100644 --- a/GUI/View/Common/DataPropertyWidget.cpp +++ b/GUI/View/Common/DataPropertyWidget.cpp @@ -45,8 +45,6 @@ void DataPropertyWidget::updateItemCoords(DataItem* item) if (instrumentItem()) { item->blockSignals(true); - const auto converter = instrumentItem()->createCoordSystem(); - item->updateCoords(*converter); item->blockSignals(false); emit item->axesUnitsReplotRequested(); } @@ -73,17 +71,3 @@ InstrumentItem* DataPropertyWidget::instrumentItem() ASSERT(false); return nullptr; } - -QStringList DataPropertyWidget::axesUnitsList() -{ - QStringList list; - if (!instrumentItem()) { - ASSERT(realItem()); - list << realItem()->dataItem()->currentAxesUnits(); - } else { - const auto converter = instrumentItem()->createCoordSystem(); - ASSERT(converter); - list = GUI::Model::DataItemUtil::availableUnits(*converter); - } - return list; -} diff --git a/GUI/View/Common/DataPropertyWidget.h b/GUI/View/Common/DataPropertyWidget.h index 9984ac9ecc3..c9125ddad66 100644 --- a/GUI/View/Common/DataPropertyWidget.h +++ b/GUI/View/Common/DataPropertyWidget.h @@ -37,7 +37,6 @@ protected: virtual void createPanelElements() = 0; InstrumentItem* instrumentItem(); - QStringList axesUnitsList(); QFormLayout* m_mainLayout; QList<std::function<void()>> m_updaters; diff --git a/GUI/View/Common/IntensityDataPropertyWidget.cpp b/GUI/View/Common/IntensityDataPropertyWidget.cpp index bb9f8f9b2e4..f1ff5994ba3 100644 --- a/GUI/View/Common/IntensityDataPropertyWidget.cpp +++ b/GUI/View/Common/IntensityDataPropertyWidget.cpp @@ -50,6 +50,7 @@ void IntensityDataPropertyWidget::createPanelElements() GUI::Util::Layout::clearLayout(m_mainLayout); m_updaters.clear(); + /* m_mainLayout->addRow("Axes units:", GUI::Util::createUnitsComboBox( axesUnitsList(), @@ -61,6 +62,7 @@ void IntensityDataPropertyWidget::createPanelElements() gProjectDocument.value()->setModified(); }, &m_updaters)); + */ m_mainLayout->addRow( "Color scheme:", @@ -210,7 +212,9 @@ void IntensityDataPropertyWidget::createPanelElements() &IntensityDataPropertyWidget::updateUIValues, Qt::UniqueConnection); // update coordinates on axes units change + /* for (auto item : allIntensityDataItems()) connect(item, &DataItem::axesUnitsChanged, this, &IntensityDataPropertyWidget::updateItemCoords, Qt::UniqueConnection); + */ } diff --git a/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp b/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp index 79f2090d5f4..d752927085d 100644 --- a/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp +++ b/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp @@ -42,6 +42,7 @@ void SpecularDataPropertyWidget::createPanelElements() GUI::Util::Layout::clearLayout(m_mainLayout); m_updaters.clear(); + /* m_mainLayout->addRow("Axes units:", GUI::Util::createUnitsComboBox( axesUnitsList(), @@ -53,6 +54,7 @@ void SpecularDataPropertyWidget::createPanelElements() gProjectDocument.value()->setModified(); }, &m_updaters)); + */ // -- x-axis auto* xGroup = new QGroupBox("X axis", this); -- GitLab