ddt  0.1
ddtGraphicalElementsDialog.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 ddtGraphicalElementsDialog.hpp
8 // @brief DDT Dialogs. Class for the graphical elements dialog
9 // A dialog to allow the user to draw graphical elements.
10 //
11 // Class for the DDT Graphical Elements Dialog
12 //
13 // @author Carsten Mannel, CGI
14 // @since 2020/11/16
15 //
16 
17 #ifndef DDT_DATAVISUALISATION_DDTDIALOGS_GRAPHICALELEMENTS_HPP
18 #define DDT_DATAVISUALISATION_DDTDIALOGS_GRAPHICALELEMENTS_HPP
19 
20 #include <QtWidgets>
21 
24 
29  Q_OBJECT
30 
31  public:
36  explicit DdtGraphicalElementsDialog(QWidget *parent = nullptr);
40  virtual ~DdtGraphicalElementsDialog() = default;
41 
48  void SetInitialParameter(const QString parameter_id,
49  const QVariant parameter) override;
50 
55  QString GetDialogName() override;
56 
57  protected:
61  virtual void CreateDialog();
62 
66  virtual void AddToolButtonsToLayout(QVBoxLayout *vertical_layout);
67 
71  virtual void AddPropertyControlElements(QVBoxLayout *vertical_layout);
72 
76  virtual void AddButtonsToLayout(QVBoxLayout *vertical_layout);
77 
81  virtual void AddFormLayoutRowThickness(QFormLayout *form_layout);
82 
86  virtual void AddFormLayoutRowFont(QFormLayout *form_layout);
87 
91  virtual void AddFormLayoutRowLineColor(QFormLayout *form_layout);
92 
96  virtual void AddFormLayoutRowLineStyle(QFormLayout *form_layout);
97 
101  virtual void AddFormLayoutRowFillColor(QFormLayout *form_layout);
102 
106  virtual void AddFormLayoutRowTag(QFormLayout *form_layout);
107 
111  virtual void AddFormLayoutRowTreshold(QFormLayout *form_layout);
112 
116  virtual void AddFormLayoutRowRotation(QFormLayout *form_layout);
117 
118  void changeEvent(QEvent *event) override;
119  void focusInEvent(QFocusEvent *event) override;
120  void closeEvent(QCloseEvent *event) override;
121 
122  private:
123  QVBoxLayout *verticalLayout;
124  QGridLayout *gridLayout_toolButtons;
125  QToolButton *select_item_button;
126  QToolButton *text_button;
127  QToolButton *line_button;
128  QToolButton *rectangle_button;
129  QToolButton *ellipse_button;
130  QToolButton *cross_button;
131  QToolButton *font_button;
132  QToolButton *line_color_button;
133  QToolButton *fill_color_button;
134 
135  QLabel *label_font;
136  QLabel *label_thickness;
137  QLabel *label_line_color;
138  QLabel *label_tag;
139  QLabel *label_thresholdscale;
140  QLabel *label_line_style;
141  QLabel *label_rotation_angle;
142 
143  QFormLayout *formLayout;
144  QHBoxLayout *horizontalLayout_buttons;
145 
146  QComboBox *comboBox_thickness;
147  QComboBox *comboBox_thresholdscale;
148  QComboBox *comboBox_line_style;
149 
150  QCheckBox *checkBox_fill_color;
151 
152  QLineEdit *tag_lineEdit;
153 
154  QSpinBox *spinbox_rotation;
155 
156  QPushButton *pushButton_delete;
157  QPushButton *pushButton_clear;
158  QPushButton *pushButton_quit;
159 
160  QString btn_height;
161  QString btn_width;
162  QString icon_btn_height;
163  QString icon_btn_width;
164 
165  void SetFontButtonText(QFont font);
166 
167  QFont current_font;
168 
169  QString current_draw_mode;
170 
171  void UncheckButtons();
172 
173  public slots:
179  void SetChangedParameter(const QString param_id,
180  const QVariant parameter) override;
181 
186  virtual void QuitPressed();
187 
188  private slots:
192  void LineThicknessCurrentIndexChanged(int index);
193 
197  void ThresholdScaleCurrentIndexChanged(int index);
198 
202  void FontSelection();
203 
207  void ColorSelection();
208 
212  void FillColorCheckboxClicked();
213 
217  void SetTag(const QString tag);
218 
222  void DrawRectangle();
223 
227  void DrawEllipse();
228 
232  void DrawText();
233 
237  void DrawLine();
238 
242  void DrawCross();
243 
247  void SelectItem();
248 
252  void DeleteItem();
253 
257  void DeleteItems();
258 
262  void RotationAngleChanged(const int angle);
263 
267  void LineStyleChanged(const QString style);
268 
269  signals:
273  void ParameterChanged(const QString dialog_id, const QString param_id,
274  const QVariant parameter);
275 };
276 
277 #endif // DDT_DATAVISUALISATION_DDTDIALOGS_GRAPHICALELEMENTS_HPP
DdtGraphicalElementsDialog::changeEvent
void changeEvent(QEvent *event) override
Definition: ddtGraphicalElementsDialog.cpp:335
DdtGraphicalElementsDialog::AddFormLayoutRowTreshold
virtual void AddFormLayoutRowTreshold(QFormLayout *form_layout)
Definition: ddtGraphicalElementsDialog.cpp:274
DdtGraphicalElementsDialog::AddFormLayoutRowFont
virtual void AddFormLayoutRowFont(QFormLayout *form_layout)
Definition: ddtGraphicalElementsDialog.cpp:198
DdtGraphicalElementsDialog::AddFormLayoutRowThickness
virtual void AddFormLayoutRowThickness(QFormLayout *form_layout)
Definition: ddtGraphicalElementsDialog.cpp:181
DdtGraphicalElementsDialog::AddFormLayoutRowLineStyle
virtual void AddFormLayoutRowLineStyle(QFormLayout *form_layout)
Definition: ddtGraphicalElementsDialog.cpp:233
DdtGraphicalElementsDialog::focusInEvent
void focusInEvent(QFocusEvent *event) override
Definition: ddtGraphicalElementsDialog.cpp:344
DdtGraphicalElementsDialog::~DdtGraphicalElementsDialog
virtual ~DdtGraphicalElementsDialog()=default
DdtGraphicalElementsDialog::AddButtonsToLayout
virtual void AddButtonsToLayout(QVBoxLayout *vertical_layout)
Definition: ddtGraphicalElementsDialog.cpp:304
DdtGraphicalElementsDialog::closeEvent
void closeEvent(QCloseEvent *event) override
Definition: ddtGraphicalElementsDialog.cpp:351
DdtGraphicalElementsDialog::SetChangedParameter
void SetChangedParameter(const QString param_id, const QVariant parameter) override
Definition: ddtGraphicalElementsDialog.cpp:570
DdtGraphicalElementsDialog::AddFormLayoutRowLineColor
virtual void AddFormLayoutRowLineColor(QFormLayout *form_layout)
Definition: ddtGraphicalElementsDialog.cpp:220
ddtDialog.hpp
DdtGraphicalElementsDialog::AddPropertyControlElements
virtual void AddPropertyControlElements(QVBoxLayout *vertical_layout)
Definition: ddtGraphicalElementsDialog.cpp:162
DdtGraphicalElementsDialog::CreateDialog
virtual void CreateDialog()
Definition: ddtGraphicalElementsDialog.cpp:38
DdtGraphicalElementsDialog::ParameterChanged
void ParameterChanged(const QString dialog_id, const QString param_id, const QVariant parameter)
DdtGraphicalElementsDialog::AddFormLayoutRowRotation
virtual void AddFormLayoutRowRotation(QFormLayout *form_layout)
Definition: ddtGraphicalElementsDialog.cpp:288
DdtGraphicalElementsDialog::QuitPressed
virtual void QuitPressed()
Definition: ddtGraphicalElementsDialog.cpp:611
DdtGraphicalElementsDialog::AddFormLayoutRowFillColor
virtual void AddFormLayoutRowFillColor(QFormLayout *form_layout)
Definition: ddtGraphicalElementsDialog.cpp:250
ddtDialogIds.hpp
DdtGraphicalElementsDialog::AddFormLayoutRowTag
virtual void AddFormLayoutRowTag(QFormLayout *form_layout)
Definition: ddtGraphicalElementsDialog.cpp:263
DdtGraphicalElementsDialog
Definition: ddtGraphicalElementsDialog.hpp:28
DdtGraphicalElementsDialog::SetInitialParameter
void SetInitialParameter(const QString parameter_id, const QVariant parameter) override
Definition: ddtGraphicalElementsDialog.cpp:357
DdtDialog
Definition: ddtDialog.hpp:24
DdtGraphicalElementsDialog::DdtGraphicalElementsDialog
DdtGraphicalElementsDialog(QWidget *parent=nullptr)
Definition: ddtGraphicalElementsDialog.cpp:26
DdtGraphicalElementsDialog::GetDialogName
QString GetDialogName() override
Definition: ddtGraphicalElementsDialog.cpp:34
DdtGraphicalElementsDialog::AddToolButtonsToLayout
virtual void AddToolButtonsToLayout(QVBoxLayout *vertical_layout)
Definition: ddtGraphicalElementsDialog.cpp:96