00001 #ifndef __QGLVUWINDOW_H__
00002 #define __QGLVUWINDOW_H__
00003 #include <qmainwindow.h>
00004 #include <vector>
00005
00006 #include "qglvuwidget.h"
00007
00008 class QLabel;
00009
00011
00015 class QGLVUWindow : public QMainWindow
00016 {
00017 Q_OBJECT
00018 public:
00019 QGLVUWindow(QWidget* parent = 0,
00020 const char* name = 0,
00021 WFlags f = WType_TopLevel );
00022 virtual ~QGLVUWindow();
00023
00025 virtual void Initialize(QGLVUWidget* pGLVU, QString caption = "");
00026
00028 QGLVUWidget* GetGLVU() { return _pGLVU; }
00029
00030 protected slots:
00032 void CameraMenuHandler(int iMenuID);
00034 void CameraDisplayMenuHandler(int iMenuID);
00036 void ViewerOptionsMenuHandler(int iMenuID);
00038 void OpenGLOptionsMenuHandler(int iMenuID);
00040 void NavigationMenuHandler(int iMenuID);
00042 void PathRecordMenuHandler(int iMenuID);
00043
00045 void FPSUpdate(float rFPS);
00046
00047 protected:
00049
00050
00051
00052 protected:
00054
00055 {
00056 MENU_FILE,
00057 MENU_GLVU,
00058 MENU_GLVU_CAMERA_SELECT,
00059 MENU_GLVU_CAMERA_DISPLAY,
00060 MENU_GLVU_VIEWER_OPTIONS,
00061 MENU_GLVU_OPENGL_OPTIONS,
00062 MENU_GLVU_NAV_MODE,
00063 MENU_GLVU_PATH_RECORD,
00064 MENU_NUM_MENUS
00065 };
00066
00068
00069 enum MenuItemIDs
00070 {
00071 MENUITEM_SNAPSHOT,
00072 MENUITEM_TOGGLE_INOUT,
00073 MENUITEM_RESET_VIEWS,
00074 MENUITEM_TOGGLE_INERTIA,
00075 MENUITEM_PRINT_CAMERA,
00076 MENUITEM_WIREFRAME,
00077 MENUITEM_CULL_FACE,
00078 MENUITEM_WHICH_CULL_FACE,
00079 MENUITEM_SMOOTH_SHADING,
00080 MENUITEM_LIGHTING,
00081 MENUITEM_MATERIALS,
00082 MENUITEM_PATH_SET_FILENAME,
00083 MENUITEM_PATH_RECORD,
00084 MENUITEM_PATH_STOP,
00085 MENUITEM_PATH_PLAY,
00086 MENUITEM_NUM_ITEMS
00087 };
00088
00090 enum StatusLabelIDs
00091 {
00092 STATUS_LABEL_NAV_MODE,
00093 STATUS_NUM_LABELS
00094 };
00095
00097 QGLVUWidget *_pGLVU;
00099 QToolBar *_pMenuToolbar;
00101 QMenuBar *_pMenubar;
00103 QPopupMenu *_pPopupMenus[MENU_NUM_MENUS];
00105 QLabel *_pStatusLabels[STATUS_NUM_LABELS];
00107 QString _navModeText[QGLVUWidget::NAV_MODE_NUM_MODES];
00108 };
00109
00110
00111 #endif //__QGLVUWINDOW_H__