Thu, 16 Jun 2016 14:13:04 +0300
Added doxygen.ini
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
1 | /* | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
2 | * LDForge: LDraw parts authoring CAD | 
| 
1014
 
f0a8ecb6a357
Happy new year 2016!
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1012 
diff
changeset
 | 
3 | * Copyright (C) 2013 - 2016 Teemu Piippo | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
4 | * | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
5 | * This program is free software: you can redistribute it and/or modify | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
6 | * it under the terms of the GNU General Public License as published by | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
7 | * the Free Software Foundation, either version 3 of the License, or | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
8 | * (at your option) any later version. | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
9 | * | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
10 | * This program is distributed in the hope that it will be useful, | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
13 | * GNU General Public License for more details. | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
14 | * | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
15 | * You should have received a copy of the GNU General Public License | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
17 | */ | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
18 | |
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
19 | #pragma once | 
| 
806
 
4240f47aa2d4
- moved most of LDColorData API into LDColor
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents: 
804 
diff
changeset
 | 
20 | #include <functional> | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
21 | #include <QMainWindow> | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
22 | #include <QAction> | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
23 | #include <QListWidget> | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
24 | #include <QRadioButton> | 
| 
963
 
c1526d1877d7
More through removal of the vertex object
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
962 
diff
changeset
 | 
25 | #include <QTreeWidget> | 
| 
969
 
b1742ee91d5b
Split actions.cpp and actionsEdit.cpp into toolsets.
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
968 
diff
changeset
 | 
26 | #include <QMetaMethod> | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
27 | #include "ldObject.h" | 
| 
795
 
195fa1fff9c3
- changed all color usage to use LDColor classes instead of color indices. Added support for direct colors.
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents: 
794 
diff
changeset
 | 
28 | #include "colors.h" | 
| 
988
 
ac4a2ae54f76
Refactor LDObject API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
986 
diff
changeset
 | 
29 | #include "doublemap.h" | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
30 | |
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
31 | class MessageManager; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
32 | class MainWindow; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
33 | class QToolButton; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
34 | class QDialogButtonBox; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
35 | class GLRenderer; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
36 | class QComboBox; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
37 | class QProgressBar; | 
| 
969
 
b1742ee91d5b
Split actions.cpp and actionsEdit.cpp into toolsets.
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
968 
diff
changeset
 | 
38 | class Toolset; | 
| 
1017
 
fc1c13db9618
Renamed ConfigurationValueBag to Configuration and added a pointer to it into HierarchyElement. This helps with the fight against global variables.
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1014 
diff
changeset
 | 
39 | class Configuration; | 
| 
1018
 
49358df9495b
Transformed primitive management into a new class PrimitiveManager that is a member of MainWindow
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1017 
diff
changeset
 | 
40 | class PrimitiveManager; | 
| 
1023
 
9450ac3cd930
Split grid stuff into a new class Grid in grid.cpp/grid.h
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1018 
diff
changeset
 | 
41 | class Grid; | 
| 
1024
 
67ba0ee049eb
Moved rotation point handling to ldObjectMath.cpp and encapsulated it into new class MathFunctions
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1023 
diff
changeset
 | 
