src/dialogs.h

changeset 629
b75c6cce02e2
parent 628
6b13e4c2e97b
child 630
42ec68fcad9e
child 675
450827da2376
equal deleted inserted replaced
628:6b13e4c2e97b 629:b75c6cce02e2
1 /*
2 * LDForge: LDraw parts authoring CAD
3 * Copyright (C) 2013, 2014 Santeri Piippo
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19 #ifndef LDFORGE_DIALOGS_H
20 #define LDFORGE_DIALOGS_H
21
22 #include <QDialog>
23 #include "main.h"
24 #include "types.h"
25
26 class Ui_ExtProgPath;
27 class QRadioButton;
28 class QCheckBox;
29 class QProgressBar;
30 class QGroupBox;
31 class QDialogButtonBox;
32 class QDoubleSpinBox;
33 class QPushButton;
34 class QLineEdit;
35 class QSpinBox;
36 class RadioGroup;
37 class QLabel;
38 class QAbstractButton;
39 class Ui_OverlayUI;
40 class Ui_LDPathUI;
41 class Ui_OpenProgressUI;
42
43 class OverlayDialog : public QDialog
44 {
45 Q_OBJECT
46
47 public:
48 explicit OverlayDialog (QWidget* parent = null, Qt::WindowFlags f = 0);
49 virtual ~OverlayDialog();
50
51 QString fpath() const;
52 int ofsx() const;
53 int ofsy() const;
54 double lwidth() const;
55 double lheight() const;
56 int camera() const;
57
58 private:
59 Ui_OverlayUI* ui;
60 QList<pair<QRadioButton*, int>> m_cameraArgs;
61
62 private slots:
63 void slot_fpath();
64 void slot_help();
65 void slot_dimensionsChanged();
66 void fillDefaults (int newcam);
67 };
68
69 // =============================================================================
70 class LDrawPathDialog : public QDialog
71 {
72 Q_OBJECT
73
74 public:
75 explicit LDrawPathDialog (const bool validDefault, QWidget* parent = null, Qt::WindowFlags f = 0);
76 virtual ~LDrawPathDialog();
77 QString filename() const;
78 void setPath (QString path);
79
80 private:
81 Q_DISABLE_COPY (LDrawPathDialog)
82 const bool m_validDefault;
83 Ui_LDPathUI* ui;
84 QPushButton* okButton();
85 QPushButton* cancelButton();
86
87 private slots:
88 void slot_findPath();
89 void slot_tryConfigure();
90 void slot_exit();
91 void slot_accept();
92 };
93
94 // =============================================================================
95 class OpenProgressDialog : public QDialog
96 {
97 Q_OBJECT
98 PROPERTY (public, int, Progress, NUM_OPS, STOCK_WRITE)
99 PROPERTY (public, int, NumLines, NUM_OPS, CUSTOM_WRITE)
100
101 public:
102 explicit OpenProgressDialog (QWidget* parent = null, Qt::WindowFlags f = 0);
103 virtual ~OpenProgressDialog();
104
105 public slots:
106 void updateProgress (int progress);
107
108 private:
109 Ui_OpenProgressUI* ui;
110
111 void updateValues();
112 };
113
114 // =============================================================================
115 class ExtProgPathPrompt : public QDialog
116 {
117 Q_OBJECT
118
119 public:
120 explicit ExtProgPathPrompt (QString progName, QWidget* parent = 0, Qt::WindowFlags f = 0);
121 virtual ~ExtProgPathPrompt();
122 QString getPath() const;
123
124 public slots:
125 void findPath();
126
127 private:
128 Ui_ExtProgPath* ui;
129 };
130
131 // =============================================================================
132 class AboutDialog : public QDialog
133 {
134 Q_OBJECT
135
136 public:
137 AboutDialog (QWidget* parent = null, Qt::WindowFlags f = 0);
138
139 private slots:
140 void slot_mail();
141 };
142
143 void bombBox (const QString& message);
144
145 #endif // LDFORGE_DIALOGS_H

mercurial