From 24b62e99eba3e8963f80404cbe778c51f28ffd45 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Thu, 14 Mar 2024 11:49:42 +0100 Subject: [PATCH] merge fct updateScene --- GUI/View/Scene/MaskGraphicsScene.cpp | 34 ++++++++++++---------------- GUI/View/Scene/MaskGraphicsScene.h | 3 +-- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/GUI/View/Scene/MaskGraphicsScene.cpp b/GUI/View/Scene/MaskGraphicsScene.cpp index 0e870512d73..ff2a5485d75 100644 --- a/GUI/View/Scene/MaskGraphicsScene.cpp +++ b/GUI/View/Scene/MaskGraphicsScene.cpp @@ -64,7 +64,20 @@ void MaskGraphicsScene::associateItems(Data2DItem* data_item) m_masks_qmodel = masks_qmodel; connect(masks_qmodel->set(), &MasksSet::setChanged, this, &MaskGraphicsScene::updateOverlays); - updateScene(); + + ASSERT(m_data_item); + ASSERT(m_masks); + + clear(); // removes and deletes all items from the scene + m_mask2overlay.clear(); + + m_plot = std::make_unique<ColorMap>(); + m_plot->itemToMap(m_data_item); + + m_proxy = new MaskGraphicsProxy(this, m_plot.get()); + addItem(m_proxy); + + updateOverlays(); } void MaskGraphicsScene::updateSize(const QSize& newSize) @@ -235,25 +248,6 @@ void MaskGraphicsScene::contextMenuEvent(QGraphicsSceneContextMenuEvent* event) // private modifying functions // ************************************************************************************************ -//! Main method to update scene on various changes in the model. - -void MaskGraphicsScene::updateScene() -{ - ASSERT(m_data_item); - ASSERT(m_masks); - - clear(); - m_mask2overlay.clear(); - - m_plot = std::make_unique<ColorMap>(); - m_plot->itemToMap(m_data_item); - - m_proxy = std::make_unique<MaskGraphicsProxy>(this, m_plot.get()); - addItem(m_proxy.get()); - - updateOverlays(); -} - //! Runs through the model and creates corresponding views. void MaskGraphicsScene::updateOverlays() diff --git a/GUI/View/Scene/MaskGraphicsScene.h b/GUI/View/Scene/MaskGraphicsScene.h index 9ddf25c04d0..1b02c0f80bf 100644 --- a/GUI/View/Scene/MaskGraphicsScene.h +++ b/GUI/View/Scene/MaskGraphicsScene.h @@ -62,7 +62,6 @@ private: void drawForeground(QPainter* painter, const QRectF& rect) override; void contextMenuEvent(QGraphicsSceneContextMenuEvent* event) override; - void updateScene(); void updateOverlays(); IOverlay* registerOverlay(OverlayItem* item); void removeOverlay(OverlayItem* item); @@ -87,7 +86,7 @@ private: PolygonOverlay* currentPolygon() const; std::unique_ptr<ColorMap> m_plot; - std::unique_ptr<MaskGraphicsProxy> m_proxy; + MaskGraphicsProxy* m_proxy = nullptr; MasksQModel* m_masks_qmodel = nullptr; MasksSet* m_masks = nullptr; QMap<const OverlayItem*, IOverlay*> m_mask2overlay; -- GitLab