42 | class MathFunctions; | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
43 | |
| 
1010
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
44 | class ColorToolbarItem | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
45 | { | 
| 
1010
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
46 | public: | 
| 
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
47 | ColorToolbarItem (LDColor color, QToolButton* toolButton); | 
| 
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
48 | LDColor color() const; | 
| 
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
49 | bool isSeparator() const; | 
| 
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
50 | void setColor (LDColor color); | 
| 
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
51 | void setToolButton (QToolButton* value); | 
| 
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
52 | QToolButton* toolButton() const; | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
53 | |
| 
1010
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
54 | static ColorToolbarItem makeSeparator(); | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
55 | |
| 
1010
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
56 | private: | 
| 
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
57 | LDColor m_color; | 
| 
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
58 | QToolButton* m_toolButton; | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
59 | }; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
60 | |
| 794 | 61 | // LDForge's main GUI class. | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
62 | class MainWindow : public QMainWindow | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
63 | { | 
| 
806
 
4240f47aa2d4
- moved most of LDColorData API into LDColor
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents: 
804 
diff
changeset
 | 
64 | Q_OBJECT | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
65 | |
| 794 | 66 | public: | 
| 
1017
 
fc1c13db9618
Renamed ConfigurationValueBag to Configuration and added a pointer to it into HierarchyElement. This helps with the fight against global variables.
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1014 
diff
changeset
 | 
67 | explicit MainWindow(Configuration& config, QWidget* parent = nullptr, Qt::WindowFlags flags = 0); | 
| 
857
 
e62983881460
- fixed crash-on-exit (simply by not running full destruction processing during program termination)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
844 
diff
changeset
 | 
68 | ~MainWindow(); | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
69 | |
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
70 | void addMessage (QString msg); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
71 | void applyToActions (std::function<void(QAction*)> function); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
72 | void buildObjectList(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
73 | void changeDocument (LDDocument* f); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
74 | void closeInitialDocument(); | 
| 
1017
 
fc1c13db9618
Renamed ConfigurationValueBag to Configuration and added a pointer to it into HierarchyElement. This helps with the fight against global variables.
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1014 
diff
changeset
 | 
75 | Configuration* config(); | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
76 | void createBlankDocument(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
77 | LDDocument* currentDocument(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
78 | void currentDocumentClosed(); | 
| 
997
 
1b49f34e533d
Commit work done on document manager. Happy 3rd birthday LDForge!
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
988 
diff
changeset
 | 
79 | QKeySequence defaultShortcut (QAction* act); | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
80 | void deleteByColor (LDColor color); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
81 | int deleteSelection(); | 
| 
997
 
1b49f34e533d
Commit work done on document manager. Happy 3rd birthday LDForge!
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
988 
diff
changeset
 | 
82 | DocumentManager* documents() { return m_documents; } | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
83 | void doFullRefresh(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
84 | void endAction(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
85 | class ExtProgramToolset* externalPrograms(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
86 | QVariant getConfigValue (QString name); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
87 | QTreeWidget* getPrimitivesTree() const; | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
88 | class QSettings* getSettings() { return m_settings; } | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
89 | LDColor getUniformSelectedColor(); | 
| 
1023
 
9450ac3cd930
Split grid stuff into a new class Grid in grid.cpp/grid.h
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1018 
diff
changeset
 | 
90 | Grid* grid(); | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
91 | class GuiUtilities* guiUtilities(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
92 | void loadShortcuts(); | 
| 
1024
 
67ba0ee049eb
Moved rotation point handling to ldObjectMath.cpp and encapsulated it into new class MathFunctions
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1023 
diff
changeset
 | 
93 | MathFunctions* mathFunctions() const; | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
94 | LDDocument* newDocument (bool cache = false); | 
| 
1018
 
49358df9495b
Transformed primitive management into a new class PrimitiveManager that is a member of MainWindow
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1017 
diff
changeset
 | 
95 | PrimitiveManager* primitives(); | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
96 | GLRenderer* renderer(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
97 | void refresh(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
98 | void refreshObjectList(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
99 | bool ringToolHiRes() const; | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
100 | int ringToolSegments() const; | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
101 | bool save (LDDocument* doc, bool saveAs); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
102 | void saveShortcuts(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
103 | void scrollToSelection(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
104 | const LDObjectList& selectedObjects(); | 
| 
1010
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
105 | void setQuickColors (const QList<ColorToolbarItem>& colors); | 
| 
1031
 
55c0d3beea0d
removed removeDuplicates in favor of QSet, and the unused ObjectList class
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1024 
diff
changeset
 | 
106 | void spawnContextMenu (const QPoint& position); | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
107 | int suggestInsertPoint(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
108 | void syncSettings(); | 
| 
983
 
05ba93066194
Refactor edit history
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
981 
diff
changeset
 | 
109 | Q_SLOT void updateActions(); | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
110 | void updateColorToolbar(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
111 | void updateDocumentList(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
112 | void updateDocumentListItem (LDDocument* doc); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
113 | void updateEditModeActions(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
114 | void updateGridToolBar(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
115 | void updateRecentFilesMenu(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
116 | void updateSelection(); | 
| 794 | 117 | void updateTitle(); | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
118 | |
| 794 | 119 | public slots: | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
120 | void actionTriggered(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
121 | void circleToolSegmentsChanged(); | 
| 
798
 
88d4973cfe1a
- added close buttons to tabs
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents: 
795 
diff
changeset
 | 
122 | void closeTab (int tabindex); | 
| 
983
 
05ba93066194
Refactor edit history
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
981 
diff
changeset
 | 
123 | void historyTraversed(); | 
| 
866
 
4951b737f8cb
- now able to spawn partial circular primitives
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
865 
diff
changeset
 | 
124 | void ringToolHiResClicked (bool clicked); | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
125 | void tabSelected(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
126 | void updatePrimitives(); | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
127 | |
| 794 | 128 | protected: | 
| 129 | void closeEvent (QCloseEvent* ev); | |
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
130 | |
| 794 | 131 | private: | 
| 
969
 
b1742ee91d5b
Split actions.cpp and actionsEdit.cpp into toolsets.
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
968 
diff
changeset
 | 
132 | struct ToolInfo { QMetaMethod method; Toolset* object; }; | 
| 
 
b1742ee91d5b
Split actions.cpp and actionsEdit.cpp into toolsets.
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
968 
diff
changeset
 | 
133 | |
| 
1017
 
fc1c13db9618
Renamed ConfigurationValueBag to Configuration and added a pointer to it into HierarchyElement. This helps with the fight against global variables.
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1014 
diff
changeset
 | 
134 | Configuration& m_config; | 
| 
974
 
b2fa5f89798a
Added a GuiUtilities class to contain useful non-MainWindow-related GUI functions
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
971 
diff
changeset
 | 
135 | class GuiUtilities* m_guiUtilities; | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
136 | GLRenderer* m_renderer; | 
| 
1018
 
49358df9495b
Transformed primitive management into a new class PrimitiveManager that is a member of MainWindow
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1017 
diff
changeset
 | 
137 | PrimitiveManager* m_primitives; | 
| 
1023
 
9450ac3cd930
Split grid stuff into a new class Grid in grid.cpp/grid.h
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1018 
diff
changeset
 | 
138 | Grid* m_grid; | 
| 
1024
 
67ba0ee049eb
Moved rotation point handling to ldObjectMath.cpp and encapsulated it into new class MathFunctions
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1023 
diff
changeset
 | 
139 | MathFunctions* m_mathFunctions; | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
140 | LDObjectList m_sel; | 
| 
1010
 
969b48eddd6b
A bit more cleanup. Finally removed the PROPERTY macro. (now let's see about making a new one sometime that isn't so terrible?)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
998 
diff
changeset
 | 
141 | QList<ColorToolbarItem> m_quickColors; | 
| 794 | 142 | QList<QToolButton*> m_colorButtons; | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
143 | QList<QAction*> m_recentFiles; | 
| 
965
 
d1b0aa40db91
MainWindow: "ui->" -> "ui."
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
964 
diff
changeset
 | 
144 | class Ui_MainWindow& ui; | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
145 | QTabBar* m_tabs; | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
146 | bool m_updatingTabs; | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
147 | QVector<Toolset*> m_toolsets; | 
| 
969
 
b1742ee91d5b
Split actions.cpp and actionsEdit.cpp into toolsets.
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
968 
diff
changeset
 | 
148 | QMap<QAction*, ToolInfo> m_toolmap; | 
| 
970
 
c8aae45afd85
Commit configuration rework (doesn't work yet, more than most probably doesn't compile either)
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
969 
diff
changeset
 | 
149 | class ExtProgramToolset* m_externalPrograms; | 
| 
971
 
c00f9665a9f8
Now compiles and links but crashes shortly after startup.
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
970 
diff
changeset
 | 
150 | class QSettings* m_settings; | 
| 
997
 
1b49f34e533d
Commit work done on document manager. Happy 3rd birthday LDForge!
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
988 
diff
changeset
 | 
151 | DocumentManager* m_documents; | 
| 
978
 
4603d8fd063e
Make documents members of the main window
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
974 
diff
changeset
 | 
152 | LDDocument* m_currentDocument; | 
| 
988
 
ac4a2ae54f76
Refactor LDObject API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
986 
diff
changeset
 | 
153 | DoubleMap<LDObject*, QListWidgetItem*> m_objectsInList; | 
| 998 | 154 | bool m_isSelectionLocked; | 
| 155 | QMap<QAction*, QKeySequence> m_defaultShortcuts; | |
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
156 | |
| 794 | 157 | private slots: | 
| 
1018
 
49358df9495b
Transformed primitive management into a new class PrimitiveManager that is a member of MainWindow
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1017 
diff
changeset
 | 
158 | void finishInitialization(); | 
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
159 | void selectionChanged(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
160 | void recentFileClicked(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
161 | void quickColorClicked(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
162 | void doLastSecondCleanup(); | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
163 | void objectListDoubleClicked (QListWidgetItem* listitem); | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
164 | }; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
165 | |
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
166 | // Pointer to the instance of MainWindow. | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
167 | // TODO: it's going out, slowly but surely. | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
168 | extern MainWindow* g_win; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
169 | |
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
170 | // Get an icon by name from the resources directory. | 
| 
861
 
83426c5fa732
- major identifier renaming
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
857 
diff
changeset
 | 
171 | QPixmap GetIcon (QString iconName); | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
172 | |
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
173 | // Asks the user a yes/no question with the given message and the given window title. | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
174 | // Returns true if the user answered yes, false if no. | 
| 
861
 
83426c5fa732
- major identifier renaming
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
857 
diff
changeset
 | 
175 | bool Confirm (const QString& title, const QString& message); // Generic confirm prompt | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
176 | |
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
177 | // An overload of confirm(), this asks the user a yes/no question with the given message. | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
178 | // Returns true if the user answered yes, false if no. | 
| 
861
 
83426c5fa732
- major identifier renaming
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
857 
diff
changeset
 | 
179 | bool Confirm (const QString& message); | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
180 | |
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
181 | // Displays an error prompt with the given message | 
| 
882
 
2f3cc8e045d5
- fixed compilation on windows
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
876 
diff
changeset
 | 
182 | void Critical (const QString& message); | 
| 
1018
 
49358df9495b
Transformed primitive management into a new class PrimitiveManager that is a member of MainWindow
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
1017 
diff
changeset
 | 
183 | void errorPrompt (QWidget *parent, const QString& message); | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
184 | |
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
185 | // Takes in pairs of radio buttons and respective values and finds the first selected one. | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
186 | // Returns returns the value of the first found radio button that was checked by the user. | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
187 | template<class T> | 
| 
861
 
83426c5fa732
- major identifier renaming
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
857 
diff
changeset
 | 
188 | T RadioSwitch (const T& defval, QList<Pair<QRadioButton*, T>> haystack) | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
189 | { | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
190 | for (Pair<QRadioButton*, const T&> i : haystack) | 
| 
861
 
83426c5fa732
- major identifier renaming
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
857 
diff
changeset
 | 
191 | { | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
192 | if (i.first->isChecked()) | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
193 | return i.second; | 
| 
861
 
83426c5fa732
- major identifier renaming
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
857 
diff
changeset
 | 
194 | } | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
195 | |
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
196 | return defval; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
197 | } | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
198 | |
| 
981
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
199 | // Takes in pairs of radio buttons and respective values and checks the first found radio button whose respsective value | 
| 
 
5d5d84ab2c48
Refactor MainWindow's API
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
978 
diff
changeset
 | 
200 | // matches expr have the given value. | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
201 | template<class T> | 
| 
861
 
83426c5fa732
- major identifier renaming
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
857 
diff
changeset
 | 
202 | void RadioDefault (const T& expr, QList<Pair<QRadioButton*, T>> haystack) | 
| 
655
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
203 | { | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
204 | for (Pair<QRadioButton*, const T&> i : haystack) | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
205 | { | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
206 | if (i.second == expr) | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
207 | { | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
208 | i.first->setChecked (true); | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
209 | return; | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
210 | } | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
211 | } | 
| 
 
b376645315ab
- renamed files to camelCase
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
212 | } | 
| 
790
 
fe1b83f6ba82
- added primitives toolbox
 
Santeri Piippo <crimsondusk64@gmail.com> 
parents: 
789 
diff
changeset
 | 
213 | |
| 1012 | 214 | QSettings* makeSettings (QObject* parent = nullptr); |