3 @author Bruno M. Carvalho and Deniz Sarioz
4 licensed under (open-source) QPL v1.0
5 which accompanies this distribution in the file QPL
8 #ifndef PROJECTIONWINDOW_H
9 #define PROJECTIONWINDOW_H
27 class projectionwindow : public QDialog
32 projectionwindow( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
36 QTabWidget* tabwidget1;
38 QWidget* projTypeWidget;
39 QLabel* projTypeLabel;
41 QLabel* projectionlabel;
42 QButtonGroup* projectionbuttongroup;
43 QRadioButton* oldbutton;
44 QRadioButton* realbutton;
46 QMultiLineEdit * bhcwindow;
47 QRadioButton* pseudobutton;
49 QTabWidget* pseudoCommandsWidget;
51 QWidget* idheaderWidget;
53 QLabel* idheaderlabel;
55 QWidget* geometryWidget;
56 QLabel* geometrylabel;
57 QButtonGroup* geometrybuttongroup;
58 QRadioButton* parallelbutton;
59 QRadioButton* divergentbutton;
60 QButtonGroup* parallelbuttongroup;
61 QRadioButton* uniformbutton;
62 QRadioButton* variablebutton;
63 QButtonGroup* parallelbuttongroup2;
64 QRadioButton* stripbutton;
65 QRadioButton* linebutton;
66 QButtonGroup* divergentbuttongroup;
67 QRadioButton* arcbutton;
68 QRadioButton* tangentbutton;
69 QLineEdit* sourcetoorigin;
70 QLabel* sourcetooriginlabel;
71 QLineEdit* sourcetodetector;
72 QLabel* sourcetodetectorlabel;
74 QButtonGroup* raysumsbuttongroup;
75 QRadioButton* userbutton;
77 QLabel* userrayslabel;
78 QRadioButton* programbutton;
79 QLineEdit* raysumsnelem;
80 QLabel* raysumsnelemlabel;
81 QLineEdit* raysumspixelsize;
82 QLabel* raysumspixelsizelabel;
83 QLineEdit* detectorspacing;
84 QLabel* detectorspacinglabel;
86 QButtonGroup* anglesbuttongroup;
89 QRadioButton* linobutton;
90 QRadioButton* equalspacingbutton;
91 QLineEdit* firstangle;
92 QLabel* firstanglelabel;
94 QLabel* lastanglelabel;
95 QRadioButton* nonebutton;
96 QLineEdit* angles; // DS: make it a regular line edit
97 QWidget* measurementWidget;
100 QWidget* measurementRun;
101 QLabel* measurementlabel;
102 QButtonGroup* measurementbuttongroup;
103 QRadioButton* perfectbutton;
104 QRadioButton* noisybutton;
106 QCheckBox* quantumbutton;
111 QLabel* calibrationlabel;
114 QCheckBox* scatterbutton;
119 QCheckBox* additivebutton;
124 QCheckBox* multiplicativebutton;
126 QLabel* multnmnlabel;
128 QLabel* multnsdlabel;
132 QLabel* backgroundlabel;
134 QLabel* backgr1label;
136 QLabel* backgr2label;
138 QLabel* backgr3label;
140 QLabel* backgr4label;
142 QLabel* backgr5label;
144 QLabel* backgr6label;
146 QLabel* backgr7label;
149 QPushButton* okbutton;
150 QPushButton* cancelbutton;
152 void populate_idheader();
153 void populate_geometry();
154 void populate_measurement();
156 bool check_idheader(QString& errs);
157 // bool check_geometry(QString& errs);
158 // bool check_measurement(QString& errs);
160 QString get_idheader();
161 QString get_geometry();
162 QString get_measurement();
165 void deactivateFields();
166 void activatePseudoFields();
167 void activateRealOptions();
170 void activateParallelFields();
171 void activateDivergentFields();
172 void activateUserFields();
173 void activateProgramFields();
174 void activateEqualSpacingFields();
175 void deactivateEqualSpacingFields();
176 void deactivateNoisyFields();
177 void activateNoisyFields();
178 void activateQuantumFields();
179 void activateScatterFields();
180 void activateAdditiveFields();
181 void activateMultiplicativeFields();
185 // for everything (mainly if pseudo)
189 #endif // PROJECTIONWINDOW_H