CycloBranch
cMultipleDatasetsTableWidget.h
Go to the documentation of this file.
1
7#ifndef _CMULTIPLEDATASETSTABLEWIDGET_H
8#define _CMULTIPLEDATASETSTABLEWIDGET_H
9
10#include <QDesktopServices>
11#include <QUrl>
12#include <QMainWindow>
13#include <QToolBar>
14#include <QAction>
15#include <QTableView>
16#include <QStandardItemModel>
17#include <QStandardItem>
18#include <QItemDelegate>
19#include <QMessageBox>
20#include <QApplication>
21#include <QComboBox>
22#include <QPushButton>
23#include <QLabel>
24#include <QSpinBox>
25#include <QDoubleSpinBox>
26#include <QHBoxLayout>
27
28#include "core/utilities.h"
32#include "gui/cEventFilter.h"
36
37
38// forward declarations
39class cParameters;
41class QVBoxLayout;
42class QMenuBar;
43class QMenu;
44
45
52void calculateLineParameterA(vector<double>& x, vector<double>& y, double& a);
53
54
62void calculateLineParameters(vector<double>& x, vector<double>& y, double& a, double& b);
63
64
73void calculateLineParametersWithIterations(vector<double>& x, vector<double>& y, int iterations, double& a, double& b);
74
75
79class cMultipleDatasetsTableWidget : public QMainWindow {
80
81 Q_OBJECT
82
83public:
84
85
91 cMultipleDatasetsTableWidget(cGlobalPreferences* globalpreferences, QWidget* parent = (QWidget *)0);
92
93
98
99
104 void closeEvent(QCloseEvent *event);
105
106
114 bool prepareToShow(cParameters* parameters, cTheoreticalSpectrumList* listoftheoreticalspectra, int activefileid);
115
116
120 void updateTable();
121
122
126 void resetStandard();
127
128
133
134
138 void deleteTable();
139
140
145 void applyGlobalPreferences(cGlobalPreferences* globalpreferences);
146
147
153
154
160
161
167
168
169private:
170
171 QString title;
172
173 cGlobalPreferences* globalpreferences;
174 QWidget* parent;
175
176 cParameters* parameters;
177 cTheoreticalSpectrumList* listoftheoreticalspectra;
178
179 cPubChemSearchWidget* pubchemsearchwidget;
180 cDefineCalibrationWidget* definecalibrationwidget;
181 cCalibrationChart* calibrationchartwidget;
182
183 QMenuBar* menuBar;
184 QMenu* menuFile;
185 QMenu* menuSearch;
186 QMenu* menuHelp;
187
188 QToolBar* toolbarFile;
189 QAction* actionExportCSV;
190 QAction* actionExportDatabase;
191 QAction* actionCloseWindow;
192
193 QToolBar* toolbarView;
194
195 QToolBar* toolbarCalibration;
196
197 QToolBar* toolbarSearch;
198 QAction* actionSearchPubChem;
199
200 QToolBar* toolbarHelp;
201 QAction* actionHTMLDocumentation;
202
203 QLabel* datatypelabel;
204 QComboBox* comboboxdatatype;
205 QHBoxLayout* datatypehboxlayout;
206 QWidget* datatypewidget;
207
208 QLabel* peakshapelabel;
209 QComboBox* comboboxpeakshape;
210 QHBoxLayout* peakshapehboxlayout;
211 QWidget* peakshapewidget;
212
213 QLabel* standardlabel;
214 QComboBox* comboboxstandard;
215 QHBoxLayout* standardhboxlayout;
216 QWidget* standardwidget;
217
218 QLabel* calibrationlabely;
219 QDoubleSpinBox* calibrationspinboxa;
220 QLabel* calibrationlabelx;
221 QDoubleSpinBox* calibrationspinboxb;
222 QPushButton* calibrationsetbutton;
223 QPushButton* calibrationdefinebutton;
224 QPushButton* calibrationviewbutton;
225 QHBoxLayout* calibrationhboxlayout;
226 QWidget* calibrationwidget;
227
228 QLabel* columnsizelabel;
229 QSpinBox* columnsizespinbox;
230 QPushButton* columnsizesetbutton;
231 QPushButton* columnsizeresetbutton;
232 QHBoxLayout* columnsizehboxlayout;
233 QWidget* columnsizewidget;
234
235 QTableView* database;
236 QStandardItemModel* databasemodel;
238 QVBoxLayout* mainlayout;
239 QWidget* mainwidget;
240
241 QString lastdirexporttocsv;
242 QString lastdirexportdatabase;
243
244 map<string, map<int, pair<int, int> > > identifieditems;
245 map<string, multimap<int, pair<int, int> > > identifieditemswithmultimap;
246
247 int activefileid;
248 int datatypeview;
249 int peakshape;
250 int standard;
251 double calibrationa;
252 double calibrationb;
253 int systemcolumns;
254
255 void getEICFromMultiMap(int datafileid, multimap<int, pair<int, int> >& compoundmultimap, cPeaksList& eicchromatogram, bool highestpeaks);
256
257
258protected:
259
260
265 void keyPressEvent(QKeyEvent *event);
266
267
268private slots:
269
270 void closeWindow();
271
272
273 void exportToCsv();
274
275
276 void exportToDatabase();
277
278
279 void dataTypeViewChanged(int index);
280
281
282 void peakShapeChanged(int index);
283
284
285 void standardChanged(int index);
286
287
288 void calibrationSetButtonReleased();
289
290
291 void calibrationDefineButtonReleased();
292
293
294 void calibrationViewButtonReleased();
295
296
297 void calibrationCurveRedefined();
298
299
300 void showHTMLDocumentation();
301
302
303 void rowClicked(const QModelIndex& item);
304
305
306 void searchPubChem();
307
308
309 void setColumnSize();
310
311
312 void resetColumnSize();
313
314
315signals:
316
317
322
323
328
329
341 void multipleDatasetsTableRowClicked(int datasetid, int spectrumid, int peakid, int datatypeview, int peakshape, string name, string iontype, string mzstr);
342
343};
344
345#endif
346
Calibration chart.
Chromatogram window widget.
The widget for definition of calibration curve.
An event filter.
The representation of a set of peptide sequence candidates.
void calculateLineParameterA(vector< double > &x, vector< double > &y, double &a)
Calculate parameter a of a line.
Definition: cMultipleDatasetsTableWidget.cpp:17
void calculateLineParametersWithIterations(vector< double > &x, vector< double > &y, int iterations, double &a, double &b)
Calculate parameters a and b of a line.
Definition: cMultipleDatasetsTableWidget.cpp:98
void calculateLineParameters(vector< double > &x, vector< double > &y, double &a, double &b)
Calculate parameters a and b of a line.
Definition: cMultipleDatasetsTableWidget.cpp:40
The implementation of the dialog PubChem search widget.
Calibration chart.
Definition: cCalibrationChart.h:44
The widget for definition of calibration curve.
Definition: cDefineCalibrationWidget.h:38
The class storing global preferences.
Definition: cGlobalPreferences.h:104
A table proxy model.
Definition: cMultipleDatasetsTableProxyModel.h:21
Aggregated results from multiple datasets.
Definition: cMultipleDatasetsTableWidget.h:79
void multipleDatasetsTableRowClicked(int datasetid, int spectrumid, int peakid, int datatypeview, int peakshape, string name, string iontype, string mzstr)
Process a row click event.
cCalibrationChart * getCalibrationChartWidget()
Get the reference to cCalibrationChart widget.
Definition: cMultipleDatasetsTableWidget.cpp:1684
void updateTable()
Update the table if attributes were changed.
Definition: cMultipleDatasetsTableWidget.cpp:1202
bool prepareToShow(cParameters *parameters, cTheoreticalSpectrumList *listoftheoreticalspectra, int activefileid)
Prepare the widget to show.
Definition: cMultipleDatasetsTableWidget.cpp:525
cDefineCalibrationWidget * getDefineCalibrationWidget()
Get the reference to cDefineCalibrationWidget.
Definition: cMultipleDatasetsTableWidget.cpp:1679
void tableCancelled()
The table was not generated because the process was cancelled.
void closeEvent(QCloseEvent *event)
Handle the window close event.
Definition: cMultipleDatasetsTableWidget.cpp:519
cMultipleDatasetsTableWidget(cGlobalPreferences *globalpreferences, QWidget *parent=(QWidget *) 0)
The constructor.
Definition: cMultipleDatasetsTableWidget.cpp:207
void deleteTable()
Delete the table content.
Definition: cMultipleDatasetsTableWidget.cpp:1652
void resetStandard()
Reset the compound standard.
Definition: cMultipleDatasetsTableWidget.cpp:1601
~cMultipleDatasetsTableWidget()
The destructor.
Definition: cMultipleDatasetsTableWidget.cpp:460
cPubChemSearchWidget * getPubChemSearchWidget()
Get the reference to cPubChemSearchWidget.
Definition: cMultipleDatasetsTableWidget.cpp:1674
void keyPressEvent(QKeyEvent *event)
Handle a key press event.
Definition: cMultipleDatasetsTableWidget.cpp:1731
void applyGlobalPreferences(cGlobalPreferences *globalpreferences)
Apply new global preferences.
Definition: cMultipleDatasetsTableWidget.cpp:1662
void filterSummaryTable()
Update chromatogram via summary table of matched peaks.
void updateListofStandards()
Update the list of compound standards.
Definition: cMultipleDatasetsTableWidget.cpp:1606
The class storing parameters of the application.
Definition: cParameters.h:82
The class representing a peak list.
Definition: cPeaksList.h:68
The widget representing the PubChem search widget.
Definition: cPubChemSearchWidget.h:33
The class representing lists of theoretical spectra.
Definition: cTheoreticalSpectrumList.h:25
Auxiliary funtions and structures.