/
documentwindow.h
169 lines (153 loc) · 4.76 KB
/
documentwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#ifndef DUST3D_DOCUMENT_WINDOW_H
#define DUST3D_DOCUMENT_WINDOW_H
#include <QMainWindow>
#include <QShowEvent>
#include <QPushButton>
#include <QString>
#include <QMenu>
#include <QAction>
#include <QTextBrowser>
#include "document.h"
#include "modelwidget.h"
#include "exportpreviewwidget.h"
#include "rigwidget.h"
#include "bonemark.h"
#include "posemanagewidget.h"
#include "advancesettingwidget.h"
class SkeletonGraphicsWidget;
class DocumentWindow : public QMainWindow
{
Q_OBJECT
signals:
void initialized();
public:
DocumentWindow();
~DocumentWindow();
static DocumentWindow *createDocumentWindow();
static void showAcknowlegements();
static void showContributors();
static void showAbout();
protected:
void showEvent(QShowEvent *event);
void closeEvent(QCloseEvent *event);
void mousePressEvent(QMouseEvent *event);
public slots:
void changeTurnaround();
void save();
void saveTo(const QString &saveAsFilename);
void open();
void exportObjResult();
void exportGlbResult();
void exportFbxResult();
void showExportPreview();
void newWindow();
void newDocument();
void saveAs();
void saveAll();
void viewSource();
void about();
void reportIssues();
void seeAcknowlegements();
void seeContributors();
void seeReferenceGuide();
void documentChanged();
void updateXlockButtonState();
void updateYlockButtonState();
void updateZlockButtonState();
void updateRadiusLockButtonState();
void updateRigWeightRenderWidget();
void registerDialog(QWidget *widget);
void unregisterDialog(QWidget *widget);
void showAdvanceSetting();
private:
void initLockButton(QPushButton *button);
void setCurrentFilename(const QString &filename);
void updateTitle();
private:
Document *m_document;
bool m_firstShow;
bool m_documentSaved;
ExportPreviewWidget *m_exportPreviewWidget;
AdvanceSettingWidget *m_advanceSettingWidget;
std::vector<QWidget *> m_dialogs;
bool m_isLastMeshGenerationSucceed;
private:
QString m_currentFilename;
ModelWidget *m_modelRenderWidget;
SkeletonGraphicsWidget *m_graphicsWidget;
RigWidget *m_rigWidget;
QMenu *m_fileMenu;
QAction *m_newWindowAction;
QAction *m_newDocumentAction;
QAction *m_openAction;
QAction *m_saveAction;
QAction *m_saveAsAction;
QAction *m_saveAllAction;
QMenu *m_exportMenu;
QAction *m_changeTurnaroundAction;
QAction *m_exportAsObjAction;
QAction *m_exportAsObjPlusMaterialsAction;
QAction *m_exportAction;
QAction *m_exportRenderedAsImageAction;
QMenu *m_editMenu;
QAction *m_addAction;
QAction *m_undoAction;
QAction *m_redoAction;
QAction *m_deleteAction;
QAction *m_breakAction;
QAction *m_connectAction;
QAction *m_cutAction;
QAction *m_copyAction;
QAction *m_pasteAction;
QAction *m_flipHorizontallyAction;
QAction *m_flipVerticallyAction;
QAction *m_rotateClockwiseAction;
QAction *m_rotateCounterclockwiseAction;
QAction *m_switchXzAction;
QMenu *m_alignToMenu;
QAction *m_alignToGlobalCenterAction;
QAction *m_alignToGlobalVerticalCenterAction;
QAction *m_alignToGlobalHorizontalCenterAction;
QAction *m_alignToLocalCenterAction;
QAction *m_alignToLocalVerticalCenterAction;
QAction *m_alignToLocalHorizontalCenterAction;
QAction *m_selectAllAction;
QAction *m_selectPartAllAction;
QAction *m_unselectAllAction;
QMenu *m_markAsMenu;
QAction *m_markAsNoneAction;
QAction *m_markAsActions[(int)BoneMark::Count - 1];
QMenu *m_viewMenu;
QAction *m_resetModelWidgetPosAction;
QAction *m_toggleWireframeAction;
QAction *m_toggleSmoothNormalAction;
QAction *m_showMotionsListAction;
QMenu *m_windowMenu;
QAction *m_showPartsListAction;
QAction *m_showDebugDialogAction;
QAction *m_showMaterialsAction;
QAction *m_showRigAction;
QAction *m_showPosesAction;
QAction *m_showMotionsAction;
QAction *m_showAdvanceSettingAction;
QMenu *m_helpMenu;
QAction *m_viewSourceAction;
QAction *m_aboutAction;
QAction *m_reportIssuesAction;
QAction *m_seeContributorsAction;
QAction *m_seeAcknowlegementsAction;
QAction *m_seeReferenceGuideAction;
QPushButton *m_xlockButton;
QPushButton *m_ylockButton;
QPushButton *m_zlockButton;
QPushButton *m_radiusLockButton;
QMetaObject::Connection m_partListDockerVisibleSwitchConnection;
public:
static int m_modelRenderWidgetInitialX;
static int m_modelRenderWidgetInitialY;
static int m_modelRenderWidgetInitialSize;
static int m_skeletonRenderWidgetInitialX;
static int m_skeletonRenderWidgetInitialY;
static int m_skeletonRenderWidgetInitialSize;
};
#endif