input_slider.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _INPUTSLIDER_H_
00026 #define _INPUTSLIDER_H_
00027
00028 #include "qt4.hpp"
00029
00030 #include <QSlider>
00031
00032 #include <QMouseEvent>
00033 #include <QWheelEvent>
00034 #include <QTimer>
00035
00036
00037 class InputSlider : public QSlider
00038 {
00039 Q_OBJECT
00040 public:
00041 InputSlider( QWidget *_parent );
00042 InputSlider( Qt::Orientation q, QWidget *_parent );
00043 virtual ~InputSlider() {};
00044 protected:
00045 virtual void mouseMoveEvent(QMouseEvent *event);
00046 virtual void mousePressEvent(QMouseEvent* event);
00047 virtual void mouseReleaseEvent(QMouseEvent* event);
00048 virtual void wheelEvent(QWheelEvent *event);
00049 private:
00050 bool b_isSliding;
00051 int inputLength;
00052 char psz_length[MSTRTIME_MAX_SIZE];
00053 int lastSeeked;
00054 QTimer *timer;
00055
00056 public slots:
00057 void setPosition( float, int64_t, int );
00058 private slots:
00059 void userDrag( int );
00060 void seekTick();
00061
00062 signals:
00063 void sliderDragged( float );
00064 };
00065
00066
00067
00068 class QPaintEvent;
00069
00070 class SoundSlider : public QAbstractSlider
00071 {
00072 Q_OBJECT
00073 public:
00074 SoundSlider( QWidget *_parent, int _i_step, bool b_softamp, char * );
00075 virtual ~SoundSlider() {};
00076 void setMuted( bool );
00077
00078 protected:
00079 const static int paddingL = 3;
00080 const static int paddingR = 2;
00081
00082 virtual void paintEvent(QPaintEvent *);
00083 virtual void wheelEvent( QWheelEvent *event );
00084 virtual void mousePressEvent( QMouseEvent * );
00085 virtual void mouseMoveEvent( QMouseEvent * );
00086 virtual void mouseReleaseEvent( QMouseEvent * );
00087
00088 private:
00089 bool b_isSliding;
00090 bool b_mouseOutside;
00091 int i_oldvalue;
00092 float f_step;
00093 bool b_isMuted;
00094
00095 QPixmap pixGradient;
00096 QPixmap pixGradient2;
00097 QPixmap pixOutside;
00098
00099 void changeValue( int x );
00100 };
00101
00102 #endif