An abstract base class for slider widgets. More...
#include <qwt_abstract_slider.h>
Public Types | |
enum | ScrollMode { ScrNone, ScrMouse, ScrTimer, ScrDirect, ScrPage } |
Public Slots | |
virtual void | setValue (double val) |
virtual void | fitValue (double val) |
virtual void | incValue (int steps) |
virtual void | setReadOnly (bool) |
Signals | |
void | valueChanged (double value) |
void | sliderPressed () |
void | sliderReleased () |
void | sliderMoved (double value) |
Public Member Functions | |
QwtAbstractSlider (Qt::Orientation, QWidget *parent=NULL) | |
virtual | ~QwtAbstractSlider () |
void | setUpdateTime (int t) |
void | stopMoving () |
void | setTracking (bool enable) |
virtual void | setMass (double val) |
virtual double | mass () const |
virtual void | setOrientation (Qt::Orientation o) |
Qt::Orientation | orientation () const |
bool | isReadOnly () const |
bool | isValid () const |
void | setValid (bool valid) |
Protected Member Functions | |
virtual void | setPosition (const QPoint &) |
virtual void | valueChange () |
virtual void | timerEvent (QTimerEvent *e) |
virtual void | mousePressEvent (QMouseEvent *e) |
virtual void | mouseReleaseEvent (QMouseEvent *e) |
virtual void | mouseMoveEvent (QMouseEvent *e) |
virtual void | keyPressEvent (QKeyEvent *e) |
virtual void | wheelEvent (QWheelEvent *e) |
virtual double | getValue (const QPoint &p)=0 |
virtual void | getScrollMode (const QPoint &p, int &scrollMode, int &direction)=0 |
void | setMouseOffset (double) |
double | mouseOffset () const |
int | scrollMode () const |
An abstract base class for slider widgets.
QwtAbstractSlider is a base class for slider widgets. It handles mouse events and updates the slider's value accordingly. Derived classes only have to implement the getValue() and getScrollMode() members, and should react to a valueChange(), which normally requires repainting.
Scroll mode
QwtAbstractSlider::QwtAbstractSlider | ( | Qt::Orientation | orientation, | |
QWidget * | parent = NULL | |||
) | [explicit] |
Constructor.
orientation | Orientation | |
parent | Parent widget |
QwtAbstractSlider::~QwtAbstractSlider | ( | ) | [virtual] |
Destructor.
void QwtAbstractSlider::fitValue | ( | double | value | ) | [virtual, slot] |
Set the slider's value to the nearest integer multiple of the step size.
value | Value |
Reimplemented from QwtDoubleRange.
virtual void QwtAbstractSlider::getScrollMode | ( | const QPoint & | p, | |
int & | scrollMode, | |||
int & | direction | |||
) | [protected, pure virtual] |
Determine what to do when the user presses a mouse button.
This function is abstract and has to be implemented by derived classes. It is called on a mousePress event. The derived class can determine what should happen next in dependence of the position where the mouse was pressed by returning scrolling mode and direction. QwtAbstractSlider knows the following modes:
p | point where the mouse was pressed |
scrollMode | The scrolling mode | |
direction | direction: 1, 0, or -1. |
virtual double QwtAbstractSlider::getValue | ( | const QPoint & | p | ) | [protected, pure virtual] |
void QwtAbstractSlider::incValue | ( | int | steps | ) | [virtual, slot] |
Increment the value by a specified number of steps.
steps | number of steps |
Reimplemented from QwtDoubleRange.
bool QwtAbstractSlider::isReadOnly | ( | ) | const |
In read only mode the slider can't be controlled by mouse or keyboard.
bool QwtAbstractSlider::isValid | ( | ) | const [inline] |
Reimplemented from QwtDoubleRange.
void QwtAbstractSlider::keyPressEvent | ( | QKeyEvent * | e | ) | [protected, virtual] |
Handles key events
e | Key event |
Reimplemented in QwtCompass, and QwtDial.
double QwtAbstractSlider::mass | ( | ) | const [virtual] |
void QwtAbstractSlider::mouseMoveEvent | ( | QMouseEvent * | e | ) | [protected, virtual] |
Mouse Move Event handler
e | Mouse event |
double QwtAbstractSlider::mouseOffset | ( | ) | const [protected] |
void QwtAbstractSlider::mousePressEvent | ( | QMouseEvent * | e | ) | [protected, virtual] |
Mouse press event handler
e | Mouse event |
void QwtAbstractSlider::mouseReleaseEvent | ( | QMouseEvent * | e | ) | [protected, virtual] |
Mouse Release Event handler
e | Mouse event |
Qt::Orientation QwtAbstractSlider::orientation | ( | ) | const |
int QwtAbstractSlider::scrollMode | ( | ) | const [protected] |
sa ScrollMode
void QwtAbstractSlider::setMass | ( | double | val | ) | [virtual] |
Set the slider's mass for flywheel effect.
If the slider's mass is greater then 0, it will continue to move after the mouse button has been released. Its speed decreases with time at a rate depending on the slider's mass. A large mass means that it will continue to move for a long time.
Derived widgets may overload this function to make it public.
val | New mass in kg |
Reimplemented in QwtWheel.
void QwtAbstractSlider::setMouseOffset | ( | double | offset | ) | [protected] |
void QwtAbstractSlider::setOrientation | ( | Qt::Orientation | o | ) | [virtual] |
void QwtAbstractSlider::setPosition | ( | const QPoint & | p | ) | [protected, virtual] |
Move the slider to a specified point, adjust the value and emit signals if necessary.
void QwtAbstractSlider::setReadOnly | ( | bool | readOnly | ) | [virtual, slot] |
En/Disable read only mode
In read only mode the slider can't be controlled by mouse or keyboard.
readOnly | Enables in case of true |
void QwtAbstractSlider::setTracking | ( | bool | enable | ) |
Enables or disables tracking.
If tracking is enabled, the slider emits a valueChanged() signal whenever its value changes (the default behaviour). If tracking is disabled, the value changed() signal will only be emitted if:
Tracking is enabled by default.
enable | true (enable) or false (disable) tracking. |
void QwtAbstractSlider::setUpdateTime | ( | int | t | ) |
Specify the update interval for automatic scrolling.
t | update interval in milliseconds |
void QwtAbstractSlider::setValid | ( | bool | valid | ) | [inline] |
void QwtAbstractSlider::setValue | ( | double | val | ) | [virtual, slot] |
Move the slider to a specified value.
This function can be used to move the slider to a value which is not an integer multiple of the step size.
val | new value |
Reimplemented from QwtDoubleRange.
void QwtAbstractSlider::sliderMoved | ( | double | value | ) | [signal] |
This signal is emitted when the user moves the slider with the mouse.
value | new value |
void QwtAbstractSlider::sliderPressed | ( | ) | [signal] |
This signal is emitted when the user presses the movable part of the slider (start ScrMouse Mode).
void QwtAbstractSlider::sliderReleased | ( | ) | [signal] |
This signal is emitted when the user releases the movable part of the slider.
void QwtAbstractSlider::stopMoving | ( | ) |
Stop updating if automatic scrolling is active.
void QwtAbstractSlider::timerEvent | ( | QTimerEvent * | e | ) | [protected, virtual] |
Qt timer event
e | Timer event |
void QwtAbstractSlider::valueChange | ( | ) | [protected, virtual] |
Notify change of value
This function can be reimplemented by derived classes in order to keep track of changes, i.e. repaint the widget. The default implementation emits a valueChanged() signal if tracking is enabled.
Reimplemented from QwtDoubleRange.
void QwtAbstractSlider::valueChanged | ( | double | value | ) | [signal] |
Notify a change of value.
In the default setting (tracking enabled), this signal will be emitted every time the value changes ( see setTracking() ).
value | new value |
void QwtAbstractSlider::wheelEvent | ( | QWheelEvent * | e | ) | [protected, virtual] |
Wheel Event handler
e | Whell event |