00001 #ifndef QBACKGROUNDCANVASST_H_ 00002 #define QBACKGROUNDCANVASSTR_H_ 00003 00004 #include <Qt/qobject.h> 00005 00006 #include <QtGui/QWidget> 00007 #include <QtOpenGL/QGLWidget> 00008 #include <QtGui/QKeyEvent> 00009 #include <QtGui/QMouseEvent> 00010 #include <QtGui/QColorDialog> 00011 00012 #include "VEvent.h" 00013 #include "VVector.h" 00014 00018 class QBackground_Streamline : public QObject, public QGLWidget 00019 { 00020 Q_OBJECT 00021 00022 protected: 00023 00027 virtual void initializeGL(); 00028 00032 virtual void paintGL(); 00033 00034 public: 00038 QBackground_Streamline(QWidget* parent = 0); 00039 00043 virtual ~QBackground_Streamline(); 00044 00049 void setObjectName(const QString &name); 00050 00055 void setStreamlinesColorPtr(VVector *v); 00056 00062 virtual void resizeGL( int w, int h ); 00063 00064 //events 00069 virtual void paintEvent( QPaintEvent *e ); 00070 00075 virtual void mousePressEvent ( QMouseEvent * e ); 00076 00081 virtual void mouseReleaseEvent ( QMouseEvent * e ); 00082 00087 virtual void mouseMoveEvent ( QMouseEvent * e ); 00088 00093 virtual void mouseDoubleClickEvent ( QMouseEvent * e ); 00094 00099 virtual void keyPressEvent ( QKeyEvent * e ); 00100 00105 virtual void keyReleaseEvent ( QKeyEvent * e ); 00106 00112 const VMouseEvent getMouseEvent (QMouseEvent *e); 00113 00119 const VKeyboardEvent getKeyboardEvent (QKeyEvent *e); 00120 00125 virtual void redraw(); 00126 00127 private: 00128 00129 VVector m_CanvasColor; 00130 VVector *m_StreamlinesColor; 00134 }; 00135 #endif 00136