ddt 1.4.0
 
Loading...
Searching...
No Matches
ddtPVCMDialog.hpp
Go to the documentation of this file.
1
11
12#ifndef DDT_DATAVISUALISATION_DDTDIALOGS_PVCM_HPP
13#define DDT_DATAVISUALISATION_DDTDIALOGS_PVCM_HPP
14
15#include <QtWidgets>
16
20
24class DdtPVCMDialog : public DdtDialog {
25 Q_OBJECT
26
27 public:
32 explicit DdtPVCMDialog(QWidget *parent = nullptr);
33
37 virtual ~DdtPVCMDialog() = default;
38
45 void SetInitialParameter(const QString parameter_id,
46 const QVariant parameter) override;
47
53 void SetChangedParameter(const QString param_id,
54 const QVariant parameter) override;
55
60 QString GetDialogName() override;
61
62 protected:
66 virtual void CreateDialog() override;
67
68 virtual void RetranslateUi();
69
70 virtual void paintEvent(QPaintEvent *event) override;
71
72 private:
73 QVBoxLayout *vertical_layout;
74 QVBoxLayout *vertical_layout_header;
75 QLabel *label_header;
76 QHBoxLayout *horizontal_layout_low_high;
77 QLabel *label_low;
78 QLineEdit *line_edit_low_0;
79 QLineEdit *line_edit_low_1;
80 QSpacerItem *horizontal_spacer;
81 QLabel *label_high;
82 QLineEdit *line_edit_high_0;
83 QLineEdit *line_edit_high_1;
84 QHBoxLayout *horizontal_layout_autoset;
85 QLabel *label_autoset;
86 QRadioButton *radio_button_0;
87 QRadioButton *radio_button_1;
88 QRadioButton *radio_button_2;
89 QRadioButton *radio_button_3;
90 QRadioButton *radio_button_4;
91 QRadioButton *radio_button_5;
92 QDialogButtonBox *push_buttons_box;
93 QPushButton *push_button_median;
94 QPushButton *push_button_reset;
95 QPushButton *push_button_cancel;
96
97 QList<QRadioButton *> radio_button_list;
98
99 QGridLayout *chart_layout;
100
101 QLabel *label_chart;
102 QLabel *label_xaxis;
103 QLabel *label_yaxis;
104 QLabel *label_fill;
105
106 std::unique_ptr<QPainterPath> line_path;
107 std::unique_ptr<QGraphicsPathItem> line_path_item;
108
109 QList<QVariant> spectrum_vals;
110 QList<QPointF> point_list;
111
112 double pixel_min;
113 double pixel_max;
114
115 double range_x_min;
116 double range_x_max;
117 double value_y_min;
118 double value_y_max;
119
120 double chart_x_min;
121 double chart_x_max;
122 double chart_y_min;
123 double chart_y_max;
124
125 bool initialized;
126
127 void CreateLayouts();
128 void CreateWidgets();
129 void CreateLineEditWidgets(const QFont font);
130 void CreateLabelWidgets(const QFont font);
131 void CreateButtonWidgets();
132 void ClearEditWidgets();
133 void CreateChart();
134 void ResetRadioButtons();
135 void ClearChart();
136
137 void SetCutValues(const QList<QVariant> cut_values, const bool initial_set);
138 void SetHistogram(const QList<QVariant> hist_values);
139
140 void ShowHistogram();
141 void DrawScaleX(const double min_value, const double max_value,
142 double *chart_min_value, double *chart_max_value,
143 QPainter &painter) const;
144 void DrawScaleY(const double min_value, const double max_value,
145 double *chart_min_value, double *chart_max_value,
146 QPainter &painter) const;
147 double CalculateTickPositionLinear(const double tick, const double min_value,
148 const double width,
149 const double maxsize) const;
150
151 void FillPointList(const double xfactor, const double yfactor,
152 const int height);
153
154 void FindValueMinMax();
155
156 public slots:
161 virtual void ResetPressed();
162
167 virtual void MedianFilterPressed();
168
172 virtual void QuitPressed() override;
173
177 virtual void UpdateCutValues();
178
182 virtual void AutoSetPressed0();
183
187 virtual void AutoSetPressed1();
188
192 virtual void AutoSetPressed2();
193
197 virtual void AutoSetPressed3();
198
202 virtual void AutoSetPressed4();
203
207 virtual void AutoSetPressed5();
208
209 signals:
213 void ParameterChanged(const QString dialog_id, const QString param_id,
214 const QVariant parameter);
215};
216
217#endif // DDT_DATAVISUALISATION_DDTDIALOGS_PVCM_HPP
DdtDialog(QWidget *parent=nullptr)
Definition ddtDialog.cpp:16
void SetInitialParameter(const QString parameter_id, const QVariant parameter) override
Definition ddtPVCMDialog.cpp:663
virtual void UpdateCutValues()
Definition ddtPVCMDialog.cpp:769
void SetChangedParameter(const QString param_id, const QVariant parameter) override
Definition ddtPVCMDialog.cpp:685
virtual void AutoSetPressed0()
Definition ddtPVCMDialog.cpp:732
virtual ~DdtPVCMDialog()=default
virtual void paintEvent(QPaintEvent *event) override
Definition ddtPVCMDialog.cpp:135
virtual void RetranslateUi()
Definition ddtPVCMDialog.cpp:631
virtual void QuitPressed() override
Definition ddtPVCMDialog.cpp:727
virtual void MedianFilterPressed()
Definition ddtPVCMDialog.cpp:719
virtual void AutoSetPressed3()
Definition ddtPVCMDialog.cpp:750
QString GetDialogName() override
Definition ddtPVCMDialog.cpp:27
DdtPVCMDialog(QWidget *parent=nullptr)
Definition ddtPVCMDialog.cpp:22
virtual void AutoSetPressed2()
Definition ddtPVCMDialog.cpp:744
virtual void AutoSetPressed5()
Definition ddtPVCMDialog.cpp:762
void ParameterChanged(const QString dialog_id, const QString param_id, const QVariant parameter)
virtual void AutoSetPressed1()
Definition ddtPVCMDialog.cpp:738
virtual void CreateDialog() override
Definition ddtPVCMDialog.cpp:31
virtual void AutoSetPressed4()
Definition ddtPVCMDialog.cpp:756
virtual void ResetPressed()
Definition ddtPVCMDialog.cpp:711
DDT Utils. Helper classes for DDT Datavisualisation. Utilities for the DDT Datavisualisation.
DDT Dialog IDs. ID values for all used dialogs. IDs for the used dialogs.
DDT Dialogs. Base class for the DDT dialogs. Base class for the DDT dialogs.