ddt 1.1.0
Loading...
Searching...
No Matches
ddtPVCMDialog.hpp
Go to the documentation of this file.
1
21#ifndef DDT_DATAVISUALISATION_DDTDIALOGS_PVCM_HPP
22#define DDT_DATAVISUALISATION_DDTDIALOGS_PVCM_HPP
23
24#include <QtWidgets>
25
29
33class DdtPVCMDialog : public DdtDialog {
34 Q_OBJECT
35
36 public:
41 explicit DdtPVCMDialog(QWidget *parent = nullptr);
42
46 virtual ~DdtPVCMDialog() = default;
47
54 void SetInitialParameter(const QString parameter_id,
55 const QVariant parameter) override;
56
62 void SetChangedParameter(const QString param_id,
63 const QVariant parameter) override;
64
69 QString GetDialogName() override;
70
71 protected:
75 virtual void CreateDialog() override;
76
77 virtual void RetranslateUi();
78
79 virtual void paintEvent(QPaintEvent *event) override;
80
81 private:
82 QVBoxLayout *vertical_layout;
83 QVBoxLayout *vertical_layout_header;
84 QLabel *label_header;
85 QHBoxLayout *horizontal_layout_low_high;
86 QLabel *label_low;
87 QLineEdit *line_edit_low_0;
88 QLineEdit *line_edit_low_1;
89 QSpacerItem *horizontal_spacer;
90 QLabel *label_high;
91 QLineEdit *line_edit_high_0;
92 QLineEdit *line_edit_high_1;
93 QHBoxLayout *horizontal_layout_autoset;
94 QLabel *label_autoset;
95 QRadioButton *radio_button_0;
96 QRadioButton *radio_button_1;
97 QRadioButton *radio_button_2;
98 QRadioButton *radio_button_3;
99 QRadioButton *radio_button_4;
100 QRadioButton *radio_button_5;
101 QDialogButtonBox *push_buttons_box;
102 QPushButton *push_button_median;
103 QPushButton *push_button_reset;
104 QPushButton *push_button_cancel;
105
106 QList<QRadioButton *> radio_button_list;
107
108 QGridLayout *chart_layout;
109
110 QLabel *label_chart;
111 QLabel *label_xaxis;
112 QLabel *label_yaxis;
113 QLabel *label_fill;
114
115 std::unique_ptr<QPainterPath> line_path;
116 std::unique_ptr<QGraphicsPathItem> line_path_item;
117
118 QList<QVariant> spectrum_vals;
119 QList<QPointF> point_list;
120
121 double pixel_min;
122 double pixel_max;
123
124 double range_x_min;
125 double range_x_max;
126 double value_y_min;
127 double value_y_max;
128
129 double chart_x_min;
130 double chart_x_max;
131 double chart_y_min;
132 double chart_y_max;
133
134 bool initialized;
135
136 void CreateLayouts();
137 void CreateWidgets();
138 void CreateLineEditWidgets(const QFont font);
139 void CreateLabelWidgets(const QFont font);
140 void CreateButtonWidgets();
141 void ClearEditWidgets();
142 void CreateChart();
143 void ResetRadioButtons();
144 void ClearChart();
145
146 void SetCutValues(const QList<QVariant> cut_values, const bool initial_set);
147 void SetHistogram(const QList<QVariant> hist_values);
148
149 void ShowHistogram();
150 void DrawScaleX(const double min_value, const double max_value,
151 double *chart_min_value, double *chart_max_value,
152 QPainter &painter) const;
153 void DrawScaleY(const double min_value, const double max_value,
154 double *chart_min_value, double *chart_max_value,
155 QPainter &painter) const;
156 double CalculateTickPositionLinear(const double tick, const double min_value,
157 const double width,
158 const double maxsize) const;
159
160 void FillPointList(const double xfactor, const double yfactor,
161 const int height);
162
163 void FindValueMinMax();
164
165 public slots:
170 virtual void ResetPressed();
171
176 virtual void MedianFilterPressed();
177
181 virtual void QuitPressed() override;
182
186 virtual void UpdateCutValues();
187
191 virtual void AutoSetPressed0();
192
196 virtual void AutoSetPressed1();
197
201 virtual void AutoSetPressed2();
202
206 virtual void AutoSetPressed3();
207
211 virtual void AutoSetPressed4();
212
216 virtual void AutoSetPressed5();
217
218 signals:
222 void ParameterChanged(const QString dialog_id, const QString param_id,
223 const QVariant parameter);
224};
225
226#endif // DDT_DATAVISUALISATION_DDTDIALOGS_PVCM_HPP
227
Definition: ddtDialog.hpp:27
virtual void SetChangedParameter(const QString param_id, const QVariant parameter)
Definition: ddtDialog.cpp:74
Definition: ddtPVCMDialog.hpp:33
void SetInitialParameter(const QString parameter_id, const QVariant parameter) override
Definition: ddtPVCMDialog.cpp:675
virtual void UpdateCutValues()
Definition: ddtPVCMDialog.cpp:781
virtual void AutoSetPressed0()
Definition: ddtPVCMDialog.cpp:744
virtual ~DdtPVCMDialog()=default
virtual void paintEvent(QPaintEvent *event) override
Definition: ddtPVCMDialog.cpp:141
virtual void RetranslateUi()
Definition: ddtPVCMDialog.cpp:643
virtual void QuitPressed() override
Definition: ddtPVCMDialog.cpp:739
virtual void MedianFilterPressed()
Definition: ddtPVCMDialog.cpp:731
virtual void AutoSetPressed3()
Definition: ddtPVCMDialog.cpp:762
QString GetDialogName() override
Definition: ddtPVCMDialog.cpp:33
virtual void AutoSetPressed2()
Definition: ddtPVCMDialog.cpp:756
virtual void AutoSetPressed5()
Definition: ddtPVCMDialog.cpp:774
void ParameterChanged(const QString dialog_id, const QString param_id, const QVariant parameter)
virtual void AutoSetPressed1()
Definition: ddtPVCMDialog.cpp:750
virtual void CreateDialog() override
Definition: ddtPVCMDialog.cpp:37
virtual void AutoSetPressed4()
Definition: ddtPVCMDialog.cpp:768
virtual void ResetPressed()
Definition: ddtPVCMDialog.cpp:723
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.