diff --git a/GUI/Model/Data/Data2DItem.cpp b/GUI/Model/Data/Data2DItem.cpp index 778141e974a2d4a7dff47c566c9dbc2f7050fb3b..ca4527487a262d90985ef9c27dfffe8ca1bda7f5 100644 --- a/GUI/Model/Data/Data2DItem.cpp +++ b/GUI/Model/Data/Data2DItem.cpp @@ -130,6 +130,11 @@ void Data2DItem::copyZRangeFromItem(DataItem* sourceItem) setZrange(source->lowerZ(), source->upperZ()); } +bool Data2DItem::isZoomed() const +{ + return lowerX() > xMin() || upperX() < xMax() || lowerY() > yMin() || upperY() < yMax(); +} + QCPColorGradient Data2DItem::currentGradientQCP() const { if (gradient_map.contains(currentGradient())) diff --git a/GUI/Model/Data/Data2DItem.h b/GUI/Model/Data/Data2DItem.h index e7cf0075e06a66dffb907d4e05cb3de7ac291845..097aa8f024dd55dd1ec3b0e07bc910b1c0fd5f7e 100644 --- a/GUI/Model/Data/Data2DItem.h +++ b/GUI/Model/Data/Data2DItem.h @@ -48,6 +48,7 @@ public: double upperZ() const; void setZrange(double zmin, double zmax); void copyZRangeFromItem(DataItem* sourceItem); + bool isZoomed() const; //! Color scheme of the color map QCPColorGradient currentGradientQCP() const; diff --git a/GUI/View/Mask/MaskEditorCanvas.cpp b/GUI/View/Mask/MaskEditorCanvas.cpp index f0164c088293a49ff0f8cf2fe104b1be8403b8c2..14089a9872d7ae1531e3477bcff1c3a087be5ce4 100644 --- a/GUI/View/Mask/MaskEditorCanvas.cpp +++ b/GUI/View/Mask/MaskEditorCanvas.cpp @@ -101,30 +101,13 @@ void MaskEditorCanvas::onResetViewRequest() { m_view->onResetViewRequest(); - if (isAxisRangeMatchData()) - setZoomToROI(); - else + if (m_data2DItem->isZoomed()) m_data2DItem->resetView(); + else + setZoomToROI(); gProjectDocument.value()->setModified(); } -//! Returns true if IntensityData is currently at 100% zoom level - -bool MaskEditorCanvas::isAxisRangeMatchData() const -{ - ASSERT(m_data2DItem); - - if (m_data2DItem->lowerX() != m_data2DItem->xMin()) - return false; - if (m_data2DItem->upperX() != m_data2DItem->xMax()) - return false; - if (m_data2DItem->lowerY() != m_data2DItem->yMin()) - return false; - if (m_data2DItem->upperY() != m_data2DItem->yMax()) - return false; - return true; -} - void MaskEditorCanvas::setZoomToROI() { if (MaskContainerItem* maskContainer = m_data2DItem->maskContainerItem()) { diff --git a/GUI/View/Mask/MaskEditorCanvas.h b/GUI/View/Mask/MaskEditorCanvas.h index f47e6bf840bd4a3edfbffed5cc7d292f254957da..502864ce888dd90c078b5fbd8de03a8c6a6dfd07 100644 --- a/GUI/View/Mask/MaskEditorCanvas.h +++ b/GUI/View/Mask/MaskEditorCanvas.h @@ -52,7 +52,6 @@ public slots: void onResetViewRequest(); private: - bool isAxisRangeMatchData() const; void setZoomToROI(); MaskGraphicsScene* m_scene;