3 Copyright (C) 2010 Dzmitry Kamiahin <dnk-88@tut.by>
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.
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.
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/>.
26 #include <QtGui/QMainWindow>
27 #include <QtGui/QLabel>
28 #include <QtGui/QUndoStack>
31 #include <nel/misc/config_file.h>
43 class CGraphicsViewport
;
44 class CAnimationDialog
;
45 class CAnimationSetDialog
;
46 class CSlotManagerDialog
;
47 class CParticleControlDialog
;
48 class CParticleWorkspaceDialog
;
50 class CSkeletonScaleDialog
;
51 class CSkeletonTreeModel
;
52 class CWaterPoolDialog
;
53 class CVegetableDialog
;
54 class CGlobalWindDialog
;
55 class CDayNightDialog
;
56 class CSunColorDialog
;
58 class CTuneTimerDialog
;
62 class CMainWindow
: public QMainWindow
67 CMainWindow(QWidget
*parent
= 0);
71 CSkeletonTreeModel
*getSkeletonModel() const
73 return _SkeletonTreeModel
;
76 QUndoStack
*getUndoStack() const
84 void reloadTextures();
87 void updateStatusBar();
89 void setInterval(int value
);
92 virtual void showEvent(QShowEvent
*showEvent
);
93 virtual void hideEvent(QHideEvent
*hideEvent
);
99 void createToolBars();
100 void createDialogs();
102 bool loadFile(const QString
&fileName
, const QString
&skelName
);
104 bool _isGraphicsInitialized
, _isGraphicsEnabled
;
105 bool _isSoundInitialized
, _isSoundEnabled
;
107 CGraphicsViewport
*_GraphicsViewport
;
108 CAnimationDialog
*_AnimationDialog
;
109 CAnimationSetDialog
*_AnimationSetDialog
;
110 CSlotManagerDialog
*_SlotManagerDialog
;
111 CParticleControlDialog
*_ParticleControlDialog
;
112 CParticleWorkspaceDialog
*_ParticleWorkspaceDialog
;
113 CVegetableDialog
*_VegetableDialog
;
114 CWaterPoolDialog
*_WaterPoolDialog
;
115 CGlobalWindDialog
*_GlobalWindDialog
;
116 CSetupFog
*_SetupFog
;
117 CSkeletonScaleDialog
*_SkeletonScaleDialog
;
118 CDayNightDialog
*_DayNightDialog
;
119 CSunColorDialog
*_SunColorDialog
;
120 CTuneMRMDialog
*_TuneMRMDialog
;
121 CSkeletonTreeModel
*_SkeletonTreeModel
;
122 CTuneTimerDialog
*_TuneTimerDialog
;
124 CCameraControl
*_cameraControl
;
129 QTimer
*_statusBarTimer
;
131 QToolBar
*_fileToolBar
;
132 QToolBar
*_viewToolBar
;
134 QAction
*_openAction
;
135 QAction
*_setBackColorAction
;
136 QAction
*_frameDelayAction
;
137 QAction
*_lightGroupAction
;
138 QAction
*_reloadTexturesAction
;
139 QAction
*_resetSceneAction
;
140 QAction
*_saveScreenshotAction
;
142 QUndoStack
*_undoStack
;
150 };/* class CMainWindow */
152 } /* namespace NLQT */
154 #endif // MAIN_WINDOW_H