src/matrixinput.h

Sun, 29 Jan 2017 15:18:40 +0200

author
Teemu Piippo <teemu@hecknology.net>
date
Sun, 29 Jan 2017 15:18:40 +0200
changeset 1074
a62f810ca26f
parent 1072
9ce9496427f2
child 1326
69a90bd2dba2
permissions
-rw-r--r--

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
9ce9496427f2 Happy new year 2017!
Teemu Piippo <teemu@hecknology.net>
parents: 1071
diff changeset
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 };

mercurial