ddt  0.1
ddtFlipRotateWidget.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 ddtFlipRotateWidget.hpp
8 // @brief DDT Widgets. Class for the DDT Flip Rotate Widget.
9 //
10 // Class for the Flip Rotate Widget. Allows to flip or rotate the connected
11 // images.
12 //
13 // @author Carsten Mannel, CGI
14 // @since 2020/01/22
15 //
16 
17 #ifndef DDT_DATAVISUALISATION_DDTWIDGETS_FLIPROTATEWIDGET_HPP
18 #define DDT_DATAVISUALISATION_DDTWIDGETS_FLIPROTATEWIDGET_HPP
19 
20 #include <QtUiPlugin/QDesignerExportWidget>
21 
23 
28 class QDESIGNER_WIDGET_EXPORT DdtFlipRotateWidget : public DdtWidget {
29  Q_OBJECT
30 
31  Q_PROPERTY(bool RotateClockwise READ get_rotation_clockwise WRITE
32  set_rotation_clockwise)
33 
34  public:
39  explicit DdtFlipRotateWidget(QWidget* parent = nullptr);
40 
45 
57  void set_rotation_clockwise(const bool clockwise);
58 
63  bool get_rotation_clockwise();
64 
69  void SetFlipStateHorizontal(const bool state);
70 
75  void SetFlipStateVertical(const bool state);
76 
77  protected:
82 
87 
92 
93  private:
94  QToolButton* flip_horizontal_button;
95  QToolButton* flip_vertical_button;
96  QToolButton* rotate_button;
97 
98  int rotation_angle;
99 
100  void CreateWidget();
101 
102  signals:
108  void RotateImage(int angle);
109 
115  void FlipImage(bool vertical_axis, bool horizontal_axis);
116 
117  public slots:
121  void UpdateFlipStatus(const bool vertical_axis, const bool horizontal_axis);
122 
126  void SwapFLipButtons();
127 
128  protected slots:
132  void FlipVertical();
133 
137  void FlipHorizontal();
138 
142  void Rotate();
143 };
144 
145 #endif // DDT_DATAVISUALISATION_DDTWIDGETS_FLIPROTATEWIDGET_HPP
DdtFlipRotateWidget::~DdtFlipRotateWidget
virtual ~DdtFlipRotateWidget()
DdtFlipRotateWidget::RotateImage
void RotateImage(int angle)
DdtFlipRotateWidget::flip_horizontal
bool flip_horizontal
Definition: ddtFlipRotateWidget.hpp:81
DdtWidget
The DdtWidget class Use as wrapper class for new widgets.
Definition: ddtWidget.hpp:23
DdtFlipRotateWidget::flip_vertical
bool flip_vertical
Definition: ddtFlipRotateWidget.hpp:86
DdtFlipRotateWidget::rotation_clockwise
bool rotation_clockwise
Definition: ddtFlipRotateWidget.hpp:91
DdtFlipRotateWidget
Definition: ddtFlipRotateWidget.hpp:28
DdtFlipRotateWidget::FlipImage
void FlipImage(bool vertical_axis, bool horizontal_axis)
ddtWidget.hpp