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