UltraScan III
us_ga_init.h
Go to the documentation of this file.
1 #ifndef US_GA_INIT_H
2 #define US_GA_INIT_H
3 
4 #include <QtGui>
5 
6 #include "qwt_plot_marker.h"
7 #include "qwt_plot_spectrogram.h"
8 #include "qwt_plot_layout.h"
9 #include "qwt_plot_zoomer.h"
10 #include "qwt_plot_panner.h"
11 #include "qwt_scale_widget.h"
12 #include "qwt_scale_draw.h"
13 #include "qwt_color_map.h"
14 
15 #include "us_extern.h"
16 #include "us_widgets.h"
17 #include "us_help.h"
18 #include "us_editor.h"
19 #include "us_plot.h"
20 #include "us_colorgradIO.h"
21 #include "us_spectrodata.h"
22 #include "us_solutedata.h"
23 
25 bool distro_lessthan( const S_Solute&, const S_Solute& );
26 
30 {
31  Q_OBJECT
32 
33  public:
36 
38 
39  private:
40 
41  QLabel* lb_info1;
42  QLabel* lb_nisols;
43  QLabel* lb_wxbuck;
44  QLabel* lb_hybuck;
45  QLabel* lb_info2;
46  QLabel* lb_resolu;
47  QLabel* lb_xreso;
48  QLabel* lb_yreso;
49  QLabel* lb_zfloor;
50  QLabel* lb_autlim;
51  QLabel* lb_plxmin;
52  QLabel* lb_plxmax;
53  QLabel* lb_plymin;
54  QLabel* lb_plymax;
55 
56  QListWidget* lw_sbin_data;
57  QTextEdit* te_pctl_help;
58  QTextEdit* te_status;
59  QLineEdit* le_prefilt;
60 
62 
63  QwtCounter* ct_nisols;
64  QwtCounter* ct_wxbuck;
65  QwtCounter* ct_hybuck;
66  QwtCounter* ct_resolu;
67  QwtCounter* ct_xreso;
68  QwtCounter* ct_yreso;
69  QwtCounter* ct_zfloor;
70  QwtCounter* ct_plxmin;
71  QwtCounter* ct_plxmax;
72  QwtCounter* ct_plymin;
73  QwtCounter* ct_plymax;
74 
75  QwtPlot* data_plot;
76  QwtPlotSpectrogram* d_spectrogram;
77  QwtPlotCurve* pc1;
78  QwtLinearColorMap* colormap;
81 
83 
84  QPushButton* pb_prefilt;
85  QPushButton* pb_lddistr;
86  QPushButton* pb_ldcolor;
87  QPushButton* pb_refresh;
88  QPushButton* pb_mandrsb;
89  QPushButton* pb_shrnksb;
90  QPushButton* pb_ckovrlp;
91  QPushButton* pb_autassb;
92  QPushButton* pb_resetsb;
93  QPushButton* pb_help;
94  QPushButton* pb_close;
95  QPushButton* pb_save;
96  QPushButton* pb_reset;
97  QPushButton* pb_view;
98 
99  QCheckBox* ck_autlim;
100  QCheckBox* ck_1dplot;
101  QCheckBox* ck_2dplot;
102  QCheckBox* ck_3dplot;
103 
104  QRadioButton* rb_x_s;
105  QRadioButton* rb_x_ff0;
106  QRadioButton* rb_x_mw;
107  QRadioButton* rb_x_vbar;
108  QRadioButton* rb_x_D;
109  QRadioButton* rb_x_f;
110  QRadioButton* rb_y_s;
111  QRadioButton* rb_y_ff0;
112  QRadioButton* rb_y_mw;
113  QRadioButton* rb_y_vbar;
114  QRadioButton* rb_y_D;
115  QRadioButton* rb_y_f;
116 
117  QButtonGroup* bg_x_axis;
118  QButtonGroup* bg_y_axis;
119 
120  QPen* pickpen;
121  QPen cbukpen;
122  QPen pbukpen;
123 
124  QList< S_Solute > sk_distro;
125  QList< S_Solute > xy_distro;
126  QList< S_Solute >* sdistro;
127 
128  QwtDoublePoint p1;
129  QwtDoublePoint p2;
130 
131  double wxbuck;
132  double hybuck;
133  double resolu;
134  double plxmin;
135  double plxmax;
136  double plymin;
137  double plymax;
138  double k_range;
139  double s_range;
140  double xreso;
141  double yreso;
142  double zfloor;
143 
144  int nisols;
145  int nibuks;
146  int mc_iters;
147  int patm_id;
149  int plot_dim;
151  int sxset;
152  int psdsiz;
154  int plot_xy;
155  int attr_x;
156  int attr_y;
157  int attr_z;
158 
159  bool minmax;
160  bool zoom;
161  bool auto_lim;
164  bool runsel;
165  bool latest;
166  bool manbuks;
167  bool is_saved;
168 
169  QString run_name;
170  QString analys_name;
171  QString method;
172  QString xa_title_s;
173  QString xa_title_w;
174  QString ya_title_k;
175  QString ya_title_v;
176  QString xa_title;
177  QString ya_title;
178  QString cmapname;
179  QString dfilname;
180  QString stcmline;
181  QString stdiline;
182  QString stdfline;
183  QString stnpline;
184  QString stfxline;
185  QString mfilter;
186  QString editGUID;
187 
188  QStringList pfilts;
189 
190  private slots:
191 
192  void update_nisols( double );
193  void update_wxbuck( double );
194  void update_hybuck( double );
195  void update_resolu( double );
196  void update_xreso( double );
197  void update_yreso( double );
198  void update_zfloor( double );
199  void update_plxmin( double );
200  void update_plxmax( double );
201  void update_plymin( double );
202  void update_plymax( double );
203  void replot_data( void );
204  void plot_1dim( void );
205  void plot_2dim( void );
206  void plot_3dim( void );
207  void select_autolim( void );
208  void select_plot1d( void );
209  void select_plot2d( void );
210  void select_plot3d( void );
211  void select_prefilt( void );
212  void load_distro ( void );
213  void load_color( void );
214  void manDrawSb( void );
215  void checkOverlaps( void );
216  void autoAssignSb( void );
217  void resetSb( void );
218  void save( void );
219  void reset( void );
220  void view( void );
221  void set_limits( void );
222  void sort_distro( QList< S_Solute >&, bool );
223  void setBucketPens( void );
224  void highlight_solute( QwtPlotCurve* );
225  void highlight_solute( int );
226  void getMouseDown( const QwtDoublePoint& );
227  void getMouseUp( const QwtDoublePoint& );
228  void sclick_sbdata( const QModelIndex& );
229  void dclick_sbdata( const QModelIndex& );
230  void newrow_sbdata( int );
231  void changeBucketRect( int, QRectF& );
232  QwtPlotCurve* drawBucketRect( int, QRectF );
233  QwtPlotCurve* drawBucketRect( int, QPointF, QPointF );
234  QwtPlotCurve* bucketCurveAt( int );
235  void erase_buckets ( bool );
236  void erase_buckets ( void );
237  void removeSoluteBin ( int );
238  void resetPlotAndList( int );
239  bool equivalent ( double, double, double );
240  void update_disk_db ( bool );
241  void select_x_axis ( int );
242  void select_y_axis ( int );
243  void build_xy_distro ( void );
244  QString anno_title ( int );
245 
246  void help ( void )
247  { showHelp.show_help( "ga_initialize.html" ); };
248 
249  protected:
250  bool eventFilter( QObject*, QEvent* );
251 };
252 #endif