Eigene Dateien/FlowVis/src/QTFCanvas.h

Go to the documentation of this file.
00001 #ifndef QTFCANVAS_H_
00002 #define QTFCANVAS_H_
00003 
00004 #include <Qt/qobject.h>
00005 
00006 #include <QtGui/QWidget>
00007 #include <QtGui/QComboBox>
00008 #include <QtGui/QScrollBar>
00009 #include <QtOpenGL/QGLWidget>
00010 #include <QtGui/QKeyEvent>
00011 #include <QtGui/QMouseEvent>
00012 #include <QtGui/QColorDialog>
00013 
00014 #include "VEvent.h"
00015 #include "VTransferFunction.h"
00016 
00020 class QTFCanvas : public QObject, public QGLWidget
00021 {
00022         Q_OBJECT
00023 public:
00024 
00029         QTFCanvas(QWidget* parent = 0);
00030 
00034         virtual ~QTFCanvas();
00035 
00041         void setHistogram(std::vector<int> * histogram, unsigned char *histogram2d);
00042 
00047         VTransferFunction * getTransferFunctionPtr();
00048 
00054         VTransferFunction * getTransferFunctionPtr(int index);
00055 
00056 protected:
00057 
00061         virtual void initializeGL();
00062 
00068     virtual void resizeGL( int w, int h );
00069 
00073     virtual void paintGL();
00074 
00075         
00076 public:
00077 
00082         void setObjectName(const QString &name);
00083 
00088         void setActiveTF( int index);
00089 
00090         
00091 
00096         void setHScroll(QScrollBar *_hbar)
00097         {
00098                 hbar = _hbar;
00099         }
00100 
00105         void setVScroll(QScrollBar *_vbar)
00106         {
00107                 vbar = _vbar;
00108         }
00109 
00113         void defaultSize()
00114         {
00115                 tfbig = false;
00116         }
00117 
00118 
00119 
00124         virtual void paintEvent( QPaintEvent *e );
00125 
00130         virtual void mousePressEvent ( QMouseEvent * e );
00131         
00136         virtual void mouseReleaseEvent ( QMouseEvent * e );
00137 
00142         virtual void mouseMoveEvent ( QMouseEvent * e );
00143 
00148         virtual void mouseClickEvent ( VMouseEvent gme );
00149 
00154         virtual void mouseDoubleClickEvent ( QMouseEvent * e );
00155 
00160         virtual void keyPressEvent ( QKeyEvent * e );
00161 
00166         virtual void keyReleaseEvent ( QKeyEvent * e );
00167 
00173         const VMouseEvent getMouseEvent (QMouseEvent *e);
00174 
00180         const VKeyboardEvent getKeyboardEvent (QKeyEvent *e);
00181 
00185         virtual void redraw();
00186 
00191         void saveTf(std::string filename);
00192 
00197         void loadTf(std::string filename);
00198 
00199 private:
00200 
00201         //void initIcon();
00202 
00203         VTransferFunction *m_TransferFunction;                          
00204         std::vector< VTransferFunction > m_TFVector;            
00206         float m_maxdensity;                                                                     
00207         QScrollBar *hbar;                                                                       
00208         QScrollBar *vbar;                                                                       
00210         bool tfbig;                                                                                     
00211         //unsigned int icon_texturehandle;
00212 
00213 };
00214 #endif

Generated on Mon Jan 21 01:15:15 2008 for FlowVis by  doxygen 1.5.4