QlightRead package | ESS final project 1.22-beta
|
00001 00042 #ifndef MAINWINDOW_H 00043 #define MAINWINDOW_H 00044 00045 #include <QMainWindow> 00046 #include <qextserialport.h> 00047 #include <QtGui> 00048 #include <QFileDialog> 00049 #include <iostream> 00050 #include <libusb-1.0/libusb.h> 00051 00052 #include "dataplot.h" 00053 #include "settings_dialog.h" 00054 00055 #include <qwt/qwt_plot.h> 00056 #include <qwt/qwt_plot_curve.h> 00057 #include <qwt/qwt_array.h> 00058 #include <qwt/qwt_math.h> 00059 #include <qwt/qwt_plot.h> 00060 00061 00062 QT_BEGIN_NAMESPACE 00063 class QAction; 00064 class QActionGroup; 00065 class QLabel; 00066 class QMenu; 00067 QT_END_NAMESPACE 00068 00069 00070 class MainWindow : public QMainWindow 00071 { 00072 Q_OBJECT 00073 00074 public: 00075 00076 MainWindow(); 00077 QLabel *C_v_i; 00078 QLabel *A_v_i; 00079 QLabel *Con_V; 00080 QProgressBar *ab; 00081 QProgressBar *ib; 00082 QLabel *bar_l; 00083 QDockWidget *dock; 00084 QDockWidget *dock1; 00085 QVBoxLayout *curvelayout; 00086 QWidget *widget; 00087 int pid; 00088 int vid; 00089 int transferred; 00090 00091 protected: 00092 00093 00094 private slots: 00095 00096 void serial_receive(); 00097 void update_gui(int mode, double value); 00098 void rescale_axis(int timer); 00099 void data_viewer(); 00100 void connect_U(); 00101 void connect_B(); 00102 void connect_S(); 00103 void restart_timer(int timer_value); 00104 void save_plot(); 00105 void clear_plot(); 00106 void Save_C(); 00107 void set_USB(); 00108 void set_Blue(); 00109 void set_Prog(); 00110 void about(); 00111 void aboutQt(); 00112 00113 void set_Serial(); 00114 void write_to_file(QString fileName, QString pstr); 00115 00116 private: 00117 void createActions(); 00118 void createMenus(); 00119 void createDockWindows(); 00120 void custom_title_set(QString C_dev); 00121 00122 00123 DataPlot* plot; 00124 CurveData* data; 00125 ProgEditDialog *Edit; 00126 virtual void timerEvent( QTimerEvent* e ); 00127 00128 QMenu *fileMenu; 00129 QMenu *plotMenu; 00130 QMenu *dataMenu; 00131 QMenu *settingMenu; 00132 QMenu *devices; 00133 QMenu *connectd; 00134 QMenu *helpMenu; 00135 int timer; 00136 int connect_v; //0 - not connected ; 1 - Usb connection ; 2 - bluetooth connection ; 3 - Serial connection ; other - invalid state 00137 char global_in[4096]; 00138 int disc_flag; //diconnect flag to kill active connections if 1 else nothing; 00139 QextSerialPort* port; 00140 00141 00142 QAction *datav; 00143 QAction *plotAct; 00144 QAction *usbAct; 00145 QAction *blueAct; 00146 QAction *exitAct; 00147 QAction *open_PAct; 00148 QAction *save_PAct; 00149 QAction *clear_PAct; 00150 QAction *open_CAct; 00151 QAction *save_CAct; 00152 QAction *set_usbAct; 00153 QAction *set_blueAct; 00154 QAction *set_progAct; 00155 QAction *aboutAct; 00156 QAction *aboutQtAct; 00157 QAction *set_mserial; 00158 QAction *serialAct; 00159 00160 QString o_fileP; 00161 QString o_filec; 00162 QString s_fileP; 00163 QString s_fileC; 00164 QString Plot_data_output; 00165 QString Data_output; 00166 00167 00168 QLabel *unit; 00169 int amount; 00170 double av; 00171 00172 }; 00173 00174 00175 #endif