Eigene Dateien/Vis/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 #include "VTransferFunction2D.h"
00017 
00021 class QTFCanvas : public QObject, public QGLWidget
00022 {
00023         Q_OBJECT
00024 public:
00025 
00030         QTFCanvas(QWidget* parent = 0);
00031 
00035         virtual ~QTFCanvas();
00036 
00042         void setHistogram(std::vector<int> * histogram, unsigned char *histogram2d);
00043 
00048         VTransferFunction * getTransferFunctionPtr();
00049 
00054         VTransferFunction2D * getTransferFunction2DPtr();
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 setModePtr(QComboBox *qmode);
00089 
00094         void setHScroll(QScrollBar *_hbar)
00095         {
00096                 hbar = _hbar;
00097         }
00098 
00103         void setVScroll(QScrollBar *_vbar)
00104         {
00105                 vbar = _vbar;
00106         }
00107 
00111         void defaultSize()
00112         {
00113                 tfbig = false;
00114         }
00115 
00119         void checkForLongClick();
00120 
00125         void modeChanged(int index);
00126 
00131         virtual void paintEvent( QPaintEvent *e );
00132 
00137         virtual void mousePressEvent ( QMouseEvent * e );
00138         
00143         virtual void mouseReleaseEvent ( QMouseEvent * e );
00144 
00149         virtual void mouseMoveEvent ( QMouseEvent * e );
00150 
00155         virtual void mouseClickEvent ( VMouseEvent gme );
00156 
00161         virtual void mouseDoubleClickEvent ( QMouseEvent * e );
00162 
00167         virtual void keyPressEvent ( QKeyEvent * e );
00168 
00173         virtual void keyReleaseEvent ( QKeyEvent * e );
00174 
00180         const VMouseEvent getMouseEvent (QMouseEvent *e);
00181 
00187         const VKeyboardEvent getKeyboardEvent (QKeyEvent *e);
00188 
00192         virtual void redraw();
00193 
00198         void saveTf(std::string filename);
00199 
00204         void loadTf(std::string filename);
00205 
00206 private:
00207 
00208         //void initIcon();
00209 
00210         VTransferFunction m_TransferFunction;                           
00211         VTransferFunction2D m_TransferFunction2d;                       
00213         float m_maxdensity;                                                                     
00214         QComboBox *m_tfmode_cb_Ptr;                                                     
00215         QScrollBar *hbar;                                                                       
00216         QScrollBar *vbar;                                                                       
00218         int m_tfmode;                                                                           
00219         bool tfbig;                                                                                     
00220         //unsigned int icon_texturehandle;
00221 
00222 };
00223 #endif

Generated on Wed Dec 5 05:15:09 2007 for VolRendering by  doxygen 1.5.4