From 28b2b0a1c07442039a9c9a2785886b1ea5e610ce Mon Sep 17 00:00:00 2001
From: Olivier Langella <olivier.langella@u-psud.fr>
Date: Sun, 17 Feb 2019 11:47:55 +0100
Subject: [PATCH] new widget to choose xic extraction method

---
 .../xicextractionmethodwidget.cpp             | 81 +++++++++++++++++++
 .../xicextractionmethodwidget.h               | 54 +++++++++++++
 2 files changed, 135 insertions(+)
 create mode 100644 src/gui/widgets/xic_extraction_method_widget/xicextractionmethodwidget.cpp
 create mode 100644 src/gui/widgets/xic_extraction_method_widget/xicextractionmethodwidget.h

diff --git a/src/gui/widgets/xic_extraction_method_widget/xicextractionmethodwidget.cpp b/src/gui/widgets/xic_extraction_method_widget/xicextractionmethodwidget.cpp
new file mode 100644
index 00000000..d5d38d80
--- /dev/null
+++ b/src/gui/widgets/xic_extraction_method_widget/xicextractionmethodwidget.cpp
@@ -0,0 +1,81 @@
+/**
+ * \file gui/widget/xic_extraction_method_widget/xicextractionmethodwidget.cpp
+ * \date 17/02/2019
+ * \author Olivier Langella
+ * \brief choose Xic extraction method (sum or max)
+ */
+
+/*******************************************************************************
+ * Copyright (c) 2019 Olivier Langella <olivier.langella@u-psud.fr>.
+ *
+ * This file is part of XTPcpp.
+ *
+ *     XTPcpp is free software: you can redistribute it and/or modify
+ *     it under the terms of the GNU General Public License as published by
+ *     the Free Software Foundation, either version 3 of the License, or
+ *     (at your option) any later version.
+ *
+ *     XTPcpp is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ *     You should have received a copy of the GNU General Public License
+ *     along with XTPcpp.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Contributors:
+ *     Olivier Langella <olivier.langella@u-psud.fr> - initial API and
+ *implementation
+ ******************************************************************************/
+
+#include "xicextractionmethodwidget.h"
+#include <QDebug>
+#include <QHBoxLayout>
+
+XicExtractionMethodWidget::XicExtractionMethodWidget(QWidget *parent)
+  : QWidget(parent)
+{
+  qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
+  setLayout(new QHBoxLayout(this));
+
+  this->layout()->setMargin(0);
+  this->layout()->setContentsMargins(0, 0, 0, 0);
+
+  mp_methodComboBox = new QComboBox();
+  this->layout()->addWidget(mp_methodComboBox);
+
+  mp_methodComboBox->addItem("max", QString("max"));
+  mp_methodComboBox->addItem("sum", QString("sum"));
+
+  connect(mp_methodComboBox,
+          SIGNAL(currentIndexChanged(int)),
+          this,
+          SLOT(setCurrentIndex(int)));
+
+
+  qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
+}
+
+XicExtractionMethodWidget::~XicExtractionMethodWidget()
+{
+}
+
+void
+XicExtractionMethodWidget::setCurrentIndex(int index)
+{
+  qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
+
+  if(m_oldIndex != index)
+    {
+      m_oldIndex = index;
+
+      if(mp_methodComboBox->itemData(index) == "sum")
+        {
+          emit xicExtractionMethodChanged(pappso::XicExtractMethod::sum);
+        }
+      else
+        {
+          emit xicExtractionMethodChanged(pappso::XicExtractMethod::max);
+        }
+    }
+}
diff --git a/src/gui/widgets/xic_extraction_method_widget/xicextractionmethodwidget.h b/src/gui/widgets/xic_extraction_method_widget/xicextractionmethodwidget.h
new file mode 100644
index 00000000..3deb3496
--- /dev/null
+++ b/src/gui/widgets/xic_extraction_method_widget/xicextractionmethodwidget.h
@@ -0,0 +1,54 @@
+/**
+ * \file gui/widget/xic_extraction_method_widget/xicextractionmethodwidget.h
+ * \date 17/02/2019
+ * \author Olivier Langella
+ * \brief choose Xic extraction method (sum or max)
+ */
+
+/*******************************************************************************
+ * Copyright (c) 2019 Olivier Langella <olivier.langella@u-psud.fr>.
+ *
+ * This file is part of XTPcpp.
+ *
+ *     XTPcpp is free software: you can redistribute it and/or modify
+ *     it under the terms of the GNU General Public License as published by
+ *     the Free Software Foundation, either version 3 of the License, or
+ *     (at your option) any later version.
+ *
+ *     XTPcpp is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ *     You should have received a copy of the GNU General Public License
+ *     along with XTPcpp.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Contributors:
+ *     Olivier Langella <olivier.langella@u-psud.fr> - initial API and
+ *implementation
+ ******************************************************************************/
+
+#pragma once
+
+#include <QWidget>
+#include <QComboBox>
+#include <pappsomspp/types.h>
+
+class XicExtractionMethodWidget : public QWidget
+{
+  Q_OBJECT
+
+  private:
+  QComboBox *mp_methodComboBox;
+  int m_oldIndex = 0;
+
+  private:
+  Q_SLOT void setCurrentIndex(int);
+
+  public:
+  XicExtractionMethodWidget(QWidget *parent = 0);
+  ~XicExtractionMethodWidget();
+  signals:
+  void xicExtractionMethodChanged(pappso::XicExtractMethod method) const;
+};
+
-- 
GitLab