source: src/UIElements/Qt4/Query/QtQuery.hpp@ 7d9416

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since 7d9416 was 7d9416, checked in by Frederik Heber <heber@…>, 13 years ago

Turned query<Box> into query<RealSpaceMatrix>

  • Property mode set to 100644
File size: 9.3 KB
Line 
1/*
2 * QtQuery.hpp
3 *
4 * Created on: Nov 8, 2010
5 * Author: heber
6 */
7
8#ifndef QTQUERY_HPP_
9#define QTQUERY_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16
17#include "Qt4/QtDialog.hpp"
18#include "Parameters/Parameter.hpp"
19
20class QHBoxLayout;
21class QBoxLayout;
22class QDialogButtonBox;
23class QLabel;
24class QSpinBox;
25class QDoubleSpinBox;
26class QLineEdit;
27class QListWidget;
28class QPushButton;
29class QTableWidget;
30class QTextEdit;
31class QComboBox;
32class QCheckBox;
33
34// Forward declarations for plumbing
35template<typename T> class QtQueryListPipe;
36class AtomQtQueryPipe;
37class AtomsQtQueryPipe;
38class BooleanQtQueryPipe;
39class RealSpaceMatrixQtQueryPipe;
40class DoubleQtQueryPipe;
41class DoublesQtQueryPipe;
42class ElementQtQueryPipe;
43class ElementsQtQueryPipe;
44class EmptyQtQueryPipe;
45class FileQtQueryPipe;
46class IntQtQueryPipe;
47class MoleculeQtQueryPipe;
48class MoleculesQtQueryPipe;
49class StringQtQueryPipe;
50class StringsQtQueryPipe;
51class UnsignedIntQtQueryPipe;
52class UnsignedIntsQtQueryPipe;
53class VectorQtQueryPipe;
54class VectorsQtQueryPipe;
55class RandomNumberDistribution_ParametersQtQueryPipe;
56
57class QtDialog::AtomQtQuery : public Dialog::AtomQuery {
58public:
59 AtomQtQuery(Parameter<const atom *> &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog);
60 virtual ~AtomQtQuery();
61 virtual bool handle();
62private:
63 QBoxLayout *parent;
64 QBoxLayout *thisLayout;
65 QLabel *titleLabel;
66 QComboBox *inputBox;
67
68 AtomQtQueryPipe *pipe;
69};
70
71class QtDialog::AtomsQtQuery : public Dialog::AtomsQuery {
72public:
73 AtomsQtQuery(Parameter<std::vector<const atom *> > &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog);
74 virtual ~AtomsQtQuery();
75 virtual bool handle();
76private:
77 QBoxLayout *parent;
78 QBoxLayout *thisLayout;
79 QLabel *titleLabel;
80 QLabel *inputLabel;
81 QListWidget *inputList;
82
83 AtomsQtQueryPipe *pipe;
84};
85
86class QtDialog::BooleanQtQuery : public Dialog::BooleanQuery {
87public:
88 BooleanQtQuery(Parameter<bool> &, std::string _title, QBoxLayout *_parent, QtDialog *_dialog);
89 virtual ~BooleanQtQuery();
90 virtual bool handle();
91private:
92 QBoxLayout *parent;
93 QBoxLayout *thisLayout;
94 QLabel *titleLabel;
95 QCheckBox *booleanCheckBox;
96
97 BooleanQtQueryPipe *pipe;
98};
99
100class QtDialog::RealSpaceMatrixQtQuery : public Dialog::RealSpaceMatrixQuery {
101public:
102 RealSpaceMatrixQtQuery(Parameter<RealSpaceMatrix> &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog);
103 virtual ~RealSpaceMatrixQtQuery();
104 virtual bool handle();
105private:
106 QBoxLayout *parent;
107 QBoxLayout *thisLayout;
108 QLabel *titleLabel;
109 QTableWidget *inputTable;
110
111 RealSpaceMatrixQtQueryPipe *pipe;
112};
113
114class QtDialog::DoubleQtQuery : public Dialog::DoubleQuery {
115public:
116 DoubleQtQuery(Parameter<double> &, std::string title,QBoxLayout *_parent,QtDialog *_dialog);
117 virtual ~DoubleQtQuery();
118 virtual bool handle();
119private:
120 QBoxLayout *parent;
121 QBoxLayout *thisLayout;
122 QLabel *titleLabel;
123 QDoubleSpinBox *inputBox;
124
125 DoubleQtQueryPipe *pipe;
126};
127
128class QtDialog::DoublesQtQuery : public Dialog::DoublesQuery {
129public:
130 DoublesQtQuery(Parameter<std::vector<double> > &, std::string title,QBoxLayout *_parent,QtDialog *_dialog);
131 virtual ~DoublesQtQuery();
132 virtual bool handle();
133private:
134 QBoxLayout *parent;
135 QBoxLayout *thisLayout;
136 QLabel *titleLabel;
137 QDoubleSpinBox *inputBox;
138
139 QtQueryListPipe<double> *pipe;
140};
141
142class QtDialog::ElementQtQuery : public Dialog::ElementQuery {
143public:
144 ElementQtQuery(Parameter<const element *> &, std::string _title, QBoxLayout *_parent, QtDialog *_dialog);
145 virtual ~ElementQtQuery();
146 virtual bool handle();
147private:
148 QBoxLayout *parent;
149 QBoxLayout *thisLayout;
150 QLabel *titleLabel;
151 QComboBox *inputBox;
152
153 ElementQtQueryPipe *pipe;
154};
155
156class QtDialog::ElementsQtQuery : public Dialog::ElementsQuery {
157public:
158 ElementsQtQuery(Parameter<std::vector<const element *> > &, std::string _title, QBoxLayout *_parent, QtDialog *_dialog);
159 virtual ~ElementsQtQuery();
160 virtual bool handle();
161private:
162 QBoxLayout *parent;
163 QBoxLayout *thisLayout;
164 QLabel *titleLabel;
165 QComboBox *inputBox;
166
167 ElementsQtQueryPipe *pipe;
168};
169
170class QtDialog::EmptyQtQuery : public Dialog::EmptyQuery {
171public:
172 EmptyQtQuery(std::string _title, QBoxLayout *_parent, QtDialog *_dialog);
173 virtual ~EmptyQtQuery();
174 virtual bool handle();
175private:
176 QBoxLayout *parent;
177 QBoxLayout *thisLayout;
178 QLabel *titleLabel;
179
180 EmptyQtQueryPipe *pipe;
181};
182
183class QtDialog::FileQtQuery : public Dialog::FileQuery {
184public:
185 FileQtQuery(Parameter<boost::filesystem::path> &, std::string _title, QBoxLayout *_parent, QtDialog *_dialog);
186 virtual ~FileQtQuery();
187 virtual bool handle();
188private:
189 QBoxLayout *parent;
190 QBoxLayout *thisLayout;
191 QLabel *filenameLabel;
192 QLineEdit *filenameLineEdit;
193 QPushButton *filedialogButton;
194
195 FileQtQueryPipe *pipe;
196};
197
198class QtDialog::IntQtQuery : public Dialog::IntQuery {
199public:
200 IntQtQuery(Parameter<int> &, std::string _title,QBoxLayout *_parent,QtDialog *_dialog);
201 virtual ~IntQtQuery();
202 virtual bool handle();
203private:
204 QBoxLayout *parent;
205 QBoxLayout *thisLayout;
206 QLabel *titleLabel;
207 QSpinBox *inputBox;
208
209 IntQtQueryPipe *pipe;
210};
211
212class QtDialog::IntsQtQuery : public Dialog::IntsQuery {
213public:
214 IntsQtQuery(Parameter<std::vector<int> > &, std::string _title,QBoxLayout *_parent,QtDialog *_dialog);
215 virtual ~IntsQtQuery();
216 virtual bool handle();
217 void IntegerEntered(const QString&);
218 void IntegerSelected();
219 void AddInteger();
220 void RemoveInteger();
221private:
222 QBoxLayout *parent;
223 QBoxLayout *thisLayout;
224 QLabel *titleLabel;
225
226 QtQueryListPipe<int> *pipe;
227};
228
229class QtDialog::MoleculeQtQuery : public Dialog::MoleculeQuery {
230public:
231 MoleculeQtQuery(Parameter<const molecule *> &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog);
232 virtual ~MoleculeQtQuery();
233 virtual bool handle();
234private:
235 QBoxLayout *parent;
236 QBoxLayout *thisLayout;
237 QLabel *titleLabel;
238 QComboBox *inputBox;
239
240 MoleculeQtQueryPipe *pipe;
241};
242
243class QtDialog::MoleculesQtQuery : public Dialog::MoleculesQuery {
244public:
245 MoleculesQtQuery(Parameter<std::vector<const molecule *> > &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog);
246 virtual ~MoleculesQtQuery();
247 virtual bool handle();
248private:
249 QBoxLayout *parent;
250 QBoxLayout *thisLayout;
251 QLabel *titleLabel;
252 QComboBox *inputBox;
253
254 MoleculesQtQueryPipe *pipe;
255};
256
257class QtDialog::StringQtQuery : public Dialog::StringQuery {
258public:
259 StringQtQuery(Parameter<std::string> &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog);
260 virtual ~StringQtQuery();
261 virtual bool handle();
262private:
263 QBoxLayout *parent;
264 QBoxLayout *thisLayout;
265 QLabel *titleLabel;
266 QLineEdit *inputBox;
267
268 StringQtQueryPipe *pipe;
269};
270
271class QtDialog::StringsQtQuery : public Dialog::StringsQuery {
272public:
273 StringsQtQuery(Parameter<std::vector<std::string> > &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog);
274 virtual ~StringsQtQuery();
275 virtual bool handle();
276private:
277 QBoxLayout *parent;
278 QBoxLayout *thisLayout;
279 QLabel *titleLabel;
280 QLineEdit *inputBox;
281
282 QtQueryListPipe<std::string> *pipe;
283};
284
285class QtDialog::UnsignedIntQtQuery : public Dialog::UnsignedIntQuery {
286public:
287 UnsignedIntQtQuery(Parameter<unsigned int> &, std::string _title,QBoxLayout *_parent,QtDialog *_dialog);
288 virtual ~UnsignedIntQtQuery();
289 virtual bool handle();
290private:
291 QBoxLayout *parent;
292 QBoxLayout *thisLayout;
293 QLabel *titleLabel;
294 QSpinBox *inputBox;
295
296 UnsignedIntQtQueryPipe *pipe;
297};
298
299class QtDialog::UnsignedIntsQtQuery : public Dialog::UnsignedIntsQuery {
300public:
301 UnsignedIntsQtQuery(Parameter<std::vector<unsigned int> > &, std::string _title,QBoxLayout *_parent,QtDialog *_dialog);
302 virtual ~UnsignedIntsQtQuery();
303 virtual bool handle();
304 void IntegerEntered(const QString&);
305 void IntegerSelected();
306 void AddInteger();
307 void RemoveInteger();
308private:
309 QBoxLayout *parent;
310 QBoxLayout *thisLayout;
311 QLabel *titleLabel;
312
313 QtQueryListPipe<unsigned int> *pipe;
314};
315
316
317class QtDialog::VectorQtQuery : public Dialog::VectorQuery {
318public:
319 VectorQtQuery(Parameter<Vector> &, std::string title,bool _check,QBoxLayout *,QtDialog *);
320 virtual ~VectorQtQuery();
321 virtual bool handle();
322private:
323 QBoxLayout *parent;
324 QBoxLayout *mainLayout;
325 QLabel *titleLabel;
326 QBoxLayout *subLayout;
327 QBoxLayout *coordLayout;
328 QLabel *coordLabel;
329 QDoubleSpinBox *coordInputX;
330 QDoubleSpinBox *coordInputY;
331 QDoubleSpinBox *coordInputZ;
332
333 VectorQtQueryPipe *pipe;
334};
335
336class QtDialog::VectorsQtQuery : public Dialog::VectorsQuery {
337public:
338 VectorsQtQuery(Parameter<std::vector<Vector> > &, std::string title,bool _check,QBoxLayout *,QtDialog *);
339 virtual ~VectorsQtQuery();
340 virtual bool handle();
341private:
342 QBoxLayout *parent;
343 QBoxLayout *mainLayout;
344 QLabel *titleLabel;
345 QBoxLayout *subLayout;
346 QBoxLayout *coordLayout;
347 QLabel *coordLabel;
348 QDoubleSpinBox *coordInput;
349
350 VectorsQtQueryPipe *pipe;
351};
352
353class QtDialog::RandomNumberDistribution_ParametersQtQuery : public Dialog::RandomNumberDistribution_ParametersQuery {
354public:
355 RandomNumberDistribution_ParametersQtQuery(Parameter<RandomNumberDistribution_Parameters> &, std::string title,QBoxLayout *,QtDialog *);
356 virtual ~RandomNumberDistribution_ParametersQtQuery();
357 virtual bool handle();
358private:
359 QBoxLayout *parent;
360 QHBoxLayout *thisLayout;
361 QLabel *titleLabel;
362 QTextEdit *inputBox;
363 QPushButton *okButton;
364
365 RandomNumberDistribution_ParametersQtQueryPipe *pipe;
366};
367
368#endif /* QTQUERY_HPP_ */
Note: See TracBrowser for help on using the repository browser.