From 8689a673b7f3780464f56603367f2836eac71446 Mon Sep 17 00:00:00 2001
From: Mikhail Svechnikov <svechnikovmv@gmail.com>
Date: Wed, 11 May 2022 21:34:55 +0200
Subject: [PATCH] rotation removed from sumulated data

---
 GUI/View/Plot2D/IntensityDataCanvas.cpp | 24 +++++++++++++++++-------
 GUI/View/Plot2D/IntensityDataCanvas.h   |  1 +
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/GUI/View/Plot2D/IntensityDataCanvas.cpp b/GUI/View/Plot2D/IntensityDataCanvas.cpp
index 0813d3dda73..d58d784f0a6 100644
--- a/GUI/View/Plot2D/IntensityDataCanvas.cpp
+++ b/GUI/View/Plot2D/IntensityDataCanvas.cpp
@@ -67,6 +67,8 @@ void IntensityDataCanvas::setItem(SessionItem* intensityItem)
     m_colorMap->setItem(intensityDataItem());
 
     applyPersistentSettings();
+    if(!m_rotateDataAction)
+        initRotation();
 }
 
 QSize IntensityDataCanvas::sizeHint() const
@@ -81,7 +83,10 @@ QSize IntensityDataCanvas::minimumSizeHint() const
 
 QList<QAction*> IntensityDataCanvas::actionList()
 {
-    return {m_resetViewAction, m_rotateDataAction, m_savePlotAction};
+    if(m_rotateDataAction)
+        return {m_resetViewAction, m_rotateDataAction, m_savePlotAction};
+    else
+        return {m_resetViewAction, m_savePlotAction};
 }
 
 void IntensityDataCanvas::onResetViewAction()
@@ -151,13 +156,18 @@ void IntensityDataCanvas::initActions()
     m_savePlotAction->setIcon(QIcon(":/images/content-save-outline.svg"));
     m_savePlotAction->setToolTip("Save plot");
     connect(m_savePlotAction, &QAction::triggered, this, &IntensityDataCanvas::onSavePlotAction);
+}
 
-    m_rotateDataAction = new QAction(this);
-    m_rotateDataAction->setText("Rotate");
-    m_rotateDataAction->setIcon(QIcon(":/images/rotate-left.svg"));
-    m_rotateDataAction->setIconText("Rotate");
-    m_rotateDataAction->setToolTip("Rotate intensity data by 90 deg counterclockwise");
-    connect(m_rotateDataAction, &QAction::triggered, this, &IntensityDataCanvas::rotateData);
+void IntensityDataCanvas::initRotation()
+{
+    if(dynamic_cast<RealDataItem*>(intensityDataItem()->parent())) {
+        m_rotateDataAction = new QAction(this);
+        m_rotateDataAction->setText("Rotate");
+        m_rotateDataAction->setIcon(QIcon(":/images/rotate-left.svg"));
+        m_rotateDataAction->setIconText("Rotate");
+        m_rotateDataAction->setToolTip("Rotate intensity data by 90 deg counterclockwise");
+        connect(m_rotateDataAction, &QAction::triggered, this, &IntensityDataCanvas::rotateData);
+    }
 }
 
 //! Reads gradient/ interpolation settings from IntensityDataItem and writes to persistant
diff --git a/GUI/View/Plot2D/IntensityDataCanvas.h b/GUI/View/Plot2D/IntensityDataCanvas.h
index e31cb745173..44e54f2ee98 100644
--- a/GUI/View/Plot2D/IntensityDataCanvas.h
+++ b/GUI/View/Plot2D/IntensityDataCanvas.h
@@ -51,6 +51,7 @@ protected:
 private:
     IntensityDataItem* intensityDataItem();
     void initActions();
+    void initRotation();
     void onPropertyChanged(const QString& name);
     void applyPersistentSettings();
 
-- 
GitLab