From 97c8f8a56c840c4c704697c871d97ffb6a36fb26 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Thu, 9 Nov 2023 18:17:57 +0100 Subject: [PATCH] decouple MaskGraphicsProxy from SceneAdaptor --- GUI/View/Mask/MaskGraphicsProxy.cpp | 16 +--------------- GUI/View/Mask/MaskGraphicsProxy.h | 3 --- GUI/View/Mask/MaskGraphicsScene.cpp | 8 ++------ 3 files changed, 3 insertions(+), 24 deletions(-) diff --git a/GUI/View/Mask/MaskGraphicsProxy.cpp b/GUI/View/Mask/MaskGraphicsProxy.cpp index 89e0996185e..38ff13894b3 100644 --- a/GUI/View/Mask/MaskGraphicsProxy.cpp +++ b/GUI/View/Mask/MaskGraphicsProxy.cpp @@ -15,24 +15,17 @@ #include "GUI/View/Mask/MaskGraphicsProxy.h" #include "GUI/Model/Data/Data2DItem.h" #include "GUI/View/PlotUtil/ColorMap.h" -#include "GUI/View/Shape/SceneAdaptor.h" #include <QGraphicsSceneMouseEvent> MaskGraphicsProxy::MaskGraphicsProxy() : m_colorMap(new ColorMap) - , m_sceneAdaptor(nullptr) , m_send_signals_to_colormap(false) { resize(1200, 1000); setInZoomMode(true); } -MaskGraphicsProxy::~MaskGraphicsProxy() -{ - // no need to delete m_colorMap, base QGraphicsProxyWidget will take care about it - if (m_sceneAdaptor) - m_sceneAdaptor->setColorMapPlot(nullptr); -} +MaskGraphicsProxy::~MaskGraphicsProxy() = default; void MaskGraphicsProxy::itemToMGProxy(Data2DItem* item) { @@ -41,13 +34,6 @@ void MaskGraphicsProxy::itemToMGProxy(Data2DItem* item) setWidget(m_colorMap); } -void MaskGraphicsProxy::setSceneAdaptor(SceneAdaptor* sceneAdaptor) -{ - m_sceneAdaptor = sceneAdaptor; - if (m_sceneAdaptor) - m_sceneAdaptor->setColorMapPlot(m_colorMap); -} - //! Sets widget to zoom mode, when signals (zoom wheel, mouse clicks) are send down to //! ColorMap plot. In non-zoom mode, widget doesn't react on clicks. void MaskGraphicsProxy::setInZoomMode(bool value) diff --git a/GUI/View/Mask/MaskGraphicsProxy.h b/GUI/View/Mask/MaskGraphicsProxy.h index 875784694ba..74e5512770d 100644 --- a/GUI/View/Mask/MaskGraphicsProxy.h +++ b/GUI/View/Mask/MaskGraphicsProxy.h @@ -20,7 +20,6 @@ class ColorMap; class Data2DItem; -class SceneAdaptor; //! Graphics proxy to place QWidget inside QGraphicsScene, used by MaskEditorCanvas. @@ -33,7 +32,6 @@ public: int type() const override { return MaskType::MASKGRAPHICSPROXY; } void itemToMGProxy(Data2DItem* item); - void setSceneAdaptor(SceneAdaptor* sceneAdaptor); void setInZoomMode(bool value); ColorMap* colorMap() { return m_colorMap; } @@ -45,7 +43,6 @@ private: void wheelEvent(QGraphicsSceneWheelEvent* event) override; ColorMap* m_colorMap; - SceneAdaptor* m_sceneAdaptor; bool m_send_signals_to_colormap; }; diff --git a/GUI/View/Mask/MaskGraphicsScene.cpp b/GUI/View/Mask/MaskGraphicsScene.cpp index 0fbe467db14..a220302471a 100644 --- a/GUI/View/Mask/MaskGraphicsScene.cpp +++ b/GUI/View/Mask/MaskGraphicsScene.cpp @@ -39,11 +39,7 @@ MaskGraphicsScene::MaskGraphicsScene(QObject* parent) &MaskGraphicsScene::onSceneSelectionChanged, Qt::UniqueConnection); } -MaskGraphicsScene::~MaskGraphicsScene() -{ - if (m_proxy) - m_proxy->setSceneAdaptor(nullptr); -} +MaskGraphicsScene::~MaskGraphicsScene() = default; void MaskGraphicsScene::setAssociatedItems(Data2DItem* data2DItem, MaskContainerItem* maskContainerItem) @@ -370,7 +366,7 @@ void MaskGraphicsScene::updateProxyWidget() m_proxy = new MaskGraphicsProxy; // TODO: check if m_proxy is released at the end m_proxy->setParent(this); m_proxy->itemToMGProxy(m_data2DItem); - m_proxy->setSceneAdaptor(m_adaptor.data()); + m_adaptor->setColorMapPlot(m_proxy->colorMap()); addItem(m_proxy); } -- GitLab