UltraScan III
us_run_details2.h
Go to the documentation of this file.
1 #ifndef US_RUN_DETAILS_H
3 #define US_RUN_DETAILS_H
4 
5 #include <QtGui>
6 
7 #include "us_extern.h"
8 #include "us_widgets_dialog.h"
9 #include "us_dataIO.h"
10 #include "us_plot.h"
11 
13 
15 {
16  Q_OBJECT
17 
18  public:
25  US_RunDetails2( const QVector< US_DataIO::RawData >&,
26  const QString&,
27  const QString&,
28  const QStringList& );
29 
31  ~US_RunDetails2();
32 
33  private:
34  const QVector< US_DataIO::RawData >& dataList;
35  const QStringList& triples;
36 
37  // key = rpm, value = triple + scan#
38  QMultiMap< int, QString > map;
39 
41  {
42  public:
43  double seconds;
44  double rpm;
45  double temperature;
46 
47  graphValue( double s, double r, double t ):
48  seconds( s ), rpm( r ), temperature( t ) {};
49 
50  bool operator < (const graphValue& other )
51  const { return seconds < other.seconds; };
52  };
53 
54  bool temp_warn;
55 
56  enum pType { COMBINED, TEMPERATURE, RPM, INTERVAL };
58 
59  QListWidget* lw_triples;
60  QListWidget* lw_rpm;
61 
62  QTimer* timer;
63 
64  QLabel* lb_red;
65  QLabel* lb_green;
66 
67  QLineEdit* le_desc;
68  QLineEdit* le_avgTemp;
69  QLineEdit* le_runLen;
70  QLineEdit* le_timeCorr;
71  QLineEdit* le_rotorSpeed;
72  QLineEdit* le_runID;
73 
74  QwtPlot* data_plot;
75 
76  void setup ( void );
77  void show_all_data( void );
78  void draw_plot ( const double*, const double*,
79  const double*, const double*, int );
80  void check_temp ( double );
81 
82  private slots:
83  void update ( int );
84  void update_timer ( void );
85  void show_rpm_details ( QListWidgetItem* );
86  void plot_temp ( void );
87  void plot_rpm ( void );
88  void plot_interval ( void );
89  void plot_combined ( void );
90  QString moreSpeedInfo ( double );
91 };
92 #endif