src/MainWindow.h

Go to the documentation of this file.
00001 #ifndef MAINWINDOW_H
00002 #define MAINWINDOW_H
00003 
00004 
00005 #include "compiler_options.h"
00006 #include "common.h"
00007 #include "Ui_MainWindow.h"
00008 #include "OpenGLWidget.h"
00009 #include "Volume.h"
00010 //#include "Histogram.h"
00011 #include "GradientEditor.h"
00012 #include "GradientRenderer.h"
00013 
00014 #include <QtGui/QResizeEvent>
00015 #include <QtGui/QWidget>
00016 
00017 class MainWindow : public QMainWindow, protected Ui_MainWindow
00018 {
00019   Q_OBJECT
00020 
00021   public:
00022 
00031     MainWindow( QWidget* parent = 0, Qt::WindowFlags flags = 0);
00032 
00033 
00039     virtual ~MainWindow();
00040 
00044     void resizeEvent(QResizeEvent* re);
00045 
00046 
00047   private:
00051     void configureSlider( QSlider *slider );
00052 
00056     void configureStepSizeSlider();
00057 
00061     void configureLightSlider( QSlider* slider);
00062 
00066     void configureGlossLightSlider();
00067 
00068 
00072     void activateSliders();
00073 
00077           void setAxisValue( int axis, int value );
00078 
00082     void keyPressEvent( QKeyEvent *e );
00083 
00084 
00085   public slots:
00086 
00087   private slots:
00091           void openFile();
00092 
00096     void closeFile();
00097 
00101     void closeProgram();
00102 
00106     void setXAxisValue( int xVal );
00107 
00111           void setYAxisValue( int yVal );
00112 
00116           void setZAxisValue( int zVal );
00117 
00121     void setStepSize( int value );
00122 
00123    // /**
00124    // * Called when pushing the render-button (maybe not needed in future versions)
00125    // */
00126           //void render();
00127 
00131     void saveTransferFunction();
00132 
00136     void loadTransferFunction();
00137 
00138 signals:
00139     void updateHistogram(const int*);
00140     void releaseHistogram();
00141 
00142 public slots:
00143     void setDefault0() { setDefaultGradient(0); }
00144     void setDefault1() { setDefaultGradient(1); }
00145     void setDefault2() { setDefaultGradient(2); }
00146     void setDefault3() { setDefaultGradient(3); }
00147 
00148     void setComp()   { glWidgets[ OPENGL_3D_VIEW ]->setRenderMode( comp   ); }
00149     void setMIP()    { glWidgets[ OPENGL_3D_VIEW ]->setRenderMode( mip    ); }
00150     void setAvg()    { glWidgets[ OPENGL_3D_VIEW ]->setRenderMode( avg    ); }
00151     void setAvgTF()  { glWidgets[ OPENGL_3D_VIEW ]->setRenderMode( avgTF  ); }
00152     void setFH()     { glWidgets[ OPENGL_3D_VIEW ]->setRenderMode( fh     ); }
00153     void setCompPh() { glWidgets[ OPENGL_3D_VIEW ]->setRenderMode( compPh ); }
00154 
00155     void setAmbient(int);
00156     void setDiffuse(int);
00157     void setSpecular(int);
00158     void setGloss(int);
00159 
00160   private:
00164     //Histogram *m_histogram;
00165 
00169     Volume *m_volume;
00170 
00174     bool isFileOpen;
00175 
00179     OpenGLWidget *glWidgets[ NUMBER_OF_GL_WIDGETS ];
00180 
00184     GradientEditor* m_editor ;
00185 
00189     GradientRenderer *m_renderer;
00190 
00194     void setDefaultGradient(int i);
00195 };
00196 
00197 
00198 #endif

Generated on Mon Dec 10 18:18:11 2007 for VisLU by  doxygen 1.5.4