xicSelectionWidget.h 2.67 KB
Newer Older
1
/*
Langella Olivier's avatar
Langella Olivier committed
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 *
 * MassChroQ: Mass Chromatogram Quantification software.
 * Copyright (C) 2010 Olivier Langella, Edlira Nano, Benoit Valot, Michel Zivy.
 *
 * This program 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.
 *
 * This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */
20
21
22
23
24
25
26
27
28
29

/**
 * \file xicSelectionWidget.h
 * \date November 07, 2011
 * \author Edlira Nano
 */

#ifndef XIC_SELECTION_WIDGET_H_
#define XIC_SELECTION_WIDGET_H_ 1

Langella Olivier's avatar
Langella Olivier committed
30
#include "../../lib/quantifications/quantificationMethod.h"
31
#include "../../mcq_types.h"
Benoit Valot's avatar
Benoit Valot committed
32
#include "../masschroQWidget.h"
Langella Olivier's avatar
Langella Olivier committed
33
#include "../treatment/treatment_box_xic_extract.h"
34
35
#include <QWidget>

Langella Olivier's avatar
Langella Olivier committed
36
#include <QAbstractButton>
Langella Olivier's avatar
Langella Olivier committed
37
#include <QButtonGroup>
Langella Olivier's avatar
Langella Olivier committed
38
#include <QCheckBox>
Langella Olivier's avatar
Langella Olivier committed
39
#include <QDialogButtonBox>
Langella Olivier's avatar
Langella Olivier committed
40
#include <QDoubleSpinBox>
Langella Olivier's avatar
Langella Olivier committed
41
42
#include <QGroupBox>
#include <QVBoxLayout>
43
#include <pappsomspp/widget/precisionwidget/precisionwidget.h>
Langella Olivier's avatar
Langella Olivier committed
44

45
46
47
48
49
class XicExtractionMethodBase;

/**
 * \class XicSelectionWidget
 * \brief Xic Selection Widget
50
51
 *
 *
52
53
 */

Langella Olivier's avatar
Langella Olivier committed
54
55
class XicSelectionWidget : public MasschroQWidget
{
56

Langella Olivier's avatar
Langella Olivier committed
57
  Q_OBJECT
58

Langella Olivier's avatar
Langella Olivier committed
59
  public:
Langella Olivier's avatar
Langella Olivier committed
60
61
  XicSelectionWidget(TreatmentBoxXicExtract *treatment, QWidget *parent = 0);
  XicSelectionWidget(QWidget *parent = 0);
62

Langella Olivier's avatar
Langella Olivier committed
63
  virtual ~XicSelectionWidget();
64

Langella Olivier's avatar
Langella Olivier committed
65
  const QuantificationMethod &getQuantificationMethod() const;
66

Langella Olivier's avatar
Langella Olivier committed
67
  pappso::XicExtractMethod getXicExtractMethod() const;
68

Langella Olivier's avatar
Langella Olivier committed
69
  mcq_double getMzToExtract() const;
70

Langella Olivier's avatar
Langella Olivier committed
71
  mcq_double getRtToExtract() const;
72

Langella Olivier's avatar
Langella Olivier committed
73
  void writeElement(MasschroqDomDocument *domDocument) const;
74

Langella Olivier's avatar
Langella Olivier committed
75
  protected:
Langella Olivier's avatar
Langella Olivier committed
76
  virtual void extractXic();
77

Langella Olivier's avatar
Langella Olivier committed
78
  private slots:
79
  void onPrecisionChange(pappso::PrecisionPtr precision);
80

Langella Olivier's avatar
Langella Olivier committed
81
  protected:
Langella Olivier's avatar
Langella Olivier committed
82
83
  QuantificationMethod _quantification_method = QuantificationMethod("noid");
  QGroupBox *_mz_group;
84

Langella Olivier's avatar
Langella Olivier committed
85
86
87
88
  virtual void create_mz_group();
  void create_xic_type_group();
  void create_xic_range_group();
  void initializeExtractionMethod();
89

Langella Olivier's avatar
Langella Olivier committed
90
91
92
93
94
95
96
97
98
  QGroupBox *_xic_type_group;
  QGroupBox *_xic_range_group;
  QGroupBox *_xic_selection;
  pappso::PrecisionWidget *_precision_widget;
  QCheckBox *_xic_type_max;
  QCheckBox *_xic_type_sum;
  QDoubleSpinBox *_mz_value_spinbox;
  QSpinBox *_charge_spinbox;
  QComboBox *_mz_type_combobox;
99

Langella Olivier's avatar
Langella Olivier committed
100
  TreatmentBoxXicExtract *_treatmentBoxXicExtract;
101
102
103
};

#endif /* XIC_SELECTION_WIDGET_H_ */