Scanframe Modular Application 0.1.0
Loading...
Searching...
No Matches
AcquisitionControl.h
Go to the documentation of this file.
1#pragma once
2
3#include <QWidget>
4#include <QtUiPlugin/QDesignerExportWidget>
5#include <gii/qt/Macros.h>
6#include <misc/qt/Macros.h>
8
9class QStyleOptionFrame;
10
11class QPaintEvent;
12
13namespace sf
14{
15
17 : public QWidget
18 , public ObjectExtension
19{
20 Q_OBJECT
21
22 public:
23 explicit AcquisitionControl(QWidget* parent = nullptr);
24
26
28
29 QSize minimumSizeHint() const override;
30
31 bool isRequiredProperty(const QString& name) override;
32
33 protected:
34 void keyPressEvent(QKeyEvent* event) override;
35
36 void mousePressEvent(QMouseEvent* event) override;
37
38 void mouseReleaseEvent(QMouseEvent* event) override;
39
40 void paintEvent(QPaintEvent* event) override;
41
42 void focusInEvent(QFocusEvent* event) override;
43
44 void focusOutEvent(QFocusEvent* event) override;
45
46 void resizeEvent(QResizeEvent* event) override;
47
48 void mouseMoveEvent(QMouseEvent* event) override;
49
50 public:
51 Q_PROPERTY(int gripHeight READ getGripHeight WRITE setGripHeight)
52
53 SF_DECL_PROP_GS(int, GripHeight)
54
55 // The absolute maximum drawable signal value.
56 Q_PROPERTY(int valueMax READ getValueMax WRITE setValueMax)
57
58 SF_DECL_PROP_GS(int, ValueMax)
59
60 // Makes the threshold be changed using dragging.
61 Q_PROPERTY(bool thresholdDrag READ getThresholdDrag WRITE setThresholdDrag)
62
63 SF_DECL_PROP_GS(bool, ThresholdDrag)
64
65 // The value of the threshold is linked to the value range of the data.
66 Q_PROPERTY(bool thresholdLinked READ getThresholdLinked WRITE setThresholdLinked)
67
68 SF_DECL_PROP_GS(bool, ThresholdLinked)
69
70 Q_PROPERTY(bool gridEnabled READ getGridEnabled WRITE setGridEnabled)
71
72 SF_DECL_PROP_GS(bool, GridEnabled)
73
74 Q_PROPERTY(QColor colorForeground READ getColorForeground WRITE setColorForeground)
75
76 SF_DECL_PROP_GS(QColor, ColorForeground)
77
78 Q_PROPERTY(QColor colorBackground READ getColorBackground WRITE setColorBackground)
79
80 SF_DECL_PROP_GS(QColor, ColorBackground)
81
82 // Special color for the TCG line.
83 Q_PROPERTY(QColor colorTcgLine READ getColorTcgLine WRITE setColorTcgLine)
84
85 SF_DECL_PROP_GS(QColor, ColorTcgLine)
86
87 Q_PROPERTY(QColor colorTcgRange READ getColorTcgRange WRITE setColorTcgRange)
88
89 SF_DECL_PROP_GS(QColor, ColorTcgRange)
90
91 // Color for 10% line.
92 Q_PROPERTY(QColor colorAdjustmentLine READ getColorAdjustmentLine WRITE setColorAdjustmentLine)
93
94 SF_DECL_PROP_GS(QColor, ColorAdjustmentLine)
95
96 // Color for the grid lines.
97 Q_PROPERTY(QColor colorGridLines READ getColorGridLines WRITE setColorGridLines)
98
99 SF_DECL_PROP_GS(QColor, ColorGridLines)
100
101 // Period time of the sample frequency of the results.
102 Q_PROPERTY(sf::gii::IdType idTimeUnit READ getIdTimeUnit WRITE setIdTimeUnit)
103
104 SF_DECL_INFO_ID(IdTimeUnit)
105
106 Q_PROPERTY(sf::gii::IdType idGateCount READ getIdGateCount WRITE setIdGateCount)
107
108 SF_DECL_INFO_ID(IdGateCount)
109
110 Q_PROPERTY(sf::gii::IdType idIfShift READ getIdIfShift WRITE setIdIfShift)
111
112 SF_DECL_INFO_ID(IdIfShift)
113
114 // A-scan data source
115 Q_PROPERTY(sf::gii::IdType idCopyData READ getIdCopyData WRITE setIdCopyData)
116
117 SF_DECL_INFO_ID(IdCopyData)
118
119 // A-scan data and redirection index.
120 Q_PROPERTY(sf::gii::IdType idCopyIndex READ getIdCopyIndex WRITE setIdCopyIndex)
121
122 SF_DECL_INFO_ID(IdCopyIndex)
123
124 // A-scan delay and range.
125 Q_PROPERTY(sf::gii::IdType idCopyDelay READ getIdCopyDelay WRITE setIdCopyDelay)
126
127 SF_DECL_INFO_ID(IdCopyDelay)
128
129 Q_PROPERTY(sf::gii::IdType idCopyRange READ getIdCopyRange WRITE setIdCopyRange)
130
131 SF_DECL_INFO_ID(IdCopyRange)
132
133 // TCG parameters
134 Q_PROPERTY(sf::gii::IdType idTcgEnable READ getIdTcgEnable WRITE setIdTcgEnable)
135
136 SF_DECL_INFO_ID(IdTcgEnable)
137
138 Q_PROPERTY(sf::gii::IdType idTcgDelay READ getIdTcgDelay WRITE setIdTcgDelay)
139
140 SF_DECL_INFO_ID(IdTcgDelay)
141
142 Q_PROPERTY(sf::gii::IdType idTcgRange READ getIdTcgRange WRITE setIdTcgRange)
143
144 SF_DECL_INFO_ID(IdTcgRange)
145
146 Q_PROPERTY(sf::gii::IdType idTcgSlavedTo READ getIdTcgSlavedTo WRITE setIdTcgSlavedTo)
147
148 SF_DECL_INFO_ID(IdTcgSlavedTo)
149
150 // Gate 0 (If??)
151 Q_PROPERTY(sf::gii::IdType idGate0Delay READ getIdGate0Delay WRITE setIdGate0Delay)
152
153 SF_DECL_INFO_ID(IdGate0Delay)
154
155 Q_PROPERTY(sf::gii::IdType idGate0Range READ getIdGate0Range WRITE setIdGate0Range)
156
157 SF_DECL_INFO_ID(IdGate0Range)
158
159 Q_PROPERTY(sf::gii::IdType idGate0Threshold READ getIdGate0Threshold WRITE setIdGate0Threshold)
160
161 SF_DECL_INFO_ID(IdGate0Threshold)
162
163 Q_PROPERTY(sf::gii::IdType idGate0SlavedTo READ getIdGate0SlavedTo WRITE setIdGate0SlavedTo)
164
165 SF_DECL_INFO_ID(IdGate0SlavedTo)
166
167 Q_PROPERTY(sf::gii::IdType idGate0TrackRange READ getIdGate0TrackRange WRITE setIdGate0TrackRange)
168
169 SF_DECL_INFO_ID(IdGate0TrackRange)
170
171 Q_PROPERTY(sf::gii::IdType idGate0Tof READ getIdGate0Tof WRITE setIdGate0Tof)
172
173 SF_DECL_INFO_ID(IdGate0Tof)
174
175 Q_PROPERTY(sf::gii::IdType idGate0Amp READ getIdGate0Amp WRITE setIdGate0Amp)
176
177 SF_DECL_INFO_ID(IdGate0Amp)
178
179 // Gate 1 (If??)
180 Q_PROPERTY(sf::gii::IdType idGate1Delay READ getIdGate1Delay WRITE setIdGate1Delay)
181
182 SF_DECL_INFO_ID(IdGate1Delay)
183
184 Q_PROPERTY(sf::gii::IdType idGate1Range READ getIdGate1Range WRITE setIdGate1Range)
185
186 SF_DECL_INFO_ID(IdGate1Range)
187
188 Q_PROPERTY(sf::gii::IdType idGate1Threshold READ getIdGate1Threshold WRITE setIdGate1Threshold)
189
190 SF_DECL_INFO_ID(IdGate1Threshold)
191
192 Q_PROPERTY(sf::gii::IdType idGate1SlavedTo READ getIdGate1SlavedTo WRITE setIdGate1SlavedTo)
193
194 SF_DECL_INFO_ID(IdGate1SlavedTo)
195
196 Q_PROPERTY(sf::gii::IdType idGate1TrackRange READ getIdGate1TrackRange WRITE setIdGate1TrackRange)
197
198 SF_DECL_INFO_ID(IdGate1TrackRange)
199
200 Q_PROPERTY(sf::gii::IdType idGate1Tof READ getIdGate1Tof WRITE setIdGate1Tof)
201
202 SF_DECL_INFO_ID(IdGate1Tof)
203
204 Q_PROPERTY(sf::gii::IdType idGate1Amp READ getIdGate1Amp WRITE setIdGate1Amp)
205
206 SF_DECL_INFO_ID(IdGate1Amp)
207
208 // Gate 2 (If??)
209 Q_PROPERTY(sf::gii::IdType idGate2Delay READ getIdGate2Delay WRITE setIdGate2Delay)
210
211 SF_DECL_INFO_ID(IdGate2Delay)
212
213 Q_PROPERTY(sf::gii::IdType idGate2Range READ getIdGate2Range WRITE setIdGate2Range)
214
215 SF_DECL_INFO_ID(IdGate2Range)
216
217 Q_PROPERTY(sf::gii::IdType idGate2Threshold READ getIdGate2Threshold WRITE setIdGate2Threshold)
218
219 SF_DECL_INFO_ID(IdGate2Threshold)
220
221 Q_PROPERTY(sf::gii::IdType idGate2SlavedTo READ getIdGate2SlavedTo WRITE setIdGate2SlavedTo)
222
223 SF_DECL_INFO_ID(IdGate2SlavedTo)
224
225 Q_PROPERTY(sf::gii::IdType idGate2TrackRange READ getIdGate2TrackRange WRITE setIdGate2TrackRange)
226
227 SF_DECL_INFO_ID(IdGate2TrackRange)
228
229 Q_PROPERTY(sf::gii::IdType idGate2Tof READ getIdGate2Tof WRITE setIdGate2Tof)
230
231 SF_DECL_INFO_ID(IdGate2Tof)
232
233 Q_PROPERTY(sf::gii::IdType idGate2Amp READ getIdGate2Amp WRITE setIdGate2Amp)
234
235 SF_DECL_INFO_ID(IdGate2Amp)
236
237 // Gate 3 (If??)
238 Q_PROPERTY(sf::gii::IdType idGate3Delay READ getIdGate3Delay WRITE setIdGate3Delay)
239
240 SF_DECL_INFO_ID(IdGate3Delay)
241
242 Q_PROPERTY(sf::gii::IdType idGate3Range READ getIdGate3Range WRITE setIdGate3Range)
243
244 SF_DECL_INFO_ID(IdGate3Range)
245
246 Q_PROPERTY(sf::gii::IdType idGate3Threshold READ getIdGate3Threshold WRITE setIdGate3Threshold)
247
248 SF_DECL_INFO_ID(IdGate3Threshold)
249
250 Q_PROPERTY(sf::gii::IdType idGate3SlavedTo READ getIdGate3SlavedTo WRITE setIdGate3SlavedTo)
251
252 SF_DECL_INFO_ID(IdGate3SlavedTo)
253
254 Q_PROPERTY(sf::gii::IdType idGate3TrackRange READ getIdGate3TrackRange WRITE setIdGate3TrackRange)
255
256 SF_DECL_INFO_ID(IdGate3TrackRange)
257
258 Q_PROPERTY(sf::gii::IdType idGate3Tof READ getIdGate3Tof WRITE setIdGate3Tof)
259
260 SF_DECL_INFO_ID(IdGate3Tof)
261
262 Q_PROPERTY(sf::gii::IdType idGate3Amp READ getIdGate3Amp WRITE setIdGate3Amp)
263
264 SF_DECL_INFO_ID(IdGate3Amp)
265
266 // TCG Delay parameter ID's
267 Q_PROPERTY(QByteArray idsTcgTime READ getIdsTcgTime WRITE setIdsTcgTime)
268
269 SF_DECL_PROP_GRS(QByteArray, IdsTcgTime)
270
271 Q_PROPERTY(QByteArray idsTcgGain READ getIdsTcgGain WRITE setIdsTcgGain)
272
273 SF_DECL_PROP_GRS(QByteArray, IdsTcgGain)
274
275 private:
276 struct Private;
277 Private* _p;
278
279 void initStyleOption(QStyleOptionFrame* option) const;
280};
281
282}// namespace sf
Definition AcquisitionControl.h:19
sf::gii::IdType idGate2Range
Definition AcquisitionControl.h:213
void mouseReleaseEvent(QMouseEvent *event) override
void mouseMoveEvent(QMouseEvent *event) override
sf::gii::IdType idGate2Delay
Definition AcquisitionControl.h:209
sf::gii::IdType idGate3SlavedTo
Definition AcquisitionControl.h:250
sf::gii::IdType idGate2TrackRange
Definition AcquisitionControl.h:225
void addPropertyPages(sf::PropertySheetDialog *sheet) override
Adds the pages specific for this object.
QByteArray idsTcgGain
Definition AcquisitionControl.h:271
void mousePressEvent(QMouseEvent *event) override
sf::gii::IdType idGate1SlavedTo
Definition AcquisitionControl.h:192
QByteArray idsTcgTime
Definition AcquisitionControl.h:267
sf::gii::IdType idGate2Amp
Definition AcquisitionControl.h:233
int valueMax
Definition AcquisitionControl.h:56
void resizeEvent(QResizeEvent *event) override
sf::gii::IdType idGate1Tof
Definition AcquisitionControl.h:200
sf::gii::IdType idGate3Threshold
Definition AcquisitionControl.h:246
sf::gii::IdType idCopyRange
Definition AcquisitionControl.h:129
sf::gii::IdType idGate0Amp
Definition AcquisitionControl.h:175
sf::gii::IdType idGate0Threshold
Definition AcquisitionControl.h:159
sf::gii::IdType idGate2SlavedTo
Definition AcquisitionControl.h:221
void focusInEvent(QFocusEvent *event) override
QColor colorAdjustmentLine
Definition AcquisitionControl.h:92
sf::gii::IdType idGate1Amp
Definition AcquisitionControl.h:204
sf::gii::IdType idGate2Tof
Definition AcquisitionControl.h:229
sf::gii::IdType idGate1Delay
Definition AcquisitionControl.h:180
sf::gii::IdType idGate2Threshold
Definition AcquisitionControl.h:217
bool thresholdLinked
Definition AcquisitionControl.h:66
bool isRequiredProperty(const QString &name) override
Returns true if a property is to be saved to file.
void paintEvent(QPaintEvent *event) override
AcquisitionControl(QWidget *parent=nullptr)
sf::gii::IdType idCopyDelay
Definition AcquisitionControl.h:125
~AcquisitionControl() override
sf::gii::IdType idCopyData
Definition AcquisitionControl.h:115
sf::gii::IdType idGate3Delay
Definition AcquisitionControl.h:238
sf::gii::IdType idGate3TrackRange
Definition AcquisitionControl.h:254
sf::gii::IdType idGate0TrackRange
Definition AcquisitionControl.h:167
sf::gii::IdType idGate3Range
Definition AcquisitionControl.h:242
QColor colorForeground
Definition AcquisitionControl.h:74
QColor colorTcgRange
Definition AcquisitionControl.h:87
sf::gii::IdType idTcgEnable
Definition AcquisitionControl.h:134
sf::gii::IdType idGate0Range
Definition AcquisitionControl.h:155
sf::gii::IdType idGateCount
Definition AcquisitionControl.h:106
bool gridEnabled
Definition AcquisitionControl.h:70
QColor colorTcgLine
Definition AcquisitionControl.h:83
sf::gii::IdType idGate0Tof
Definition AcquisitionControl.h:171
sf::gii::IdType idGate3Tof
Definition AcquisitionControl.h:258
void focusOutEvent(QFocusEvent *event) override
QSize minimumSizeHint() const override
QColor colorGridLines
Definition AcquisitionControl.h:97
sf::gii::IdType idTimeUnit
Definition AcquisitionControl.h:102
sf::gii::IdType idIfShift
Definition AcquisitionControl.h:110
void keyPressEvent(QKeyEvent *event) override
sf::gii::IdType idCopyIndex
Definition AcquisitionControl.h:120
sf::gii::IdType idGate1TrackRange
Definition AcquisitionControl.h:196
sf::gii::IdType idGate0SlavedTo
Definition AcquisitionControl.h:163
int gripHeight
Definition AcquisitionControl.h:51
sf::gii::IdType idGate0Delay
Definition AcquisitionControl.h:151
sf::gii::IdType idGate1Threshold
Definition AcquisitionControl.h:188
QColor colorBackground
Definition AcquisitionControl.h:78
bool thresholdDrag
Definition AcquisitionControl.h:61
sf::gii::IdType idTcgRange
Definition AcquisitionControl.h:142
sf::gii::IdType idTcgDelay
Definition AcquisitionControl.h:138
sf::gii::IdType idGate3Amp
Definition AcquisitionControl.h:262
sf::gii::IdType idGate1Range
Definition AcquisitionControl.h:184
sf::gii::IdType idTcgSlavedTo
Definition AcquisitionControl.h:146
Interface class to multiple inherit when the sf::FormWriter class needs to be restricted in writing o...
Definition ObjectExtension.h:17
Dialog containing multiple property pages.
Definition qt/PropertySheetDialog.h:14
#define SF_DECL_INFO_ID(Name)
Declaration of ID handling functions for Information ID properties.
Definition gii/qt/Macros.h:10
#define SF_DECL_PROP_GRS(Type, Name)
Declares unreferenced getter and referenced setter for a property.
Definition misc/qt/Macros.h:17
#define SF_DECL_PROP_GS(Type, Name)
Declares unreferenced getter and unreferenced setter for a property.
Definition misc/qt/Macros.h:8
Definition Application.h:10