libpappsomspp
Library for mass spectrometry
obolistwidget.h
Go to the documentation of this file.
1/**
2 * \file pappsomspp/widget/obo/obolistwidget/obolistwidget.h
3 * \date 17/04/2021
4 * \author Olivier Langella
5 * \brief handles a list of obo term, select and click
6 */
7
8
9/*******************************************************************************
10 * Copyright (c) 2021 Olivier Langella
11 *<Olivier.Langella@universite-paris-saclay.fr>.
12 *
13 * This file is part of the PAPPSOms++ library.
14 *
15 * PAPPSOms++ is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation, either version 3 of the License, or
18 * (at your option) any later version.
19 *
20 * PAPPSOms++ is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * You should have received a copy of the GNU General Public License
26 * along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
27 *
28 ******************************************************************************/
29
30#pragma once
31
32
33#include <QWidget>
34#include "../../../exportinmportconfig.h"
35#include "../../../precision.h"
36#include "obolistmodel.h"
37#include <QItemSelection>
38
39namespace Ui
40{
41class OboListWidgetForm;
42}
43
44namespace pappso
45{
46
47class OboListProxyModel;
48
49class PMSPP_LIB_DECL OboListWidget : public QWidget
50{
51 Q_OBJECT
52 public:
53 /**
54 * Default constructor
55 */
56 explicit OboListWidget(QWidget *parent = nullptr);
57
58 /**
59 * Destructor
60 */
62
63 void filterMzPrecision(double target_mz, PrecisionPtr precision);
64
65 /** @brief get the current mz value used to filter term list
66 */
67 double getMzTarget() const;
68
69 /** @brief get the current precision used to filter term list
70 */
71 PrecisionPtr getPrecisionPtr() const;
72
73 signals:
74 void oboTermChanged(OboPsiModTerm oboTerm) const;
75
76 private slots:
77 void onSelectionChanged(const QItemSelection &selected,
78 const QItemSelection &deselected);
79
80 void onFilterChanged(pappso::PrecisionPtr precision);
81
82 void onFilterChanged();
83 void onFilterChanged(double value);
84
85
86 private:
87 Ui::OboListWidgetForm *ui;
88
89 OboListModel *mpa_oboListModel = nullptr;
90 OboListProxyModel *mpa_oboListProxyModel = nullptr;
91};
92
93} // namespace pappso
94
Ui::OboListWidgetForm * ui
Definition: obolistwidget.h:87
void oboTermChanged(OboPsiModTerm oboTerm) const
#define PMSPP_LIB_DECL
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition: aa.cpp:39
MVC model of OBO term list.
Q_DECLARE_METATYPE(pappso::OboPsiModTerm)