widgets/vec3editor.h

changeset 254
b7b29cb82360
parent 252
da4876bfd822
child 255
5188f8a74a5c
equal deleted inserted replaced
253:8b994c917f69 254:b7b29cb82360
1 #pragma once 1 #pragma once
2 #include <QWidget> 2 #include <QWidget>
3 #include <glm/glm.hpp> 3 #include <glm/glm.hpp>
4 #include "ui_vec3editor.h"
4 5
5 namespace Ui 6 class VectorInput : public QWidget
6 {
7 class Vec3Editor;
8 }
9
10 class Vec3Editor : public QWidget
11 { 7 {
12 Q_OBJECT 8 Q_OBJECT
9 Ui_Vec3Editor ui;
13 public: 10 public:
14 enum Flag 11 enum Flag
15 { 12 {
16 NoMultiplyButton = 0x1 13 NoMultiplyButton = 0x1
17 }; 14 };
18 explicit Vec3Editor(const glm::vec3& value, QWidget* parent = nullptr, QFlags<Flag> flags = {}); 15 explicit VectorInput(const glm::vec3& value, QWidget* parent = nullptr, QFlags<Flag> flags = {});
19 ~Vec3Editor(); 16 explicit VectorInput(QWidget* parent = nullptr, QFlags<Flag> flags = {});
17 ~VectorInput();
20 glm::vec3 value() const; 18 glm::vec3 value() const;
21 void setValue(const glm::vec3& value); 19 void setValue(const glm::vec3& value);
22 Q_SIGNALS: 20 Q_SIGNALS:
23 void valueChanged(const glm::vec3& value); 21 void valueChanged(const glm::vec3& value);
24 private: 22 private:
25 std::array<class DoubleSpinBox*, 3> spinboxes(); 23 std::array<class DoubleSpinBox*, 3> spinboxes();
26 Q_SLOT void multiplyPressed(); 24 Q_SLOT void multiplyPressed();
27 std::unique_ptr<Ui::Vec3Editor> ui;
28 }; 25 };
29 26
30 Q_DECLARE_OPERATORS_FOR_FLAGS(QFlags<Vec3Editor::Flag>) 27 Q_DECLARE_OPERATORS_FOR_FLAGS(QFlags<VectorInput::Flag>)

mercurial