00001 #ifndef SLIDERTOOL_H 00002 #define SLIDERTOOL_H 00003 00007 #include <QtOpenGL> // Libary for OpenGL commands in Qt, used to paint the Slider. 00008 #include <QPoint> 00009 00010 00011 class SliderTool { 00012 public: 00014 SliderTool(int max_Sliderbar_Lenght = 300, 00015 int screen_Margin_top = 10, 00016 int screen_Margin_right = 10, 00017 int screen_Margin_button2Rail = 5); 00019 ~SliderTool(); 00021 void draw(); 00023 void initSliderToolSize(const int widgetWidth, const int widgetHeight); 00025 void initSliderBoundings(const int & minValue2Slide, const int &maxValue2Slide, const int startBound = 0); 00027 bool calcSliderPos(const float ValueDelta); 00029 int calcValue2SlideAt(float sliderPos); 00031 bool IsSliderDragged(); 00033 void dragSlider(); 00035 void releaseSlider(); 00037 QPoint getBtSliderUp_TopLeft(); 00039 QPoint getBtSliderUp_BottomDown(); 00040 00042 QPoint getBtSliderDown_TopLeft(); 00044 QPoint getBtSliderDown_BottomDown(); 00045 00047 QPoint getSliderPos_TopLeft(); 00049 QPoint getSliderPos_BottomDown(); 00050 00052 QPoint getSliderRailPos_TopLeft(); 00054 QPoint getSliderRailPos_BottomDown(); 00055 00057 QPoint getSliderRailArea_TopLeft(); 00059 QPoint getSliderRailArea_BottomDown(); 00060 00062 int getSliderHeight(); 00064 int getCurrentValue(); 00065 00067 int getScreenMargin_Top(); 00069 int getScreenMargin_Right(); 00071 int getScreenMargin_Button2Rail(); 00073 void setScreenMargin_Top( int new_ScreenMargin ); 00075 void setScreenMargin_Right( int new_ScreenMargin ); 00077 void setScreenMargin_Button2Rail( int new_ScreenMargin ); 00078 00080 int getMaxSliderbarLenght(); 00082 void setMaxSliderbarLenght(int new_MaxSliderbarLenght); 00083 00084 private: 00085 int screen_Margin_top; 00086 int screen_Margin_right; 00087 int screen_Margin_button2Rail; 00088 int max_Sliderbar_Lenght; 00089 00090 static const QString UPPER_BT_PIC; 00091 static const QString LOWER_BT_PIC; 00092 00093 static const QString SLIDER; 00094 00095 GLubyte* sliderToolGLArray; 00096 GLubyte* sliderGLArray; 00097 00098 QPoint btSliderUp_TopLeft; 00099 QPoint btSliderDown_TopLeft; 00100 QPoint sliderRailPos_TopLeft; 00101 QPoint sliderRailPos_BottomDown; 00102 QPoint sliderPos_TopLeft; 00103 00104 int buttonSize; 00105 int parentHeight; 00106 int sliderwidth; 00107 int sliderheight; 00108 int sliderToolWidth; 00109 int sliderToolHeight; 00110 bool sliderIsDragged; 00111 float sliderValue; 00112 int upperSliderBoundValue; 00113 int lowerSliderBoundValue; 00114 }; 00115 #endif // SLIDERTOOL_H