ddt  1.0.0
ddtMagnificationWidget.hpp
Go to the documentation of this file.
1 
20 #ifndef DDT_DATAVISUALISATION_DDTWIDGETS_MAGNIFICATIONWIDGET_HPP
21 #define DDT_DATAVISUALISATION_DDTWIDGETS_MAGNIFICATIONWIDGET_HPP
22 
23 #include <QtUiPlugin/QDesignerExportWidget>
24 
26 #include "ddt/imageHandling.hpp"
28 
35 class QDESIGNER_WIDGET_EXPORT DdtMagnificationWidget : public DdtWidget {
36  Q_OBJECT
37 
38  Q_PROPERTY(QString default_magnification_factors READ
39  get_default_magnification_factors WRITE
40  set_default_magnification_factors)
41  Q_PROPERTY(int region_size READ get_region_size WRITE set_region_size)
42 
43  public:
48  explicit DdtMagnificationWidget(QWidget* parent = nullptr);
49 
53  virtual ~DdtMagnificationWidget() = default;
54 
60  void set_default_magnification_factors(const QString default_factors);
61 
66  QString get_default_magnification_factors();
67 
72  void set_region_size(const int size);
73 
78  int get_region_size();
79 
83  void SetExpandingSize();
84 
89  int GetImageSize();
90 
102  void DrawMarker(const double x, const double y, double fwhm_x, double fwhm_y,
103  const double angle_x_axis, bool vertical_flip, bool horizontal_flip) const;
104 
112  void DrawCenterRectangle(QPixmap* const image) const;
113 
114  public slots:
118  void ClearMagnifiedImage();
119 
120  protected:
126 
132 
137 
142 
143  private:
144  QLabel* label_zoomed_image;
145  QToolButton* button_zoom_in;
146  QToolButton* button_zoom_out;
147  QToolButton* button_zoom_one;
148  QLabel* label_current_zoom;
149 
150  void CreateWidget();
151 
152  void ChangedMagnification(QString magnification_factor);
153 
154  private slots:
155 
156  void ButtonZoomInPressed();
157  void ButtonZoomOutPressed();
158  void ButtonZoomOnePressed();
159 
160  public slots:
165  void MagnifiedImage(QImage magnified_image);
166 
167  signals:
172  void SetMagnificationFactor(QString factor);
173 };
174 
175 #endif // DDT_DATAVISUALISATION_DDTWIDGETS_MAGNIFICATIONWIDGET_HPP
176 
The DdtMagnificationWidget class Class for the Magnification Widget that can be used to display a mag...
Definition: ddtMagnificationWidget.hpp:35
int region_size
region_size The size of the region
Definition: ddtMagnificationWidget.hpp:131
void SetMagnificationFactor(QString factor)
virtual ~DdtMagnificationWidget()=default
QString default_magnification_factors
default_magnification_factors List of magnification scales
Definition: ddtMagnificationWidget.hpp:125
int magnification_factor_index
Definition: ddtMagnificationWidget.hpp:136
QStringList magnification_factors
Definition: ddtMagnificationWidget.hpp:141
The DdtWidget class Use as wrapper class for new widgets.
Definition: ddtWidget.hpp:28
DDT Utils. Helper classes for DDT Datavisualisation. Utilities for the DDT Datavisualisation.
DDT Widgets. Base class for the DDT widgets. Base class for the DDT widgets.
Image Handling class, offers access to image handling functions. This file is part of the DDT Image H...