UltraScan III
us_pseudo3d_combine.h
Go to the documentation of this file.
1 #ifndef US_PSE3D_COMBINE_H
2 #define US_PSE3D_COMBINE_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_model_loader.h"
20 #include "us_plot.h"
21 #include "us_colorgradIO.h"
22 #include "us_spectrodata.h"
23 
25 typedef struct distro_sys
26 {
27  QList< S_Solute > sk_distro;
28  QList< S_Solute > xy_distro;
29  QList< S_Solute > sk_distro_zp;
30  QList< S_Solute > xy_distro_zp;
31  QwtLinearColorMap* colormap;
32  QString run_name;
33  QString analys_name;
34  QString method;
35  QString cmapname;
36  QString editGUID;
38  int plot_x;
39  int plot_y;
41 } DisSys;
42 
44 bool distro_lessthan( const S_Solute&, const S_Solute& );
45 
48 {
49  Q_OBJECT
50 
51  public:
54 
55  private:
56 
58 
59  QLabel* lb_plt_smin;
60  QLabel* lb_plt_smax;
61  QLabel* lb_plt_kmin;
62  QLabel* lb_plt_kmax;
63 
64  QTextEdit* te_distr_info;
65 
66  QLineEdit* le_cmap_name;
67  QLineEdit* le_prefilt;
68 
70 
71  QwtCounter* ct_resolu;
72  QwtCounter* ct_xreso;
73  QwtCounter* ct_yreso;
74  QwtCounter* ct_zfloor;
75  QwtCounter* ct_plt_kmin;
76  QwtCounter* ct_plt_kmax;
77  QwtCounter* ct_plt_smin;
78  QwtCounter* ct_plt_smax;
79  QwtCounter* ct_plt_dlay;
80  QwtCounter* ct_curr_distr;
81 
82  QwtPlot* data_plot;
83 
84  QwtPlotPicker* pick;
85 
86  QwtLinearColorMap* colormap;
87 
89 
90  QPushButton* pb_pltall;
91  QPushButton* pb_stopplt;
92  QPushButton* pb_refresh;
93  QPushButton* pb_reset;
94  QPushButton* pb_prefilt;
95  QPushButton* pb_lddistr;
96  QPushButton* pb_ldcolor;
97  QPushButton* pb_help;
98  QPushButton* pb_close;
99  QPushButton* pb_rmvdist;
100 
101  QCheckBox* ck_autosxy;
102  QCheckBox* ck_autoscz;
103  QCheckBox* ck_conloop;
104  QCheckBox* ck_plot_sk;
105  QCheckBox* ck_plot_wk;
106  QCheckBox* ck_plot_sv;
107  QCheckBox* ck_plot_wv;
108  QCheckBox* ck_zpcent;
109  QCheckBox* ck_savepl;
110  QCheckBox* ck_locsave;
111 
112  QRadioButton* rb_x_s;
113  QRadioButton* rb_x_ff0;
114  QRadioButton* rb_x_mw;
115  QRadioButton* rb_x_vbar;
116  QRadioButton* rb_x_D;
117  QRadioButton* rb_x_f;
118  QRadioButton* rb_y_s;
119  QRadioButton* rb_y_ff0;
120  QRadioButton* rb_y_mw;
121  QRadioButton* rb_y_vbar;
122  QRadioButton* rb_y_D;
123  QRadioButton* rb_y_f;
124 
125  QButtonGroup* bg_x_axis;
126  QButtonGroup* bg_y_axis;
127 
128  QList< DisSys > system;
129 
130  double resolu;
131  double plt_smin;
132  double plt_smax;
133  double plt_kmin;
134  double plt_kmax;
135  double plt_zmin;
136  double plt_zmax;
137  double plt_zmin_zp;
138  double plt_zmax_zp;
139  double plt_zmin_co;
140  double plt_zmax_co;
141  double s_range;
142  double k_range;
143  double xreso;
144  double yreso;
145  double zfloor;
146 
149  int mc_iters;
150  int patm_id;
153  int plot_x;
154  int plot_y;
155 
156  bool cnst_vbar;
157  bool auto_sxy;
158  bool auto_scz;
159  bool cont_loop;
160  bool looping;
161  bool need_save;
162  bool runsel;
163  bool latest;
164  bool zpcent;
165 
166  QString xa_title;
167  QString ya_title;
168  QString cmapname;
169  QString mfilter;
170 
171  QStringList pfilts;
172 
173  private slots:
174 
175  void update_resolu( double );
176  void update_xreso( double );
177  void update_yreso( double );
178  void update_zfloor( double );
179  void update_curr_distr( double );
180  void update_plot_smin( double );
181  void update_plot_smax( double );
182  void update_plot_kmin( double );
183  void update_plot_kmax( double );
184  void plot_data( int );
185  void plot_data( void );
186  void select_autosxy( void );
187  void select_autoscz( void );
188  void select_conloop( void );
189  void update_disk_db( bool );
190  void select_prefilt( void );
191  void load_distro( void );
192  void load_distro( US_Model, QString );
193  void load_color( void );
194  void plotall( void );
195  void stop( void );
196  void reset( void );
197  void set_limits( void );
198  void sort_distro( QList< S_Solute >&, bool );
199  void remove_distro( void );
200  void select_x_axis( int );
201  void select_y_axis( int );
202  void build_xy_distro( void );
203  QString anno_title ( int );
204 
205  void help ( void )
206  { showHelp.show_help( "pseudo3d_combine.html" ); };
207 
208  protected:
209  virtual void timerEvent( QTimerEvent *e );
210 };
211 #endif