ddt  0.1
ddtMagnificationWidget.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 ddtMagnificationWidgets.hpp
8 // @brief DDT Widgets. Class for the DDT Magnification Widget.
9 //
10 // Class for the Magnification Widget. The widget will display a magnified part
11 // of the original image around the current mouse position
12 //
13 // @author Carsten Mannel, CGI
14 // @since 2020/11/24
15 //
16 
17 #ifndef DDT_DATAVISUALISATION_DDTWIDGETS_MAGNIFICATIONWIDGET_HPP
18 #define DDT_DATAVISUALISATION_DDTWIDGETS_MAGNIFICATIONWIDGET_HPP
19 
20 #include <QtUiPlugin/QDesignerExportWidget>
21 
23 #include "ddt/imageHandling.hpp"
25 
32 class QDESIGNER_WIDGET_EXPORT DdtMagnificationWidget : public DdtWidget {
33  Q_OBJECT
34 
35  Q_PROPERTY(QString default_magnification_factors READ
36  get_default_magnification_factors WRITE
37  set_default_magnification_factors)
38  Q_PROPERTY(int region_size READ get_region_size WRITE set_region_size)
39 
40  public:
45  explicit DdtMagnificationWidget(QWidget* parent = nullptr);
46 
50  virtual ~DdtMagnificationWidget() = default;
51 
57  void set_default_magnification_factors(QString default_magnification_factors);
58 
63  QString get_default_magnification_factors();
64 
69  void set_region_size(int region_size);
70 
75  int get_region_size();
76 
81  void SetImageSize(int size);
82 
87  int GetImageSize();
88 
96  void DrawMarker(double fwhm_x, double fwhm_y,
97  const double angle_x_axis) const;
98 
99  protected:
105 
111 
116 
121 
122  private:
123  QLabel* label_zoomed_image;
124  QToolButton* button_zoom_in;
125  QToolButton* button_zoom_out;
126  QToolButton* button_zoom_one;
127  QLabel* label_current_zoom;
128 
129  void CreateWidget();
130 
131  void ChangedMagnification(QString magnification_factor);
132 
133  private slots:
134 
135  void ButtonZoomInPressed();
136  void ButtonZoomOutPressed();
137  void ButtonZoomOnePressed();
138 
139  public slots:
140 
145  void MagnifiedImage(QImage magnified_image);
146 
147  signals:
151  void SetMagnificationFactor(QString factor);
152 };
153 
154 #endif // DDT_DATAVISUALISATION_DDTWIDGETS_MAGNIFICATIONWIDGET_HPP
DdtMagnificationWidget::magnification_factors
QStringList magnification_factors
Definition: ddtMagnificationWidget.hpp:120
DdtMagnificationWidget::region_size
bool region_size
region_size The size of the region
Definition: ddtMagnificationWidget.hpp:110
DdtMagnificationWidget::~DdtMagnificationWidget
virtual ~DdtMagnificationWidget()=default
ddtDatavisualisationUtils.hpp
DdtMagnificationWidget::default_magnification_factors
QString default_magnification_factors
default_magnification_factors List of magnification scales
Definition: ddtMagnificationWidget.hpp:104
DdtWidget
The DdtWidget class Use as wrapper class for new widgets.
Definition: ddtWidget.hpp:23
DdtMagnificationWidget::magnification_factor_index
int magnification_factor_index
Definition: ddtMagnificationWidget.hpp:115
DdtMagnificationWidget
The DdtMagnificationWidget class Class for the Magnification Widget that can be used to display a mag...
Definition: ddtMagnificationWidget.hpp:32
ddtWidget.hpp
imageHandling.hpp
DdtMagnificationWidget::SetMagnificationFactor
void SetMagnificationFactor(QString factor)