ddt  0.1
ddtBiasDialog.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file ddtBiasDialog.hpp
8 // @brief DDT Dialogs. Class for the bias dialog
9 // The dialog is used to select images as bias and be able
10 // to perform the bias subtraction.
11 //
12 // Class for the DDT Bias Dialog
13 //
14 // @author Carsten Mannel, CGI
15 // @since 2020/11/11
16 //
17 
18 #ifndef DDT_DATAVISUALISATION_DDTDIALOGS_BIAS_HPP
19 #define DDT_DATAVISUALISATION_DDTDIALOGS_BIAS_HPP
20 
21 #include <QtWidgets>
22 
26 
27 constexpr int TOOL_BUTTON_ICON_SIZE = 30;
28 constexpr int MAX_BIAS_SLOT_NUMBER = 5;
29 
33 class DdtBiasDialog : public DdtDialog {
34  Q_OBJECT
35 
36  public:
41  explicit DdtBiasDialog(QWidget *parent = nullptr);
45  virtual ~DdtBiasDialog() = default;
46 
53  void SetInitialParameter(const QString parameter_id,
54  const QVariant parameter) override;
55 
60  QString GetDialogName() override;
61 
62  protected:
66  virtual void CreateDialog();
67 
72  void UpdateFileList(const QString all_values_string);
73 
74  /*
75  * Translate text of GUI elements
76  */
77  virtual void RetranslateUi();
78 
79  private:
80  void createSizePolicies();
81  void createLayouts();
82  void createWidgets();
83  void createToolsWidgets();
84  void createSlotWidgets();
85  void createButtonWidgets();
86 
87  QSizePolicy *sizePolicy0;
88  QSizePolicy *sizePolicy1;
89  QSizePolicy *sizePolicy2;
90 
91  QGridLayout *gridLayout_2;
92  QGridLayout *gridLayout;
93  QHBoxLayout *horizontalLayout_bias;
94  QLabel *label_bias;
95  InactiveLineEdit *lineEdit_bias;
96  QHBoxLayout *horizontalLayout_tools;
97  QCheckBox *checkBox_on;
98  QToolButton *toolButton_1;
99  QToolButton *toolButton_2;
100  QToolButton *toolButton_3;
101  QToolButton *toolButton_4;
102  QHBoxLayout *horizontalLayout_name;
103  QLabel *label_name;
104  InactiveLineEdit *lineEdit_name;
105  QGroupBox *groupBox_files;
106  QGridLayout *gridLayout_5;
107  QGridLayout *gridLayout_files;
108  QRadioButton *radioButton_files_1;
109  InactiveLineEdit *lineEdit_files_1;
110  QRadioButton *radioButton_files_2;
111  InactiveLineEdit *lineEdit_files_2;
112  QRadioButton *radioButton_files_5;
113  InactiveLineEdit *lineEdit_files_3;
114  QRadioButton *radioButton_files_4;
115  InactiveLineEdit *lineEdit_files_4;
116  QRadioButton *radioButton_files_3;
117  InactiveLineEdit *lineEdit_files_5;
118  QGridLayout *gridLayout_buttons;
119  QPushButton *pushButton_apply_bias;
120  QPushButton *pushButton_clear_all;
121  QPushButton *pushButton_quit;
122 
123  QList<InactiveLineEdit *> lineEdit_list;
124  QList<QRadioButton *> radioButton_list;
125  int current_selected_bias;
126  int number_of_slots;
127  QString last_image_path;
128 
129  public slots:
134  virtual void ConfirmPressed();
135 
141  void SetChangedParameter(const QString param_id,
142  const QVariant parameter) override;
143 
148  virtual void QuitPressed();
149 
153  virtual void CancelPressed();
154 
155  private slots:
156 
160  virtual void StoreCurrentImageAsBias();
161 
165  virtual void ApplySelectedBias();
166 
170  virtual void BiasSelected();
171 
175  virtual void ClearAll();
176 
180  virtual void ClearCurrentSelected();
181 
185  virtual void DisplayCurrentSelected();
186 
190  virtual void LoadFileFromDisc();
191 
196  virtual void EnableBias();
197 
198  signals:
202  void ParameterChanged(QString dialog_id, QString param_id,
203  QVariant parameter);
204 };
205 
206 #endif // DDT_DATAVISUALISATION_DDTDIALOGS_BIAS_HPP
InactiveLineEdit
Definition: ddtDatavisualisationUtils.hpp:24
DdtBiasDialog::SetInitialParameter
void SetInitialParameter(const QString parameter_id, const QVariant parameter) override
Definition: ddtBiasDialog.cpp:411
ddtDatavisualisationUtils.hpp
DdtBiasDialog::GetDialogName
QString GetDialogName() override
Definition: ddtBiasDialog.cpp:36
DdtBiasDialog::CancelPressed
virtual void CancelPressed()
Definition: ddtBiasDialog.cpp:472
ddtDialog.hpp
DdtBiasDialog::SetChangedParameter
void SetChangedParameter(const QString param_id, const QVariant parameter) override
Definition: ddtBiasDialog.cpp:447
DdtBiasDialog::DdtBiasDialog
DdtBiasDialog(QWidget *parent=nullptr)
Definition: ddtBiasDialog.cpp:31
ddtDialogIds.hpp
DdtBiasDialog::CreateDialog
virtual void CreateDialog()
Definition: ddtBiasDialog.cpp:39
TOOL_BUTTON_ICON_SIZE
constexpr int TOOL_BUTTON_ICON_SIZE
Definition: ddtBiasDialog.hpp:27
DdtBiasDialog::~DdtBiasDialog
virtual ~DdtBiasDialog()=default
DdtDialog
Definition: ddtDialog.hpp:24
MAX_BIAS_SLOT_NUMBER
constexpr int MAX_BIAS_SLOT_NUMBER
Definition: ddtBiasDialog.hpp:28
DdtBiasDialog::UpdateFileList
void UpdateFileList(const QString all_values_string)
Definition: ddtBiasDialog.cpp:566
DdtBiasDialog::ConfirmPressed
virtual void ConfirmPressed()
Definition: ddtBiasDialog.cpp:463
DdtBiasDialog::ParameterChanged
void ParameterChanged(QString dialog_id, QString param_id, QVariant parameter)
DdtBiasDialog::RetranslateUi
virtual void RetranslateUi()
Definition: ddtBiasDialog.cpp:373
DdtBiasDialog::QuitPressed
virtual void QuitPressed()
Definition: ddtBiasDialog.cpp:468
DdtBiasDialog
Definition: ddtBiasDialog.hpp:33