Sun, 29 Jan 2017 15:18:40 +0200
Made the quad→triangles use emplacement. However, now it crashes because of problems in the underlying system (the LDObject constructor shouldn't do anything in regard to the model!)
1071
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
1 | /* |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
2 | * LDForge: LDraw parts authoring CAD |
1072 | 3 | * Copyright (C) 2013 - 2017 Teemu Piippo |
1071
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
4 | * |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
5 | * This program is free software: you can redistribute it and/or modify |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
6 | * it under the terms of the GNU General Public License as published by |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
7 | * the Free Software Foundation, either version 3 of the License, or |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
8 | * (at your option) any later version. |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
9 | * |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
10 | * This program is distributed in the hope that it will be useful, |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
13 | * GNU General Public License for more details. |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
14 | * |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
15 | * You should have received a copy of the GNU General Public License |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
17 | */ |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
18 | |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
19 | #pragma once |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
20 | #include "main.h" |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
21 | #include <QDoubleSpinBox> |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
22 | |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
23 | /* |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
24 | * Models a 3Ă—3 array of spinboxes for matrix input. |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
25 | */ |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
26 | class MatrixInput : public QWidget |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
27 | { |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
28 | Q_OBJECT |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
29 | |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
30 | public: |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
31 | explicit MatrixInput(QWidget *parent = 0); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
32 | int decimals() const; |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
33 | double maximum() const; |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
34 | double minimum() const; |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
35 | QString prefix() const; |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
36 | void setDecimals(int precision); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
37 | void setMaximum(double maximum); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
38 | void setMinimum(double minimum); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
39 | void setPrefix(const QString& prefix); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
40 | void setRange(double minimum, double maximum); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
41 | void setSingleStep(double singleStep); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
42 | void setSuffix(const QString& suffix); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
43 | QString suffix(); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
44 | void setValue(const Matrix& value); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
45 | Matrix value(); |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
46 | |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
47 | private: |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
48 | QDoubleSpinBox* _spinboxes[9]; |
ff4639b672ae
Matrices are now input with 9 spinboxes instead of a MLCad-style line edit
Teemu Piippo <teemu@hecknology.net>
parents:
diff
changeset
|
49 | }; |