widgets/vec3editor.h

changeset 252
da4876bfd822
parent 206
654661eab7f3
child 254
b7b29cb82360
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/widgets/vec3editor.h	Wed Jun 22 20:27:53 2022 +0300
@@ -0,0 +1,30 @@
+#pragma once
+#include <QWidget>
+#include <glm/glm.hpp>
+
+namespace Ui
+{
+	class Vec3Editor;
+}
+
+class Vec3Editor : public QWidget
+{
+	Q_OBJECT
+public:
+	enum Flag
+	{
+		NoMultiplyButton = 0x1
+	};
+	explicit Vec3Editor(const glm::vec3& value, QWidget* parent = nullptr, QFlags<Flag> flags = {});
+	~Vec3Editor();
+	glm::vec3 value() const;
+	void setValue(const glm::vec3& value);
+Q_SIGNALS:
+	void valueChanged(const glm::vec3& value);
+private:
+	std::array<class DoubleSpinBox*, 3> spinboxes();
+	Q_SLOT void multiplyPressed();
+	std::unique_ptr<Ui::Vec3Editor> ui;
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(QFlags<Vec3Editor::Flag>)

mercurial