From 8c0c203a13979d8d8b5972118ceb7625da86d102 Mon Sep 17 00:00:00 2001
From: Mikhail Svechnikov <svechnikovmv@gmail.com>
Date: Fri, 15 Jul 2022 22:56:12 +0200
Subject: [PATCH] ColorMapCanvas: just QWidget

---
 GUI/View/Plot2D/ColorMap.cpp                 |  2 +-
 GUI/View/Plot2D/ColorMapCanvas.cpp           | 12 ++----------
 GUI/View/Plot2D/ColorMapCanvas.h             | 10 +++-------
 GUI/View/Plot2D/IntensityDataCanvas.cpp      | 12 ++++++------
 GUI/View/Plot2D/IntensityDataCanvas.h        |  2 +-
 GUI/View/PlotSpecular/SpecularPlotCanvas.cpp |  2 +-
 6 files changed, 14 insertions(+), 26 deletions(-)

diff --git a/GUI/View/Plot2D/ColorMap.cpp b/GUI/View/Plot2D/ColorMap.cpp
index 67e71df76ef..7d66ee07727 100644
--- a/GUI/View/Plot2D/ColorMap.cpp
+++ b/GUI/View/Plot2D/ColorMap.cpp
@@ -49,7 +49,7 @@ ColorMap::ColorMap(QWidget* parent)
     //    setFixedColorMapMargins();
 }
 
