ImageD  v2_7_5 (24.06.22)
ImageD is an image processing software designed for rapid prototyping and implementing algorithms and solutions for science, research and teaching.
d_table.h
Go to the documentation of this file.
1 /************************************
2  * added: 09.01.2019 *
3  * author: David Eilenstein *
4  * contact: D.Eilenstein@gsi.de *
5  * project: ImageD *
6  * facility: GSI Darmstadt, Ger *
7  ************************************/
8 
9 #ifndef D_TABLE_H
10 #define D_TABLE_H
11 
12 //own
13 #include <d_enum.h>
14 #include <d_error_handler.h>
15 
16 //general
17 #include <iostream>
18 #include <vector>
19 #include <fstream>
20 
21 //Qt
22 #include <QObject>
23 #include <QString>
24 #include <QStringList>
25 #include <QDebug>
26 #include <QMessageBox>
27 #include <QElapsedTimer>
28 #include <QTableView>
29 #include <QTableWidget>
30 #include <QTableWidgetItem>
31 #include <QFileInfo>
32 #include <QFileDialog>
33 
34 //namespaces
35 using namespace std;
36 
41 class D_Table : public QWidget
42 {
43  Q_OBJECT
44 public:
45 
46  //constructor
47  D_Table();
48 
49  //setter
50  void set_TW(QTableWidget *TW);
51 
52  void set_data_d_1D_qs_qsl (vector<double> v_data, QString qs_col_name, QStringList qsl_row_names);
53  void set_data_d_1D_qs_vd (vector<double> v_data, QString qs_col_name, vector<double> v_row_names);
54  void set_data_d_1D_qs_count (vector<double> v_data, QString qs_col_name);
55  void set_data_d_1D_qs_step (vector<double> v_data, QString qs_col_name, double row_names_start, double row_names_step);
56  void set_data_d_2D_qsl_qsl (vector<vector<double>> vv_data, QStringList qsl_col_names, QStringList qsl_row_names);
57  void set_data_d_2D_qsl_vd (vector<vector<double>> vv_data, QStringList qsl_col_names, vector<double> v_row_names);
58  void set_data_d_2D_qsl_count (vector<vector<double>> vv_data, QStringList qsl_col_names);
59  void set_data_d_2D_vd_vd (vector<vector<double>> vv_data, vector<double> v_col_names, vector<double> v_row_names);
60  void set_data_d_2D_vd_qsl (vector<vector<double>> vv_data, vector<double> v_col_names, QStringList qsl_row_names);
61  void set_data_d_2D_qsl_step (vector<vector<double>> vv_data, QStringList qsl_col_names, double row_names_start, double row_names_step);
62 
63  void clear_data();
64 
65  //getter
66  QTableWidget *get_pTableWidget () {return TW_table;}
67 
68  //Save
69  QString Save_Table_Dialog ();
70  QString Save_Table_Dialog (QString path_default);
71  QString Save_Table ();
72  QString Save_Table (QString path);
73 
74 private:
75  bool TW_is_set = false;
76  QTableWidget *TW_table;
77 
78  void Data_2_TableWidget();
79 
80  QFileInfo FI_LastSaved;
81 
82  QString QS_Name;
83  QStringList QSL_Col_Names;
84  QStringList QSL_Row_Names;
85  vector<vector<double>> vv_Data;
86 
87  //Error handler
88  D_Error_Handler ER;
89  void ERR(int err, QString func = "not specified", QString detail = "not specified");
90 
91 };
92 
93 #endif // D_TABLE_H
D_Table::get_pTableWidget
QTableWidget * get_pTableWidget()
Definition: d_table.h:66
D_Table::set_data_d_1D_qs_count
void set_data_d_1D_qs_count(vector< double > v_data, QString qs_col_name)
Definition: d_table.cpp:50
ER_size_missmatch
@ ER_size_missmatch
Definition: d_enum.h:141
D_Table::set_data_d_2D_qsl_count
void set_data_d_2D_qsl_count(vector< vector< double >> vv_data, QStringList qsl_col_names)
Definition: d_table.cpp:98
D_Table::set_data_d_2D_vd_vd
void set_data_d_2D_vd_vd(vector< vector< double >> vv_data, vector< double > v_col_names, vector< double > v_row_names)
Definition: d_table.cpp:117
d_table.h
D_Table::Save_Table
QString Save_Table()
Definition: d_table.cpp:186
D_Table::set_data_d_2D_qsl_step
void set_data_d_2D_qsl_step(vector< vector< double >> vv_data, QStringList qsl_col_names, double row_names_start, double row_names_step)
Definition: d_table.cpp:127
D_Table::set_TW
void set_TW(QTableWidget *TW)
Definition: d_table.cpp:16
D_Error_Handler::ERR
void ERR(int err, QString sender, QString func, QString detail)
D_Error_Handler::ERR pops an error message if an error occured and/or streams it to a csv file.
Definition: d_error_handler.cpp:23
D_Table::set_data_d_1D_qs_qsl
void set_data_d_1D_qs_qsl(vector< double > v_data, QString qs_col_name, QStringList qsl_row_names)
Definition: d_table.cpp:23
ER_type_bad
@ ER_type_bad
Definition: d_enum.h:136
D_Table
The D_Table class Display tables in QTableWidget in the user interface.
Definition: d_table.h:42
D_Error_Handler
The D_Error_Handler class takes error codes from D_ERROR_ENUM and shows a popup if an error occures.
Definition: d_error_handler.h:38
D_Table::set_data_d_2D_qsl_vd
void set_data_d_2D_qsl_vd(vector< vector< double >> vv_data, QStringList qsl_col_names, vector< double > v_row_names)
Definition: d_table.cpp:85
D_Table::set_data_d_2D_qsl_qsl
void set_data_d_2D_qsl_qsl(vector< vector< double >> vv_data, QStringList qsl_col_names, QStringList qsl_row_names)
Definition: d_table.cpp:74
D_Table::set_data_d_1D_qs_vd
void set_data_d_1D_qs_vd(vector< double > v_data, QString qs_col_name, vector< double > v_row_names)
Definition: d_table.cpp:38
D_Table::D_Table
D_Table()
Definition: d_table.cpp:11
D_Table::clear_data
void clear_data()
Definition: d_table.cpp:148
D_Table::set_data_d_2D_vd_qsl
void set_data_d_2D_vd_qsl(vector< vector< double >> vv_data, vector< double > v_col_names, QStringList qsl_row_names)
Definition: d_table.cpp:122
ER_other
@ ER_other
Definition: d_enum.h:134
D_Table::set_data_d_1D_qs_step
void set_data_d_1D_qs_step(vector< double > v_data, QString qs_col_name, double row_names_start, double row_names_step)
Definition: d_table.cpp:62
d_enum.h
d_error_handler.h
D_Table::Save_Table_Dialog
QString Save_Table_Dialog()
Definition: d_table.cpp:158