From 0b9102340fd9d0b717ec9e3c9c955fd17cbc618e Mon Sep 17 00:00:00 2001
From: Gennady Pospelov <g.pospelov@fz-juelich.de>
Date: Mon, 16 May 2016 14:17:37 +0200
Subject: [PATCH] Method for getSelectedParameterItem moved to
 ModelTuningWidget

---
 .../Views/FitWidgets/FitParametersWidget.cpp  | 26 +++----------------
 .../Views/FitWidgets/FitParametersWidget.h    |  1 -
 .../Views/JobWidgets/ModelTuningWidget.cpp    | 20 ++++++++++++++
 .../Views/JobWidgets/ModelTuningWidget.h      |  3 +++
 4 files changed, 27 insertions(+), 23 deletions(-)

diff --git a/GUI/coregui/Views/FitWidgets/FitParametersWidget.cpp b/GUI/coregui/Views/FitWidgets/FitParametersWidget.cpp
index 3f88853a081..6efbb1ca59a 100644
--- a/GUI/coregui/Views/FitWidgets/FitParametersWidget.cpp
+++ b/GUI/coregui/Views/FitWidgets/FitParametersWidget.cpp
@@ -176,7 +176,7 @@ void FitParametersWidget::onFitParametersSelectionChanged(const QItemSelection &
 
 void FitParametersWidget::onCreateFitParAction()
 {
-    foreach(ParameterItem *item, getSelectedParameters()) {
+    foreach(ParameterItem *item, m_tuningWidget->getSelectedParameters()) {
         if(!FitModelHelper::getFitParameterItem(m_jobItem->fitParameterContainerItem(), item)) {
             FitModelHelper::createFitParameter(m_jobItem->fitParameterContainerItem(), item);
 //            m_fitParameterModel->createFitParameter(item);
@@ -190,7 +190,7 @@ void FitParametersWidget::onCreateFitParAction()
 //! fitParameterItem.
 void FitParametersWidget::onRemoveFromFitParAction()
 {
-    foreach(ParameterItem *item, getSelectedParameters()) {
+    foreach(ParameterItem *item, m_tuningWidget->getSelectedParameters()) {
         if(FitModelHelper::getFitParameterItem(m_jobItem->fitParameterContainerItem(), item)) {
             FitModelHelper::removeFromFitParameters(m_jobItem->fitParameterContainerItem(), item);
 //            m_fitParameterModel->removeFromFitParameters(item);
@@ -222,7 +222,7 @@ void FitParametersWidget::onRemoveFitParAction()
 void FitParametersWidget::onAddToFitParAction(int ipar)
 {
     QStringList fitParNames = FitModelHelper::getFitParameterNames(m_jobItem->fitParameterContainerItem());
-    foreach(ParameterItem *item, getSelectedParameters()) {
+    foreach(ParameterItem *item, m_tuningWidget->getSelectedParameters()) {
         //m_fitParameterModel->addToFitParameter(item, fitParNames.at(ipar));
         FitModelHelper::addToFitParameter(m_jobItem->fitParameterContainerItem(), item, fitParNames.at(ipar));
 //        emit m_fitParameterModel->layoutChanged();
@@ -368,7 +368,7 @@ void FitParametersWidget::spanParameters()
 //! selected in model tuning widget and they should not be in FitParameterContainer already
 bool FitParametersWidget::isCreateFitParameterPossible()
 {
-    QVector<ParameterItem *> selected = getSelectedParameters();
+    QVector<ParameterItem *> selected = m_tuningWidget->getSelectedParameters();
     foreach(ParameterItem *item, selected) {
         if(FitModelHelper::getFitParameterItem(m_jobItem->fitParameterContainerItem(), item) == nullptr)
             return true;
@@ -383,24 +383,6 @@ void FitParametersWidget::setActionsEnabled(bool value)
     m_removeFitParAction->setEnabled(value);
 }
 
-//! Returns list of ParameterItem's currently selected in ModelTuningWidget
-QVector<ParameterItem *> FitParametersWidget::getSelectedParameters()
-{
-    QVector<ParameterItem *> result;
-    QModelIndexList proxyIndexes = m_tuningWidget->selectionModel()->selectedIndexes();
-    foreach(QModelIndex proxyIndex, proxyIndexes) {
-        QModelIndex index = FilterPropertyProxy::toSourceIndex(proxyIndex);
-        if(index.column() != 0)
-            continue;
-
-        if (ParameterItem *parameterItem
-            = dynamic_cast<ParameterItem *>(m_jobItem->model()->itemForIndex(index))) {
-            result.push_back(parameterItem);
-        }
-    }
-    return result;
-}
-
 //! Returns list of FitParameterItem's currently selected in corresponding tree
 QVector<FitParameterItem *> FitParametersWidget::getSelectedFitParameters()
 {
diff --git a/GUI/coregui/Views/FitWidgets/FitParametersWidget.h b/GUI/coregui/Views/FitWidgets/FitParametersWidget.h
index abb797f738f..f576f46b5b6 100644
--- a/GUI/coregui/Views/FitWidgets/FitParametersWidget.h
+++ b/GUI/coregui/Views/FitWidgets/FitParametersWidget.h
@@ -76,7 +76,6 @@ private:
     void connectTuningWidgetSelection(bool active);
     void connectFitParametersSelection(bool active);
 
-    QVector<ParameterItem *> getSelectedParameters();
     QVector<FitParameterItem *> getSelectedFitParameters();
 
     QTreeView *m_treeView;
diff --git a/GUI/coregui/Views/JobWidgets/ModelTuningWidget.cpp b/GUI/coregui/Views/JobWidgets/ModelTuningWidget.cpp
index 94cd05c849c..a6e6009641b 100644
--- a/GUI/coregui/Views/JobWidgets/ModelTuningWidget.cpp
+++ b/GUI/coregui/Views/JobWidgets/ModelTuningWidget.cpp
@@ -29,6 +29,7 @@
 #include "WarningSignWidget.h"
 #include "FilterPropertyProxy.h"
 #include "FitTools.h"
+#include "ParameterTreeItems.h"
 #include <QLabel>
 #include <QVBoxLayout>
 #include <QTreeView>
@@ -128,6 +129,25 @@ QItemSelectionModel *ModelTuningWidget::selectionModel()
     return m_treeView->selectionModel();
 }
 
+//! Returns list of ParameterItem's currently selected in parameter tree
+
+QVector<ParameterItem *> ModelTuningWidget::getSelectedParameters()
+{
+    QVector<ParameterItem *> result;
+    QModelIndexList proxyIndexes = selectionModel()->selectedIndexes();
+    foreach(QModelIndex proxyIndex, proxyIndexes) {
+        QModelIndex index = FilterPropertyProxy::toSourceIndex(proxyIndex);
+        if(index.column() != 0)
+            continue;
+
+        if (ParameterItem *parameterItem
+            = dynamic_cast<ParameterItem *>(m_currentJobItem->model()->itemForIndex(index))) {
+            result.push_back(parameterItem);
+        }
+    }
+    return result;
+}
+
 void ModelTuningWidget::onCurrentLinkChanged(SessionItem *item)
 {
     qDebug() << "ModelTuningWidget::onCurrentLinkChanged";
diff --git a/GUI/coregui/Views/JobWidgets/ModelTuningWidget.h b/GUI/coregui/Views/JobWidgets/ModelTuningWidget.h
index 98924106c38..a648548589d 100644
--- a/GUI/coregui/Views/JobWidgets/ModelTuningWidget.h
+++ b/GUI/coregui/Views/JobWidgets/ModelTuningWidget.h
@@ -31,6 +31,7 @@ class WarningSignWidget;
 class SessionItem;
 class FitTools;
 class QItemSelectionModel;
+class ParameterItem;
 
 class ModelTuningWidget : public QWidget
 {
@@ -44,6 +45,8 @@ public:
 
     QItemSelectionModel* selectionModel();
 
+    QVector<ParameterItem *> getSelectedParameters();
+
 signals:
     void itemContextMenuRequest(const QPoint &point);
 
-- 
GitLab