Skip to content
Snippets Groups Projects

make mask and projection classes more similar

Merged Wuttke, Joachim requested to merge j.0 into main
Files
5
@@ -77,7 +77,19 @@ void ProjectionsEditorCanvas::updateCanvas(Data2DItem* data2DItem)
m_data2DItem = data2DItem;
setColorMap(m_scene->colorMap());
auto* cm = m_scene->colorMap();
ASSERT(cm);
connect(cm->eventHelper(), &PlotEventHelper::enteringPlot, this,
&ProjectionsEditorCanvas::onEnteringColorMap, Qt::UniqueConnection);
connect(cm->eventHelper(), &PlotEventHelper::leavingPlot, this,
&ProjectionsEditorCanvas::onLeavingColorMap, Qt::UniqueConnection);
connect(cm->eventHelper(), &PlotEventHelper::positionChanged, this,
&ProjectionsEditorCanvas::onPositionChanged, Qt::UniqueConnection);
connect(cm, &ColorMap::marginsChanged, this, &ProjectionsEditorCanvas::marginsChanged,
Qt::UniqueConnection);
m_statusLabel->reset();
m_statusLabel->addPlot(cm);
onLeavingColorMap();
m_scene->onActivityChanged(m_currentActivity);
@@ -85,9 +97,17 @@ void ProjectionsEditorCanvas::updateCanvas(Data2DItem* data2DItem)
void ProjectionsEditorCanvas::resetCanvas()
{
setConnected(false);
auto* cm = m_scene->colorMap();
ASSERT(cm);
disconnect(cm->eventHelper(), &PlotEventHelper::enteringPlot, this,
&ProjectionsEditorCanvas::onEnteringColorMap);
disconnect(cm->eventHelper(), &PlotEventHelper::leavingPlot, this,
&ProjectionsEditorCanvas::onLeavingColorMap);
disconnect(cm->eventHelper(), &PlotEventHelper::positionChanged, this,
&ProjectionsEditorCanvas::onPositionChanged);
disconnect(cm, &ColorMap::marginsChanged, this, &ProjectionsEditorCanvas::marginsChanged);
m_data2DItem = nullptr;
m_colorMap = nullptr;
m_scene->dissociateItems();
}
@@ -139,42 +159,3 @@ void ProjectionsEditorCanvas::setProjectionsCanvasMode(MaskFlags::MaskMode mask_
m_scene->onActivityChanged(mask_mode);
onLeavingColorMap();
}
void ProjectionsEditorCanvas::setColorMap(ColorMap* colorMap)
{
ASSERT(colorMap);
m_colorMap = colorMap;
setConnected(true);
m_statusLabel->reset();
m_statusLabel->addPlot(colorMap);
}
void ProjectionsEditorCanvas::setConnected(bool isConnected)
{
if (!m_colorMap)
return;
if (isConnected) {
connect(m_colorMap->eventHelper(), &PlotEventHelper::enteringPlot, this,
&ProjectionsEditorCanvas::onEnteringColorMap, Qt::UniqueConnection);
connect(m_colorMap->eventHelper(), &PlotEventHelper::leavingPlot, this,
&ProjectionsEditorCanvas::onLeavingColorMap, Qt::UniqueConnection);
connect(m_colorMap->eventHelper(), &PlotEventHelper::positionChanged, this,
&ProjectionsEditorCanvas::onPositionChanged, Qt::UniqueConnection);
connect(m_colorMap, &ColorMap::marginsChanged, this,
&ProjectionsEditorCanvas::marginsChanged, Qt::UniqueConnection);
}
else {
disconnect(m_colorMap->eventHelper(), &PlotEventHelper::enteringPlot, this,
&ProjectionsEditorCanvas::onEnteringColorMap);
disconnect(m_colorMap->eventHelper(), &PlotEventHelper::leavingPlot, this,
&ProjectionsEditorCanvas::onLeavingColorMap);
disconnect(m_colorMap->eventHelper(), &PlotEventHelper::positionChanged, this,
&ProjectionsEditorCanvas::onPositionChanged);
disconnect(m_colorMap, &ColorMap::marginsChanged, this,
&ProjectionsEditorCanvas::marginsChanged);
}
}
Loading