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 QXTSPANSLIDER_H
00026 #define QXTSPANSLIDER_H
00027
00028 #include <QSlider>
00029 #include "qxtnamespace.h"
00030 #include "qxtglobal.h"
00031 #include "qxtpimpl.h"
00032
00033 class QxtSpanSliderPrivate;
00034
00035 class QXT_GUI_EXPORT QxtSpanSlider : public QSlider
00036 {
00037 Q_OBJECT
00038 QXT_DECLARE_PRIVATE(QxtSpanSlider);
00039 Q_PROPERTY(int lowerValue READ lowerValue WRITE setLowerValue)
00040 Q_PROPERTY(int upperValue READ upperValue WRITE setUpperValue)
00041 Q_PROPERTY(int lowerPosition READ lowerPosition WRITE setLowerPosition)
00042 Q_PROPERTY(int upperPosition READ upperPosition WRITE setUpperPosition)
00043 Q_PROPERTY(HandleMovementMode handleMovementMode READ handleMovementMode WRITE setHandleMovementMode)
00044 Q_ENUMS(HandleMovementMode)
00045
00046 public:
00047 explicit QxtSpanSlider(QWidget* parent = 0);
00048 explicit QxtSpanSlider(Qt::Orientation orientation, QWidget* parent = 0);
00049 virtual ~QxtSpanSlider();
00050
00051 enum HandleMovementMode
00052 {
00053 FreeMovement,
00054 NoCrossing,
00055 NoOverlapping
00056 };
00057
00058 HandleMovementMode handleMovementMode() const;
00059 void setHandleMovementMode(HandleMovementMode mode);
00060
00061 int lowerValue() const;
00062 int upperValue() const;
00063
00064 int lowerPosition() const;
00065 int upperPosition() const;
00066
00067 public Q_SLOTS:
00068 void setLowerValue(int lower);
00069 void setUpperValue(int upper);
00070 void setSpan(int lower, int upper);
00071
00072 void setLowerPosition(int lower);
00073 void setUpperPosition(int upper);
00074
00075 Q_SIGNALS:
00076 void spanChanged(int lower, int upper);
00077 void lowerValueChanged(int lower);
00078 void upperValueChanged(int upper);
00079
00080 void lowerPositionChanged(int lower);
00081 void upperPositionChanged(int upper);
00082
00083 protected:
00084 virtual void keyPressEvent(QKeyEvent* event);
00085 virtual void mousePressEvent(QMouseEvent* event);
00086 virtual void mouseMoveEvent(QMouseEvent* event);
00087 virtual void mouseReleaseEvent(QMouseEvent* event);
00088 virtual void paintEvent(QPaintEvent* event);
00089 };
00090
00091 #endif // QXTSPANSLIDER_H