UltraScan III
us_manage_data.h
Go to the documentation of this file.
1 #ifndef US_MANAGE_DATA_H
2 #define US_MANAGE_DATA_H
3 
4 #include <QtGui>
5 
6 #include "us_extern.h"
7 #include "us_data_model.h"
8 #include "us_data_process.h"
9 #include "us_data_tree.h"
10 #include "us_sync_exper.h"
11 #include "us_widgets.h"
12 #include "us_db2.h"
13 #include "us_model.h"
14 #include "us_buffer.h"
15 #include "us_analyte.h"
16 #include "us_help.h"
17 #include "us_dataIO.h"
18 #include "us_settings.h"
19 
20 class US_ManageData : public US_Widgets
21 {
22  Q_OBJECT
23 
24  public:
25  US_ManageData();
26 
27  enum State { NOSTAT=0, REC_DB=1, REC_LO=2, PAR_DB=4, PAR_LO=8,
28  HV_DET=16, IS_CON=32, ALL_OK=64 };
29 
30  class DataDesc
31  {
32  public:
33  int recordID; // record DB Identifier
34  int recType; // record type (1-4)=Raw/Edit/Model/Noise
35  int parentID; // parent's DB Identifier
36  int recState; // record state flag
37  QString subType; // sub-type (e.g., TI,RI for noises)
38  QString dataGUID; // this record data Global Identifier
39  QString parentGUID; // parent's GUID
40  QString filename; // file name if on local disk
41  QString contents; // md5sum() and length of data
42  QString label; // record identifying label
43  QString description; // record description string
44  QString lastmodDate; // last modification date/time
45  };
46 
48 
49  private:
50 
51  QTreeWidget* tw_recs; // tree widget
52  QTreeWidgetItem* tw_item; // current tree widget item
53 
54  DataDesc cdesc; // current record description
55 
56  US_DataModel* da_model; // underlying data handler
57  US_DataProcess* da_process; // data processing handler
58  US_DataTree* da_tree; // data tree display handler
59  US_SyncExperiment* syncExper; // experiment synchronizer
60 
61  QProgressBar* progress;
62 
64 
67 
68  QLabel* lb_status;
69 
70  QTextEdit* te_status;
71 
72  QLineEdit* le_invtor;
73 
74  QPushButton* pb_invtor;
75  QPushButton* pb_reset;
76  QPushButton* pb_scanda;
77  QPushButton* pb_hsedit;
78  QPushButton* pb_hsmodl;
79  QPushButton* pb_hsnois;
80  QPushButton* pb_helpdt;
81  QPushButton* pb_help;
82  QPushButton* pb_close;
83 
84  QComboBox* cb_runid;
85  QComboBox* cb_triple;
86  QComboBox* cb_source;
87 
88  int personID;
89  int ntrows;
90  int ntcols;
91  int ncrecs;
92  int ncraws;
93  int ncedts;
94  int ncmods;
95  int ncnois;
96  int ndrecs;
97  int ndraws;
98  int ndedts;
99  int ndmods;
100  int ndnois;
101  int nlrecs;
102  int nlraws;
103  int nledts;
104  int nlmods;
105  int nlnois;
106  int kdmy;
108 
110 
111  QString run_name;
112  QString investig;
113 
114  QStringList editIDs;
115  QStringList triples;
116  QStringList runIDs;
117 
118  private slots:
119 
120  void toggle_edits ( void );
121  void toggle_models( void );
122  void toggle_noises( void );
123  void dtree_help( void );
124  void scan_data ( void );
125  void reset( void );
126  void sel_investigator( void );
127  void assign_investigator( int );
128  void clickedItem( QTreeWidgetItem* );
129  QString action_text( QString, QString );
130  void action_result( int, QString );
131  void reset_hsbuttons( bool, bool, bool, bool );
132  void reportDataStatus( void );
133  void selected_runID ( QString );
134 
135  void help ( void )
136  { showHelp.show_help( "manage_data.html" ); };
137 
138  //quint32 crc32( quint32, const unsigned char*, int );
139  protected:
140  bool eventFilter( QObject*, QEvent* );
141 };
142 #endif