programwindow.h

Go to the documentation of this file.
00001 //=============================================================================
00016 #ifndef __QT_PROGRAMWINDOW_H_INCLUDED__
00017 #define __QT_PROGRAMWINDOW_H_INCLUDED__
00018 
00019 #include <QtGui/QMainWindow>
00020 #include <QtGui/QTabWidget>
00021 #include <QtGui/QTextEdit>
00022 
00023 
00024 // forward declarations
00025 class IShader;
00026 class IScene;
00027 class CLightWidget;
00028 class CMaterialWidget;
00029 class CUniformWidget;
00030 class CSceneWidget;
00031 class CTextureWidget;
00032 class CGLWidget;
00033 class CEditor;
00034 
00035 
00036 //=============================================================================
00037 //  CProgramWindow
00038 //=============================================================================
00039 
00044 class CProgramWindow : public QMainWindow
00045 {
00046     Q_OBJECT
00047 public:
00048     CProgramWindow( void ); 
00049     virtual ~CProgramWindow( void ); 
00050 
00055     bool init( void );
00056 
00059     void shutdown( void );
00060 
00061 private slots:;
00062     void render( void );
00063     void linkProgram( void );
00064     void deactivateProgram( void );
00065     void aboutToQuit( void );
00066 
00067 private:
00068 
00069     // QWidget
00070     void closeEvent( QCloseEvent* event );
00071 
00072     // construction helpers
00073     void createGlWidget( void );
00074     void createLogWidget( void );
00075     void createLightWidget( void );
00076     void createUniformWidget( void );
00077     void createSceneWidget( void );
00078     void createTextureWidget( void );
00079     void createLayout( void );
00080     void createDriverInfoWidget( void );
00081 
00082     // widgets
00083     CGLWidget*          m_glWidget;
00084     QTabWidget*         m_tabs; // contains config widgets
00085     CLightWidget*       m_lighting;
00086     CMaterialWidget*    m_material;
00087     CUniformWidget*     m_uniform;
00088     CSceneWidget*       m_sceneWidget;
00089     CTextureWidget*     m_texture;
00090     QTextEdit*          m_logging;
00091     QTextEdit*          m_driverInfoWidget; // shows info about the GL driver
00092 
00093     // components
00094     CEditor*    m_editor;
00095     IScene*     m_scene;
00096 };
00097 
00098 
00099 #endif  // __QT_PROGRAMWINDOW_H_INCLUDED__
00100 

Generated on Sun Mar 2 17:12:31 2008 for Shader Maker by  doxygen 1.5.4