00001 #ifndef SETTINGSWIDGET_H
00002 #define SETTINGSWIDGET_H
00003
00004 #include <QtGui>
00005 #include "qapplication.h"
00006 #include <iostream>
00007
00008
00009
00020
00021 class SettingsWidget : public QWidget
00022 {
00023 Q_OBJECT
00024
00025 private:
00026 QPushButton* drawButton;
00027 QSlider* slider;
00028 QRadioButton* x;
00029 QRadioButton* y;
00030 QRadioButton* z;
00031 QButtonGroup* axisGroup;
00032
00043
00044 void Init();
00045
00056
00057 void ConnectSignals(){
00058 QObject::connect(drawButton,SIGNAL(clicked()),this,SLOT(DrawButtonClicked()));
00059 QObject::connect(slider,SIGNAL(valueChanged(int)),this,SLOT(SliceSliderValueChanged(int)));
00060 QObject::connect(axisGroup,SIGNAL(buttonClicked(int)),this,SIGNAL(InvokeAxisChanged(int)));
00061 }
00062
00063 public:
00064 SettingsWidget(QWidget *parent = NULL);
00065
00066 public slots:
00067
00078
00079 void Quit(){qApp->quit();}
00080
00081 protected slots:
00082 void SliceSliderValueChanged(int value){emit InvokeSliceSliderValueChanged(((float)value)/100);}
00083 void DrawButtonClicked(){emit InvokeDrawButtonClicked(); std::cout << "button clicked" << endl;}
00084
00085 public slots:
00086
00097
00098 void CheckedButton(){emit InvokeAxisChanged(axisGroup->checkedId());}
00099
00100 signals:
00101
00114
00115 void InvokeSliceSliderValueChanged(float value);
00116
00127
00128 void InvokeDrawButtonClicked();
00129
00142
00143 void InvokeAxisChanged(int id);
00144 };
00145
00146 #endif // SETTINGSWIDGET_H