00001 #ifndef VIS_LAB1_H
00002 #define VIS_LAB1_H
00003
00004 #include "GLWidget.hpp"
00005 #include "TransferWidget.hpp"
00006
00007 class QAction;
00008 class QDialogButtonBox;
00009 class QGroupBox;
00010 class QLabel;
00011 class QLineEdit;
00012 class QMenu;
00013 class QMenuBar;
00014 class QPushButton;
00015 class QTextEdit;
00016 class QRadioButton;
00017 class QFileDialog;
00018 class QSlider;
00019
00027 class Vis_Lab1 : public QWidget
00028 {
00029 Q_OBJECT
00030
00031 public:
00037 Vis_Lab1(QWidget *parent = 0);
00038
00039 private:
00044 void createMenu();
00048 void createGLGroupBox();
00053 void createFileGroupBox();
00057 void createTransferGroupBox();
00058
00063 void createSettingsTabWidget();
00067 void createSliceSettingsTab();
00071 void createVolumeSettingsTab();
00072
00073 QMenuBar *menuBar;
00074
00075 QGroupBox *glGroupBox;
00076 QGroupBox *fileGroupBox;
00077 QGroupBox *transferGroupBox;
00078
00079 QTabWidget *settingsTabWidget;
00080 QWidget *sliceSettingsTab;
00081 QWidget *volumeSettingsTab;
00082
00083 QMenu *fileMenu;
00084 QAction *exitAction;
00085
00086 GLWidget *glWidget;
00087
00088
00089 QRadioButton *zRadioBtn;
00090 QRadioButton *yRadioBtn;
00091 QRadioButton *xRadioBtn;
00092 QSlider *sliceSlider;
00093
00094
00095 QCheckBox *lightCheckBox;
00096 QCheckBox *perspProjCheckBox;
00097 QComboBox *modeBox;
00098 QDoubleSpinBox *stepsizeSpinBox;
00099 QRadioButton *f2bRadioButton;
00100 QRadioButton *b2fRadioButton;
00101 QSlider *xPlaneSlider;
00102 QSlider *yPlaneSlider;
00103 QSlider *zPlaneSlider;
00104 QPushButton *resetButton;
00105
00106
00107 TransferWidget *tWidget;
00108
00109
00110 QLineEdit *volumeFileLocation;
00111 QPushButton *volumeFileOpenBtn;
00112 QAction *volumeFileOpenAct;
00113 QLineEdit *projFileLocation;
00114 QPushButton *projFileOpenBtn;
00115 QPushButton *projFileSaveBtn;
00116 QCheckBox *projTransferOnly;
00117 QPushButton *screenshotSaveBtn;
00118 QAction *projFileOpenAct;
00119
00120
00121
00122 public slots:
00128 void changeSliderRange(int min, int max);
00133 void resetSettings();
00134
00135 private slots:
00139 void openVolume();
00144 void openProject();
00148 void saveProject();
00152 void saveScreenshot();
00156 void directionChanged(bool);
00160 void transferChanged();
00161
00162 signals:
00166 void directionChangedTo(int);
00167 };
00168
00169 #endif // VIS_LAB1_H