Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

qglvuwindow.h

00001 #ifndef __QGLVUWINDOW_H__
00002 #define __QGLVUWINDOW_H__
00003 #include <qmainwindow.h>
00004 #include <vector>
00005 
00006 #include "qglvuwidget.h"
00007 
00008 class QLabel; // forward declaration
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: // methods
00049   virtual void  _InitializeMenus();         
00050   
00051   
00052 protected: // data
00054   enum MenuIDs
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   //*! Exception: Camera selectors are taken from QGLVUWidget. */
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__

Generated at Fri Oct 12 15:12:21 2001 for GLVU by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001