OpenMS GUI
TOPPView, TOPPAS, INIFileEditor and the OpenMS_GUI library
Loading...
Searching...
No Matches
MetaDataBrowser.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: Marc Sturm $
7// --------------------------------------------------------------------------
8
9#pragma once
10
11// OpenMS_GUI config
12#include <OpenMS/VISUAL/OpenMS_GUIConfig.h>
13
14#include <OpenMS/KERNEL/StandardTypes.h>
15#include <OpenMS/KERNEL/MSExperiment.h>
16#include <OpenMS/KERNEL/FeatureMap.h>
17#include <OpenMS/KERNEL/ConsensusMap.h>
18
19//QT
20#include <QtWidgets/QDialog>
21#include <QtWidgets/QTreeWidget>
22class QTreeWidgetItem;
23class QPushButton;
24class QStackedWidget;
25class QHBoxLayout;
26class QVBoxLayout;
27class QGridLayout;
28
29namespace OpenMS
30{
31 class BaseVisualizerGUI;
32 class Acquisition;
33 class AcquisitionInfo;
34 class ContactPerson;
36 class Gradient;
37 class HPLC;
39 class Instrument;
40 class IonDetector;
41 class IonSource;
42 class MassAnalyzer;
43 class MetaInfo;
46 class MetaInfoRegistry;
47 class PeptideHit;
48 class Precursor;
49 class DataProcessing;
50 class ProteinHit;
52 class Sample;
53 class Software;
54 class SourceFile;
55 class SpectrumSettings;
57 class Product;
58
74 class OPENMS_GUI_DLLAPI MetaDataBrowser :
75 public QDialog
76 {
77 Q_OBJECT
78
79public:
80
82 MetaDataBrowser(bool editable = false, QWidget * parent = nullptr, bool modal = false);
83
85 void add(PeakMap & exp)
86 {
87 add(static_cast<ExperimentalSettings &>(exp));
88 treeview_->expandItem(treeview_->findItems(QString::number(0), Qt::MatchExactly, 1).first());
89 }
90
92 void add(MSSpectrum & spectrum)
93 {
94 //spectrum settings
95 add(static_cast<SpectrumSettings &>(spectrum));
96
97 //MetaInfoDescriptions
98 for (Size i = 0; i < spectrum.getFloatDataArrays().size(); ++i)
99 {
100 add(spectrum.getFloatDataArrays()[i]);
101 }
102 for (Size i = 0; i < spectrum.getIntegerDataArrays().size(); ++i)
103 {
104 add(spectrum.getIntegerDataArrays()[i]);
105 }
106 for (Size i = 0; i < spectrum.getStringDataArrays().size(); ++i)
107 {
108 add(spectrum.getStringDataArrays()[i]);
109 }
110
111 add(static_cast<MetaInfoInterface &>(spectrum));
112
113 treeview_->expandItem(treeview_->findItems(QString::number(0), Qt::MatchExactly, 1).first());
114 }
115
117 void add(FeatureMap& map)
118 {
119 //identifier
120 add(static_cast<DocumentIdentifier &>(map));
121
122 //protein ids
123 for (Size i = 0; i < map.getProteinIdentifications().size(); ++i)
124 {
125 add(map.getProteinIdentifications()[i]);
126 }
127
128 //unassigned peptide ids
129 for (Size i = 0; i < map.getUnassignedPeptideIdentifications().size(); ++i)
130 {
131 add(map.getUnassignedPeptideIdentifications()[i]);
132 }
133
134 treeview_->expandItem(treeview_->findItems(QString::number(0), Qt::MatchExactly, 1).first());
135 }
136
138 void add(Feature & feature);
140 void add(ConsensusFeature & feature);
141
143 void add(ConsensusMap & map);
144
150 template <class MetaDataType>
151 void add(MetaDataType & meta_data_object)
152 {
153 visualize_(meta_data_object);
154 treeview_->expandItem(treeview_->findItems(QString::number(0), Qt::MatchExactly, 1).first());
155 }
156
158 bool isEditable() const;
159
163
164public slots:
165
167 void setStatus(const std::string& status);
168
169protected slots:
170
173
175 void saveAll_();
176
177protected:
178
180
181 void visualize_(ExperimentalSettings & meta, QTreeWidgetItem * parent = nullptr);
182 void visualize_(SpectrumSettings & meta, QTreeWidgetItem * parent = nullptr);
183 void visualize_(MetaInfoInterface & meta, QTreeWidgetItem * parent = nullptr);
184 void visualize_(Sample & meta, QTreeWidgetItem * parent = nullptr);
185 void visualize_(HPLC & meta, QTreeWidgetItem * parent = nullptr);
186 void visualize_(Gradient & meta, QTreeWidgetItem * parent = nullptr);
187 void visualize_(Software & meta, QTreeWidgetItem * parent = nullptr);
188 void visualize_(ScanWindow & meta, QTreeWidgetItem * parent = nullptr);
189 void visualize_(SourceFile & meta, QTreeWidgetItem * parent = nullptr);
190 void visualize_(ContactPerson & meta, QTreeWidgetItem * parent = nullptr);
191 void visualize_(Instrument & meta, QTreeWidgetItem * parent = nullptr);
192 void visualize_(IonSource & meta, QTreeWidgetItem * parent = nullptr);
193 void visualize_(IonDetector & meta, QTreeWidgetItem * parent = nullptr);
194 void visualize_(MassAnalyzer & meta, QTreeWidgetItem * parent = nullptr);
195 void visualize_(DataProcessingPtr & meta, QTreeWidgetItem * parent = nullptr);
196 void visualize_(ProteinIdentification & meta, QTreeWidgetItem * parent = nullptr);
197 void visualize_(ProteinHit & meta, QTreeWidgetItem * parent = nullptr);
198 void visualize_(PeptideHit & meta, QTreeWidgetItem * parent = nullptr);
199 void visualize_(Acquisition & meta, QTreeWidgetItem * parent = nullptr);
200 void visualize_(AcquisitionInfo & meta, QTreeWidgetItem * parent = nullptr);
201 void visualize_(MetaInfoDescription & meta, QTreeWidgetItem * parent = nullptr);
202 void visualize_(Precursor & meta, QTreeWidgetItem * parent = nullptr);
203 void visualize_(Product & meta, QTreeWidgetItem * parent = nullptr);
204 void visualize_(InstrumentSettings & meta, QTreeWidgetItem * parent = nullptr);
205 void visualize_(PeptideIdentification & meta, QTreeWidgetItem * parent = nullptr);
206 void visualize_(DocumentIdentifier & meta, QTreeWidgetItem * parent = nullptr);
208
210 template <typename ContainerType>
211 void visualizeAll_(ContainerType & container, QTreeWidgetItem * parent)
212 {
213 for (typename ContainerType::iterator it = container.begin(); it != container.end(); ++it)
214 {
215 visualize_(*it, parent);
216 }
217 }
218
221
223 void filterHits_(double threshold, bool higher_better, int tree_item_id);
225 void showAllHits_(int tree_item_id);
226
228 std::string status_list_;
229
232
234 QStackedWidget * ws_;
236 QPushButton * saveallbutton_;
238 QPushButton * closebutton_;
240 QPushButton * cancelbutton_;
242 QPushButton * undobutton_;
243
246 };
247}
A base class for all visualizer classes.
Definition BaseVisualizerGUI.h:40
A meta data visualization widget.
Definition MetaDataBrowser.h:76
bool isEditable() const
Check if mode is editable or not.
void visualize_(PeptideHit &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(SpectrumSettings &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(InstrumentSettings &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(Gradient &meta, QTreeWidgetItem *parent=nullptr)
QPushButton * cancelbutton_
Cancel Button.
Definition MetaDataBrowser.h:240
void visualize_(Sample &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(Instrument &meta, QTreeWidgetItem *parent=nullptr)
void filterHits_(double threshold, bool higher_better, int tree_item_id)
Filters hits according to a score threshold. Takes the score orientation into account.
void visualize_(AcquisitionInfo &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(ProteinIdentification &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(ExperimentalSettings &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(ProteinHit &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(ContactPerson &meta, QTreeWidgetItem *parent=nullptr)
void add(ConsensusMap &map)
Adds a consensus map.
void visualize_(IonSource &meta, QTreeWidgetItem *parent=nullptr)
std::string status_list_
A list of setting errors due to invalid formats.
Definition MetaDataBrowser.h:228
void visualizeAll_(ContainerType &container, QTreeWidgetItem *parent)
Visualizes all elements of a container.
Definition MetaDataBrowser.h:211
MetaDataBrowser(bool editable=false, QWidget *parent=nullptr, bool modal=false)
Constructor with flag for edit mode.
QStackedWidget * ws_
A widgetstack that keeps track of all widgets.
Definition MetaDataBrowser.h:234
void showAllHits_(int tree_item_id)
Shows hits.
void add(Feature &feature)
Adds a feature.
QTreeWidget * treeview_
The tree.
Definition MetaDataBrowser.h:245
QPushButton * saveallbutton_
Save button.
Definition MetaDataBrowser.h:236
void visualize_(Precursor &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(MetaInfoDescription &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(MetaInfoInterface &meta, QTreeWidgetItem *parent=nullptr)
void setStatus(const std::string &status)
Set a list of error strings due to invalid date format.
QPushButton * closebutton_
Close Button.
Definition MetaDataBrowser.h:238
void saveAll_()
Saves all changes and close explorer.
bool editable_
Indicates the mode.
Definition MetaDataBrowser.h:231
void visualize_(SourceFile &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(PeptideIdentification &meta, QTreeWidgetItem *parent=nullptr)
void add(FeatureMap &map)
Adds a feature map.
Definition MetaDataBrowser.h:117
QPushButton * undobutton_
Undo Button.
Definition MetaDataBrowser.h:242
void visualize_(IonDetector &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(Software &meta, QTreeWidgetItem *parent=nullptr)
void showDetails_()
Raises the corresponding viewer from the widget stack according to the item selected in the tree.
void add(PeakMap &exp)
Adds a peak map.
Definition MetaDataBrowser.h:85
void visualize_(DocumentIdentifier &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(Acquisition &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(Product &meta, QTreeWidgetItem *parent=nullptr)
void add(MSSpectrum &spectrum)
Adds a peak spectrum.
Definition MetaDataBrowser.h:92
void visualize_(ScanWindow &meta, QTreeWidgetItem *parent=nullptr)
void add(MetaDataType &meta_data_object)
A generic function to add data.
Definition MetaDataBrowser.h:151
void add(ConsensusFeature &feature)
Adds a consensus feature.
void visualize_(HPLC &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(MassAnalyzer &meta, QTreeWidgetItem *parent=nullptr)
void visualize_(DataProcessingPtr &meta, QTreeWidgetItem *parent=nullptr)
void connectVisualizer_(BaseVisualizerGUI *ptr)
Connects the Signals of all visualiser classes with Slot setStatus()
Class that displays all meta information for PeptideIdentification objects.
Definition PeptideIdentificationVisualizer.h:31
Class that displays all meta information for ProteinIdentification objects.
Definition ProteinIdentificationVisualizer.h:31
Definition Annotation1DCaret.h:23