7 #ifndef QTOPENGL_MAIN_WINDOW_H
8 #define QTOPENGL_MAIN_WINDOW_H
11 class CQTOpenGLMainWindow;
12 class CQTOpenGLWidget;
13 class CQTOpenGLLogStream;
14 class CQTOpenGLUserFunctions;
30 #include <argos3/core/utility/configuration/argos_configuration.h>
31 #include <argos3/core/simulator/visualization/visualization.h>
32 #include <QMainWindow>
46 return *m_pcOpenGLWidget;
50 return *m_pcOpenGLWidget;
54 return *m_pcUserFunctions;
58 return *m_pcUserFunctions;
66 return m_strTextureDir;
71 void ReadSettingsPreCreation();
72 void ReadSettingsPostCreation();
75 void CreateExperimentActions();
76 void CreateCameraActions();
77 void CreatePOVRayActions();
78 void CreateHelpActions();
80 void CreateExperimentToolBar();
81 void CreateExperimentMenu();
82 void CreateCameraToolBar();
83 void CreateCameraMenu();
84 void CreatePOVRayMenu();
85 void CreateHelpMenu();
88 void CreateLogMessageDock();
89 void CreateConnections();
93 virtual void closeEvent(QCloseEvent* pc_event);
214 enum EExperimentState {
215 EXPERIMENT_INITIALIZED = 0,
217 EXPERIMENT_FAST_FORWARDING,
219 EXPERIMENT_SUSPENDED,
225 CQTOpenGLWidget* m_pcOpenGLWidget;
226 QString m_strIconDir;
227 QString m_strTextureDir;
229 EExperimentState m_eExperimentState;
231 QAction* m_pcPlayAction;
232 QAction* m_pcFastForwardAction;
233 QAction* m_pcStepAction;
234 QAction* m_pcResetAction;
235 QAction* m_pcTerminateAction;
236 QAction* m_pcPauseAction;
237 QAction* m_pcCaptureAction;
238 QAction* m_pcQuitAction;
239 QSpinBox* m_pcDrawFrameEvery;
240 QLCDNumber* m_pcCurrentStepLCD;
241 QToolBar* m_pcExperimentToolBar;
242 QMenu* m_pcExperimentMenu;
244 QAction* m_pcShowCameraXMLAction;
245 QList<QAction*> m_pcSwitchCameraActions;
246 QActionGroup* m_pcSwitchCameraActionGroup;
247 QDoubleSpinBox* m_pcFocalLength;
248 QToolBar* m_pcCameraToolBar;
249 QMenu* m_pcCameraMenu;
251 QAction* m_pcPOVRayXMLAction;
252 QAction* m_pcPOVRayPreviewAction;
253 QMenu* m_pcPOVRayMenu;
255 QAction* m_pcAboutQTAction;
258 QStatusBar* m_pcStatusbar;
260 QDockWidget* m_pcLogDock;
261 QDockWidget* m_pcLogErrDock;
262 QTextEdit* m_pcDockLogBuffer;
263 QTextEdit* m_pcDockLogErrBuffer;
264 CQTOpenGLLogStream* m_pcLogStream;
265 CQTOpenGLLogStream* m_pcLogErrStream;
267 bool m_bWasLogColored;
269 CQTOpenGLUserFunctions* m_pcUserFunctions;