UltraScan III
us_buffer_gui.h
Go to the documentation of this file.
1 #ifndef US_BUFFER_GUI_H
3 #define US_BUFFER_GUI_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_buffer.h"
11 #include "us_help.h"
12 
15 {
16  Q_OBJECT
17 
18  public:
25  US_BufferGui( bool = false,
26  const US_Buffer& = US_Buffer(),
28  signals:
32  void valueChanged( double density, double viscosity );
33 
36  void valueChanged( US_Buffer buffer );
37 
42  void valueBufferID( const QString bufferID );
43 
46  void use_db( bool DB );
47 
48  private:
49  bool signal;
53  int personID;
54 
57 
60  QMap< QString, US_BufferComponent > component_list;
61 
62  // For list widget
63  class BufferInfo
64  {
65  public:
66  QString description;
67  QString bufferID;
68  QString guid;
69  int index;
70  };
71 
72  QList< BufferInfo > buffer_metadata;
73 
74  QStringList filenames;
75  QStringList descriptions;
76  QStringList GUIDs;
77  QStringList bufferIDs;
78 
79  QPushButton* pb_save;
80  QPushButton* pb_update;
81  QPushButton* pb_del;
82  QPushButton* pb_spectrum;
83 
84  QComboBox* cmb_optics;
85 
87 
88  QListWidget* lw_buffer_db;
89  QListWidget* lw_ingredients;
90  QListWidget* lw_buffer;
91 
92  QCheckBox* cb_shared;
93  QCheckBox* cb_manual;
94 
95  QLineEdit* le_search;
96  QLineEdit* le_density;
97  QLineEdit* le_viscosity;
98  QLineEdit* le_ph;
99  QLineEdit* le_compressibility;
100  QLineEdit* le_description;
101  QLineEdit* le_investigator;
102  QLineEdit* le_concentration;
103  QLineEdit* le_guid;
104 
105  QPalette normal;
106  QPalette gray;
107 
108  QLabel* lb_units;
109  QLabel* lb_selected;
110 
112 
113  void read_db ( void );
114  void read_buffer ( void );
115  void recalc_density ( void );
116  void recalc_viscosity( void );
117  void update_buffer ( void );
118  void connect_error ( const QString& );
119  bool buffer_path ( QString& );
120  void update_lw_buf ( const QString&, double );
121  void read_from_disk ( QListWidgetItem* );
122  void read_from_db ( QListWidgetItem* );
123  void read_from_db ( const QString& );
124  void save_db ( void );
125  void save_disk ( void );
126  void delete_db ( void );
127  void delete_disk ( void );
128  void update_db ( void );
129  bool up_to_date ( void );
130  void init_buffer ( void );
131  bool buffer_in_use ( QString& );
132 
133  private slots:
134  void synch_components ( void );
135  void sel_investigator ( void );
136  void save ( void );
137  void update ( void );
138  void delete_buffer ( void );
139  void query ( void );
140  void reset ( void );
141  void spectrum ( void );
142  void list_component ( void );
143  void add_component ( void );
144  void accept_buffer ( void );
145  void check_db ( void );
146  void new_description ( void );
147  void density ( const QString& );
148  void viscosity ( const QString& );
149  void remove_component ( QListWidgetItem* );
150  void select_buffer ( QListWidgetItem* );
151  void search ( const QString& = QString() );
152  void assign_investigator( int );
153  void source_changed ( bool );
154 
155  void help ( void ) { showHelp.show_help( "us_buffer.html" ); };
156 };
157 #endif