-void ColorMap::setDataItem(DataItem *dataItem)
+void ColorMap::setDataItem(DataItem* dataItem)
 {
     ScientificPlot::setDataItem(dataItem);
     setColorMapFromItem();
diff --git a/GUI/View/Plot2D/ColorMapCanvas.cpp b/GUI/View/Plot2D/ColorMapCanvas.cpp
index c234238aeae..6b0c67e16d0 100644
--- a/GUI/View/Plot2D/ColorMapCanvas.cpp
+++ b/GUI/View/Plot2D/ColorMapCanvas.cpp
@@ -17,12 +17,10 @@
 #include "GUI/View/Plot2D/ColorMap.h"
 #include "GUI/View/PlotUtil/FontScalingEvent.h"
 #include "GUI/View/PlotUtil/PlotStatusLabel.h"
-#include <QLabel>
-#include <QVBoxLayout>
 
 ColorMapCanvas::ColorMapCanvas(QWidget* parent)
-    : SessionItemWidget(parent)
-    , m_colorMap(new ColorMap)
+    : QWidget(parent)
+    , m_colorMap(new ColorMap(this))
     , m_canvasEvent(new FontScalingEvent(m_colorMap, this))
     , m_statusLabel(new PlotStatusLabel(m_colorMap, this))
 {
@@ -41,7 +39,6 @@ ColorMapCanvas::ColorMapCanvas(QWidget* parent)
 
 void ColorMapCanvas::setIntensityItem(IntensityDataItem* intensityDataItem)
 {
-    SessionItemWidget::setItem(intensityDataItem);
     m_colorMap->setDataItem(intensityDataItem);
 }
 
@@ -60,8 +57,3 @@ void ColorMapCanvas::setStatusLabelEnabled(bool flag)
     m_statusLabel->setLabelEnabled(flag);
     m_statusLabel->setHidden(!flag);
 }
-
-void ColorMapCanvas::onStatusString(const QString& name)
-{
-    m_statusLabel->setText(name);
-}
diff --git a/GUI/View/Plot2D/ColorMapCanvas.h b/GUI/View/Plot2D/ColorMapCanvas.h
index eb1f8df3622..1be00635776 100644
--- a/GUI/View/Plot2D/ColorMapCanvas.h
+++ b/GUI/View/Plot2D/ColorMapCanvas.h
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_GUI_VIEW_PLOTUTIL_COLORMAPCANVAS_H
 #define BORNAGAIN_GUI_VIEW_PLOTUTIL_COLORMAPCANVAS_H
 
-#include "GUI/View/Common/SessionItemWidget.h"
+#include <QWidget>
 
 class ColorMap;
 class FontScalingEvent;
@@ -24,10 +24,9 @@ class PlotStatusLabel;
 class QCustomPlot;
 
 //! The ColorMapCanvas class contains ColorMap for intensity data presentation, and provide
-//! control of font size, status string appearance, defines common actions
-//! (reset view, save plot, show context menu).
+//! control of font size, status string appearance
 
-class ColorMapCanvas : public SessionItemWidget {
+class ColorMapCanvas : public QWidget {
     Q_OBJECT
 
 public:
@@ -40,9 +39,6 @@ public:
 
     void setStatusLabelEnabled(bool flag);
 
-public slots:
-    void onStatusString(const QString& name);
-
 private:
     ColorMap* m_colorMap;
     FontScalingEvent* m_canvasEvent;
diff --git a/GUI/View/Plot2D/IntensityDataCanvas.cpp b/GUI/View/Plot2D/IntensityDataCanvas.cpp
index 704fbbbfa2d..16996f9acce 100644
--- a/GUI/View/Plot2D/IntensityDataCanvas.cpp
+++ b/GUI/View/Plot2D/IntensityDataCanvas.cpp
@@ -40,7 +40,7 @@ const QString SettingsKeyInterpolation = SettingsGroup + "Interpolation";
 
 IntensityDataCanvas::IntensityDataCanvas(QWidget* parent)
     : SessionItemWidget(parent)
-    , m_colorMap(new ColorMapCanvas)
+    , m_colorMapCanvas(new ColorMapCanvas(this))
     , m_resetViewAction(nullptr)
     , m_rotateDataAction(nullptr)
     , m_savePlotAction(nullptr)
@@ -50,21 +50,21 @@ IntensityDataCanvas::IntensityDataCanvas(QWidget* parent)
     auto* layout = new QVBoxLayout;
     layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
-    layout->addWidget(m_colorMap);
+    layout->addWidget(m_colorMapCanvas);
     setLayout(layout);
 
-    m_colorMap->setStatusLabelEnabled(true);
+    m_colorMapCanvas->setStatusLabelEnabled(true);
 
     initActions();
 
-    connect(m_colorMap->customPlot(), &QCustomPlot::mousePress, this,
+    connect(m_colorMapCanvas->customPlot(), &QCustomPlot::mousePress, this,
             &IntensityDataCanvas::onMousePress, Qt::UniqueConnection);
 }
 
 void IntensityDataCanvas::setIntensityItem(IntensityDataItem* intensityItem)
 {
     SessionItemWidget::setItem(intensityItem);
-    m_colorMap->setIntensityItem(intensityDataItem());
+    m_colorMapCanvas->setIntensityItem(intensityDataItem());
 
     if (!m_rotateDataAction)
         initRotation();
@@ -96,7 +96,7 @@ void IntensityDataCanvas::onResetViewAction()
 void IntensityDataCanvas::onSavePlotAction()
 {
     QString dirname = gSessionData->projectDocument.value()->userExportDir();
-    GUI::Plot::savePlot(dirname, m_colorMap->customPlot(), intensityDataItem()->getDatafield());
+    GUI::Plot::savePlot(dirname, m_colorMapCanvas->customPlot(), intensityDataItem()->getDatafield());
 }
 
 void IntensityDataCanvas::onMousePress(QMouseEvent* event)
diff --git a/GUI/View/Plot2D/IntensityDataCanvas.h b/GUI/View/Plot2D/IntensityDataCanvas.h
index 9da19c2c66b..fbb3ed695ba 100644
--- a/GUI/View/Plot2D/IntensityDataCanvas.h
+++ b/GUI/View/Plot2D/IntensityDataCanvas.h
@@ -52,7 +52,7 @@ private:
     void initActions();
     void initRotation();
 
-    ColorMapCanvas* m_colorMap;
+    ColorMapCanvas* m_colorMapCanvas;
     QAction* m_resetViewAction;
     QAction* m_rotateDataAction;
     QAction* m_savePlotAction;
diff --git a/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp b/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp
index 737ae7df23a..f34373e10fa 100644
--- a/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp
+++ b/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp
@@ -21,7 +21,7 @@
 
 SpecularPlotCanvas::SpecularPlotCanvas(QWidget* parent)
     : DataItemBundleWidget(parent)
-    , m_plot(new SpecularPlot)
+    , m_plot(new SpecularPlot(this))
     , m_canvasEvent(new FontScalingEvent(m_plot, this))
     , m_statusLabel(new PlotStatusLabel(m_plot, this))
 {
-- 
GitLab