Sun, 09 Apr 2023 15:59:08 +0300
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; }