UltraScan III
us_data_loader.h
Go to the documentation of this file.
1 #ifndef US_DATA_LOAD_H
3 #define US_DATA_LOAD_H
4 
5 #include <QtGui>
6 
7 #include "us_extern.h"
8 #include "us_widgets_dialog.h"
9 #include "us_widgets.h"
10 #include "us_help.h"
11 #include "us_dataIO.h"
12 #include "us_db2.h"
13 
16 {
17  Q_OBJECT
18 
19  public:
20 
30 
31  US_DataLoader( bool, int,
32  QVector< US_DataIO::RawData >&,
33  QVector< US_DataIO::EditedData >&,
34  QStringList&,
35  QString&,
36  QString = "" );
37 
38  signals:
42  void changed( bool DB );
43 
45  void progress( const QString );
46 
47  private:
49 
50  class DataDesc // Description of each data set in the list presented
51  {
52  public:
53  QString runID; // Run identifier string
54  QString tripID; // Triple identifier string
55  QString editID; // Edit identifier string
56  QString label; // Identifying label for choice list
57  QString descript; // Full descriptive string
58  QString filename; // File name
59  QString dataGUID; // Data Global Identifier
60  QString aucGUID; // AUC GUID (same as dataGUID for raw)
61  QString date; // Date/time last updated
62  QString acheck; // Checksum + size of auc record
63  QString echeck; // Checksum + size of edit record
64  QString elabel; // Experiment (run) label
65  int DB_id; // Edit database ID number
66  int exp_id; // Experiment database ID number
67  int auc_id; // AUC database ID number
68  int tripknt; // Count of triples per run
69  int tripndx; // Index of triple in run
70  int editknt; // Count of edits per triple
71  int editndx; // Index of edit in triple
72  bool isEdit; // Flag: is this edit? False->raw
73  bool isLatest; // Flag: are edits latest ones
74  };
75 
76  QMap< QString, DataDesc > datamap; // Map of labels,data-desc-objs
77 
78  DataDesc ddesc; // Current selected data's description object
79  QStringList dlabels; // Keys for datamap
80 
81  QPushButton* pb_invest; // Investigator button
82 
83  QLineEdit* le_invest; // Investigator text entry
84  QLineEdit* le_dfilter; // Data search filter text entry
85 
86  QTextEdit* te_notes; // Notes text entry
87  QTreeWidget* tw_data; // Data list widget
88 
89  bool latest; // Current use-lastest-edit flag
90  bool sel_run; // Run-is-selected flag
91 
92  QString dsearch; // Current data search string
93  QString dinvtext; // Current data investigator string
94  QString runID_sel; // Currently selected run
95 
97 
98  QVector< US_DataIO::RawData >& rawData;
99  QVector< US_DataIO::EditedData >& editedData;
100  QStringList& triples;
101  QString& description;
102  QString etype_filt;
103 
104  private slots:
105  bool load_edit ( void );
106  void describe ( void );
107  void scan_dbase_edit( void );
108  void scan_local_edit( void );
109  void scan_dbase_runs( void );
110  void scan_local_runs( void );
111  void pare_to_latest ( void );
112  void pare_latest_mwl( void );
113  void show_data_info ( QPoint );
114  void list_data ( void );
115  void get_person ( void );
116  void update_disk_db( bool );
117  void update_person ( int );
118  void search ( const QString& );
119  void cancelled ( void );
120  void selected ( void );
121  void accepted ( void );
122  void experiment_info( QString&, QString&, QString& );
123  void help ( void )
124  { showHelp.show_help( "data_loader.html" ); };
125 
126  protected:
132  bool eventFilter( QObject*, QEvent* );
133 };
134 #endif