ddt  1.0.0
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 
33 class 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
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
void SetChangedParameter(const QString param_id, const QVariant parameter) override
Definition: ddtPVCMDialog.cpp:697
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
DdtPVCMDialog(QWidget *parent=nullptr)
Definition: ddtPVCMDialog.cpp:28
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.