widgets/matrixeditor.h

Sun, 09 Apr 2023 15:59:08 +0300

author
Teemu Piippo <teemu.s.piippo@gmail.com>
date
Sun, 09 Apr 2023 15:59:08 +0300
changeset 362
e1d646a4cbd8
parent 253
8b994c917f69
permissions
-rw-r--r--

Extracted the state of the program into a MainState structure, and extracted local functions of main() into static functions.
I was planning to make the core logic and state of the program into a Main class, which would be a QObject that would
have lots of signals and slots, but it looks like this works even without it

#pragma once
#include <QWidget>
#include <glm/glm.hpp>

class MatrixEditor : public QWidget
{
	Q_OBJECT
public:
	explicit MatrixEditor(QWidget *parent = nullptr);
	explicit MatrixEditor(const glm::mat4 value, QWidget* parent = nullptr);
	~MatrixEditor();
	glm::mat4 value() const;
	void setValue(const glm::mat4& value);
Q_SIGNALS:
	void valueChanged(const glm::mat4& value);
private:
	constexpr int matrixSize() const;
	Q_SLOT void multiplyButtonPressed();
	class QDoubleSpinBox* spinboxes[4][3];
	class Ui_MatrixEditor *ui;
};

constexpr int MatrixEditor::matrixSize() const
{
	return 4;
}

mercurial