src/widgets/vec3editor.h

Fri, 04 Mar 2022 11:37:50 +0200

author
Teemu Piippo <teemu@hecknology.net>
date
Fri, 04 Mar 2022 11:37:50 +0200
changeset 152
03f8e6d42e13
parent 105
6ca6e8c647d4
child 206
654661eab7f3
permissions
-rw-r--r--

Major refactoring
- Model now just stores objects
- Document contains business logic
- Model::EditContext is now ModelEditor, no longer a nested class

#pragma once
#include <QWidget>
#include "main.h"

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