Skip to content
Snippets Groups Projects
Commit 97c8f8a5 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

decouple MaskGraphicsProxy from SceneAdaptor

parent f625a5b3
No related branches found
No related tags found
1 merge request!2101cleanup of GUI/Masks ctd; decouple MaskGraphicsProxy from SceneAdaptor
...@@ -15,24 +15,17 @@ ...@@ -15,24 +15,17 @@
#include "GUI/View/Mask/MaskGraphicsProxy.h" #include "GUI/View/Mask/MaskGraphicsProxy.h"
#include "GUI/Model/Data/Data2DItem.h" #include "GUI/Model/Data/Data2DItem.h"
#include "GUI/View/PlotUtil/ColorMap.h" #include "GUI/View/PlotUtil/ColorMap.h"
#include "GUI/View/Shape/SceneAdaptor.h"
#include <QGraphicsSceneMouseEvent> #include <QGraphicsSceneMouseEvent>
MaskGraphicsProxy::MaskGraphicsProxy() MaskGraphicsProxy::MaskGraphicsProxy()
: m_colorMap(new ColorMap) : m_colorMap(new ColorMap)
, m_sceneAdaptor(nullptr)
, m_send_signals_to_colormap(false) , m_send_signals_to_colormap(false)
{ {
resize(1200, 1000); resize(1200, 1000);
setInZoomMode(true); setInZoomMode(true);
} }
MaskGraphicsProxy::~MaskGraphicsProxy() MaskGraphicsProxy::~MaskGraphicsProxy() = default;
{
// no need to delete m_colorMap, base QGraphicsProxyWidget will take care about it
if (m_sceneAdaptor)
m_sceneAdaptor->setColorMapPlot(nullptr);
}
void MaskGraphicsProxy::itemToMGProxy(Data2DItem* item) void MaskGraphicsProxy::itemToMGProxy(Data2DItem* item)
{ {
...@@ -41,13 +34,6 @@ void MaskGraphicsProxy::itemToMGProxy(Data2DItem* item) ...@@ -41,13 +34,6 @@ void MaskGraphicsProxy::itemToMGProxy(Data2DItem* item)
setWidget(m_colorMap); 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 //! 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. //! ColorMap plot. In non-zoom mode, widget doesn't react on clicks.
void MaskGraphicsProxy::setInZoomMode(bool value) void MaskGraphicsProxy::setInZoomMode(bool value)
......
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
class ColorMap; class ColorMap;
class Data2DItem; class Data2DItem;
class SceneAdaptor;
//! Graphics proxy to place QWidget inside QGraphicsScene, used by MaskEditorCanvas. //! Graphics proxy to place QWidget inside QGraphicsScene, used by MaskEditorCanvas.
...@@ -33,7 +32,6 @@ public: ...@@ -33,7 +32,6 @@ public:
int type() const override { return MaskType::MASKGRAPHICSPROXY; } int type() const override { return MaskType::MASKGRAPHICSPROXY; }
void itemToMGProxy(Data2DItem* item); void itemToMGProxy(Data2DItem* item);
void setSceneAdaptor(SceneAdaptor* sceneAdaptor);
void setInZoomMode(bool value); void setInZoomMode(bool value);
ColorMap* colorMap() { return m_colorMap; } ColorMap* colorMap() { return m_colorMap; }
...@@ -45,7 +43,6 @@ private: ...@@ -45,7 +43,6 @@ private:
void wheelEvent(QGraphicsSceneWheelEvent* event) override; void wheelEvent(QGraphicsSceneWheelEvent* event) override;
ColorMap* m_colorMap; ColorMap* m_colorMap;
SceneAdaptor* m_sceneAdaptor;
bool m_send_signals_to_colormap; bool m_send_signals_to_colormap;
}; };
......
...@@ -39,11 +39,7 @@ MaskGraphicsScene::MaskGraphicsScene(QObject* parent) ...@@ -39,11 +39,7 @@ MaskGraphicsScene::MaskGraphicsScene(QObject* parent)
&MaskGraphicsScene::onSceneSelectionChanged, Qt::UniqueConnection); &MaskGraphicsScene::onSceneSelectionChanged, Qt::UniqueConnection);
} }
MaskGraphicsScene::~MaskGraphicsScene() MaskGraphicsScene::~MaskGraphicsScene() = default;
{
if (m_proxy)
m_proxy->setSceneAdaptor(nullptr);
}
void MaskGraphicsScene::setAssociatedItems(Data2DItem* data2DItem, void MaskGraphicsScene::setAssociatedItems(Data2DItem* data2DItem,
MaskContainerItem* maskContainerItem) MaskContainerItem* maskContainerItem)
...@@ -370,7 +366,7 @@ void MaskGraphicsScene::updateProxyWidget() ...@@ -370,7 +366,7 @@ void MaskGraphicsScene::updateProxyWidget()
m_proxy = new MaskGraphicsProxy; // TODO: check if m_proxy is released at the end m_proxy = new MaskGraphicsProxy; // TODO: check if m_proxy is released at the end
m_proxy->setParent(this); m_proxy->setParent(this);
m_proxy->itemToMGProxy(m_data2DItem); m_proxy->itemToMGProxy(m_data2DItem);
m_proxy->setSceneAdaptor(m_adaptor.data()); m_adaptor->setColorMapPlot(m_proxy->colorMap());
addItem(m_proxy); addItem(m_proxy);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment