00001 #ifndef RENDERGROUPQGLVIEW_H
00002 #define RENDERGROUPQGLVIEW_H
00003
00004 #ifdef RT_QT
00005
00006 #include "Types.h"
00007 #include "RendergroupAbstractView.h"
00008 #include "MouseInterface.h"
00009 #include "KeyboardInterface.h"
00010
00011 namespace RenderTools{
00012
00013 class RendergroupQGLView : public QGLWidget, public RendergroupAbstractView, public MouseInterface, public KeyboardInterface {
00014 Q_OBJECT
00015 public:
00016
00017 RendergroupQGLView( void );
00018 virtual ~RendergroupQGLView( void );
00019
00020 static PropertyPtr create( const XMLNodePtr & xml = XMLNodePtr() );
00021 virtual void createProperties( void );
00022 virtual const string getTypeName( bool ofComponent = false ) const;
00023
00024 virtual void startTimer( unsigned int millis = 30 );
00025 virtual void stopTimer( void );
00026
00027 protected slots:
00028 virtual void initializeGL( void );
00029 virtual void resizeGL( int width, int height );
00030 virtual void paintGL( void );
00031 virtual void timerEvent( QTimerEvent *e );
00032 virtual void mousePressEvent( QMouseEvent *event );
00033 virtual void mouseReleaseEvent( QMouseEvent *event );
00034 virtual void mouseMoveEvent( QMouseEvent *event );
00035 virtual void keyPressEvent( QKeyEvent *event );
00036 virtual void keyReleaseEvent( QKeyEvent * event );
00037
00038 private:
00039 unsigned int m_timerQt;
00040 };
00041
00042 typedef shared_ptr< RendergroupQGLView > RendergroupQGLViewPtr;
00043
00044 };
00045
00046 #endif //RT_QT
00047
00048 #endif
00049
00050