Add "Apply transformations" feature (no connectors or frames done yet)
[wmit:wmit.git] / src / ui / TransformDock.hpp
1 /*
2         Copyright 2010 Warzone 2100 Project
3
4         This file is part of WMIT.
5
6         WMIT is free software: you can redistribute it and/or modify
7         it under the terms of the GNU General Public License as published by
8         the Free Software Foundation, either version 3 of the License, or
9         (at your option) any later version.
10
11         WMIT is distributed in the hope that it will be useful,
12         but WITHOUT ANY WARRANTY; without even the implied warranty of
13         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14         GNU General Public License for more details.
15
16         You should have received a copy of the GNU General Public License
17         along with WMIT.  If not, see <http://www.gnu.org/licenses/>.
18 */
19 #ifndef TRANSFORMDOCK_HPP
20 #define TRANSFORMDOCK_HPP
21
22 #include <QDockWidget>
23
24 namespace Ui {
25     class TransformDock;
26 }
27
28 class TransformDock : public QDockWidget
29 {
30     Q_OBJECT
31 public:
32     TransformDock(QWidget *parent = 0);
33     ~TransformDock();
34 signals:
35         void scaleXYZChanged(double);
36         void scaleXChanged(double);
37         void scaleYChanged(double);
38         void scaleZChanged(double);
39         void reverseWindings();
40
41         void applyTransformations();
42
43 protected:
44     void changeEvent(QEvent *e);
45
46 private:
47     Ui::TransformDock *ui;
48         double scale_all, scale_xyz[3];
49         double scale_all_prev, scale_xyz_prev[3];
50         bool reverse_winding, reverse_winding_prev;
51
52 private slots:
53         void on_comboBox_currentIndexChanged(int index);
54         void on_horizontalSlider_valueChanged(int value);
55         void on_doubleSpinBox_valueChanged(double );
56         void on_pb_revWindings_clicked();
57         void on_pbApplyTransform_clicked();
58 };
59
60 #endif // TRANSFORMDOCK_HPP