ddt  0.1
ddtPickObjectDialog.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 ddtPickObjectDialog.hpp
8 // @brief DDT Dialogs. Class for the pick object dialog
9 // The dialogs allows to pick objects in the image and
10 // retrieve information on it
11 //
12 // Class for the DDT Pick Object dialog
13 //
14 // @author Carsten Mannel, CGI
15 // @since 2020/11/06
16 //
17 
18 #ifndef DDT_DATAVISUALISATION_DDTDIALOGS_PICKOBJECTDIALOG_HPP
19 #define DDT_DATAVISUALISATION_DDTDIALOGS_PICKOBJECTDIALOG_HPP
20 
21 #include <QtWidgets>
22 
28 
33  Q_OBJECT
34 
35  public:
40  explicit DdtPickObjectDialog(QWidget* parent = nullptr);
44  virtual ~DdtPickObjectDialog() = default;
45 
49  void Initialize();
50 
57  void SetInitialParameter(const QString parameter_id,
58  const QVariant parameter) override;
59 
60  protected:
64  virtual void CreateDialog();
65 
70  void UpdateStatisticsValues(const QString all_values_string);
71 
76  void UpdatePixelWindowSizeMax(const QString magnification_factor);
77 
78  private:
79  // Inactive edit field for value display
80  InactiveLineEdit* lineEdit_image_x;
81  InactiveLineEdit* lineEdit_image_y;
82  InactiveLineEdit* lineEdit_pixelvalue;
83  InactiveLineEdit* lineEdit_ra;
84  InactiveLineEdit* lineEdit_dec;
85  InactiveLineEdit* lineEdit_equinox;
86  InactiveLineEdit* lineEdit_fwhm_x;
87  InactiveLineEdit* lineEdit_fwhm_y;
88  InactiveLineEdit* lineEdit_angle_x_axis;
89  InactiveLineEdit* lineEdit_peak_above_bg;
90  InactiveLineEdit* lineEdit_background;
91  InactiveLineEdit* lineEdit_pixels_in_x_y;
92 
93  // Magnification widget
94  DdtMagnificationWidget* magnification_widget;
95 
96  // Pixel Window slider
97  QLabel* label_no_pixels;
98  QLabel* label_slider_max;
99  QSlider* slider_pixel_window_size;
100 
101  // Radio buttons, samples and markers
102  QRadioButton* radioButton_objectmode;
103  QRadioButton* radioButton_cursormode;
104  QLineEdit* lineEdit_no_samples;
105  QCheckBox* checkBox_show_marker;
106 
107  // Dialog buttons
108  QPushButton* pushButton_pick;
109  QPushButton* pushButton_cancel_pick;
110  QPushButton* pushButton_confirm;
111  QPushButton* pushButton_quit;
112 
113  // Status flags and values
114  bool show_marker;
115  int no_samples;
116  int pixel_window_size_max;
117 
118  PickMode current_pick_mode;
119 
120  // Handling of freezing of the magnified image upon "pick" action
121  bool freeze_image;
122  QImage last_image_while_freezing;
123 
124  public slots:
130  void SetChangedParameter(const QString param_id,
131  const QVariant parameter) override;
132 
133  private slots:
134 
138  void SliderValueChanged(const int value);
139 
143  void PickModeSelected();
144 
148  void NumberOfSamplesChanged(const QString text);
149 
153  void ShowMarkerChanged();
154 
158  void PickSelected();
159 
163  void CancelPickSelected();
164 
168  void ConfirmSelected();
169 
173  void QuitSelected();
174 
178  void SetMagnificationFactor(const QString magnification_factor);
179 
180  signals:
184  void ParameterChanged(const QString dialog_id, const QString param_id,
185  const QVariant parameter);
186 };
187 
188 #endif // DDT_DATAVISUALISATION_DDTDIALOGS_PICKOBJECTDIALOG_HPP
DdtPickObjectDialog::UpdateStatisticsValues
void UpdateStatisticsValues(const QString all_values_string)
Definition: ddtPickObjectDialog.cpp:428
InactiveLineEdit
Definition: ddtDatavisualisationUtils.hpp:24
DdtPickObjectDialog::UpdatePixelWindowSizeMax
void UpdatePixelWindowSizeMax(const QString magnification_factor)
Definition: ddtPickObjectDialog.cpp:391
ddtDatavisualisationUtils.hpp
PickMode
PickMode
Definition: ddtDatavisualisationDefines.hpp:22
DdtPickObjectDialog::CreateDialog
virtual void CreateDialog()
Definition: ddtPickObjectDialog.cpp:39
ddtDialog.hpp
DdtPickObjectDialog::ParameterChanged
void ParameterChanged(const QString dialog_id, const QString param_id, const QVariant parameter)
DdtPickObjectDialog::Initialize
void Initialize()
Definition: ddtPickObjectDialog.cpp:29
DdtPickObjectDialog::~DdtPickObjectDialog
virtual ~DdtPickObjectDialog()=default
ddtDialogIds.hpp
DdtDialog
Definition: ddtDialog.hpp:24
DdtPickObjectDialog::SetChangedParameter
void SetChangedParameter(const QString param_id, const QVariant parameter) override
Definition: ddtPickObjectDialog.cpp:402
DdtMagnificationWidget
The DdtMagnificationWidget class Class for the Magnification Widget that can be used to display a mag...
Definition: ddtMagnificationWidget.hpp:32
DdtPickObjectDialog::DdtPickObjectDialog
DdtPickObjectDialog(QWidget *parent=nullptr)
Definition: ddtPickObjectDialog.cpp:22
DdtPickObjectDialog
Definition: ddtPickObjectDialog.hpp:32
ddtDatavisualisationDefines.hpp
ddtMagnificationWidget.hpp
DdtPickObjectDialog::SetInitialParameter
void SetInitialParameter(const QString parameter_id, const QVariant parameter) override
Definition: ddtPickObjectDialog.cpp:273