Qwt User's Guide
QwtAbstractSlider Class Reference

An abstract base class for slider widgets with a scale. More...

#include <qwt_abstract_slider.h>

Inheritance diagram for QwtAbstractSlider:

Public Slots

void setValue (double val)

Signals

void valueChanged (double value)
 Notify a change of value.
void sliderPressed ()
void sliderReleased ()
void sliderMoved (double value)

Public Member Functions

 QwtAbstractSlider (QWidget *parent=NULL)
 Constructor.
virtual ~QwtAbstractSlider ()
 Destructor.
void setValid (bool)
bool isValid () const
double value () const
 Returns the current value.
void setWrapping (bool)
bool wrapping () const
void setTotalSteps (uint)
 Set the number of steps.
uint totalSteps () const
void setSingleSteps (uint)
 Set the number of steps for a single increment.
uint singleSteps () const
void setPageSteps (uint)
 Set the number of steps for a page increment.
uint pageSteps () const
void setStepAlignment (bool)
 Enable step alignment.
bool stepAlignment () const
void setTracking (bool)
 Enables or disables tracking.
bool isTracking () const
void setReadOnly (bool)
bool isReadOnly () const
void setInvertedControls (bool)
bool invertedControls () const

Protected Member Functions

virtual void mousePressEvent (QMouseEvent *)
virtual void mouseReleaseEvent (QMouseEvent *)
virtual void mouseMoveEvent (QMouseEvent *)
virtual void keyPressEvent (QKeyEvent *)
virtual void wheelEvent (QWheelEvent *)
virtual bool isScrollPosition (const QPoint &pos) const =0
 Determine what to do when the user presses a mouse button.
virtual double scrolledTo (const QPoint &pos) const =0
 Determine the value for a new position of the movable part of the slider.
void incrementValue (int numSteps)
virtual void scaleChange ()
virtual void sliderChange ()
 Calling update()
double incrementedValue (double value, int stepCount) const

Detailed Description

An abstract base class for slider widgets with a scale.

A slider widget displays a value according to a scale. The class is designed as a common super class for widgets like QwtKnob, QwtDial and QwtSlider.

When the slider is nor readOnly() its value can be modified by keyboard, mouse and wheel inputs.

The range of the slider is divided into a number of steps from which the value increments according to user inputs depend. Only for linear scales the number of steps correspond with a fixed step size.


Constructor & Destructor Documentation

QwtAbstractSlider::QwtAbstractSlider ( QWidget *  parent = NULL) [explicit]

Constructor.

The scale is initialized to [0.0, 100.0], the number of steps is set to 100 with 1 and 10 and single an page step sizes. Step alignment is enabled.

The initial value is invalid.

Parameters:
parentParent widget

Member Function Documentation

double QwtAbstractSlider::incrementedValue ( double  value,
int  stepCount 
) const [protected]

Increment a value

Parameters:
valueValue
stepCountNumber of steps
Returns:
Incremented value
void QwtAbstractSlider::incrementValue ( int  stepCount) [protected]

Increment the slider

The step size depends on the number of totalSteps()

Parameters:
stepCountNumber of steps
See also:
setTotalSteps(), incrementedValue()
Returns:
True, when the controls are inverted
See also:
setInvertedControls()

In read only mode the slider can't be controlled by mouse or keyboard.

Returns:
true if read only
See also:
setReadOnly()
virtual bool QwtAbstractSlider::isScrollPosition ( const QPoint &  pos) const [protected, pure virtual]

Determine what to do when the user presses a mouse button.

Parameters:
posMouse position
Return values:
True,whenpos is a valid scroll position
See also:
scrolledTo()

Implemented in QwtKnob, QwtDial, and QwtSlider.

Returns:
True, when tracking has been enabled
See also:
setTracking()
Returns:
True, when the value is invalid
void QwtAbstractSlider::keyPressEvent ( QKeyEvent *  event) [protected, virtual]

Handles key events

QwtAbstractSlider handles the following keys:

Parameters:
eventKey event
See also:
isReadOnly()

Reimplemented in QwtCompass.

void QwtAbstractSlider::mouseMoveEvent ( QMouseEvent *  event) [protected, virtual]

Mouse Move Event handler

Parameters:
eventMouse event
void QwtAbstractSlider::mousePressEvent ( QMouseEvent *  event) [protected, virtual]

Mouse press event handler

Parameters:
eventMouse event

Reimplemented in QwtSlider.

void QwtAbstractSlider::mouseReleaseEvent ( QMouseEvent *  event) [protected, virtual]

Mouse Release Event handler

Parameters:
eventMouse event

Reimplemented in QwtSlider.

Returns:
Number of steps
See also:
setPageSteps(), totalSteps(), singleSteps()
void QwtAbstractSlider::scaleChange ( ) [protected, virtual]

Update the slider according to modifications of the scale

Reimplemented from QwtAbstractScale.

Reimplemented in QwtDial, and QwtSlider.

virtual double QwtAbstractSlider::scrolledTo ( const QPoint &  pos) const [protected, pure virtual]

Determine the value for a new position of the movable part of the slider.

Parameters:
posMouse position
Returns:
Value for the mouse position
See also:
isScrollPosition()

Implemented in QwtKnob, QwtDial, and QwtSlider.

Invert wheel and key events

Usually scrolling the mouse wheel "up" and using keys like page up will increase the slider's value towards its maximum. When invertedControls() is enabled the value is scrolled towards its minimum.

Inverting the controls might be f.e. useful for a vertical slider with an inverted scale ( decreasing from top to bottom ).

Parameters:
onInvert controls, when true
See also:
invertedControls(), keyEvent(), wheelEvent()
void QwtAbstractSlider::setPageSteps ( uint  stepCount)

Set the number of steps for a page increment.

The range of the slider is divided into a number of steps from which the value increments according to user inputs depend.

Parameters:
stepCountNumber of steps
See also:
pageSteps(), setTotalSteps(), setSingleSteps()
void QwtAbstractSlider::setReadOnly ( bool  on)

En/Disable read only mode

In read only mode the slider can't be controlled by mouse or keyboard.

Parameters:
onEnables in case of true
See also:
isReadOnly()
Warning:
The focus policy is set to Qt::StrongFocus or Qt::NoFocus
void QwtAbstractSlider::setSingleSteps ( uint  stepCount)

Set the number of steps for a single increment.

The range of the slider is divided into a number of steps from which the value increments according to user inputs depend.

Parameters:
stepCountNumber of steps
See also:
singleSteps(), setTotalSteps(), setPageSteps()

Enable step alignment.

When step alignment is enabled values resulting from slider movements are aligned to the step size.

Parameters:
onEnable step alignment when true
See also:
stepAlignment()
void QwtAbstractSlider::setTotalSteps ( uint  stepCount)

Set the number of steps.

The range of the slider is divided into a number of steps from which the value increments according to user inputs depend.

The default setting is 100.

Parameters:
stepCountNumber of steps
See also:
totalSteps(), setSingleSteps(), setPageSteps()
void QwtAbstractSlider::setTracking ( bool  on)

Enables or disables tracking.

If tracking is enabled, the slider emits the valueChanged() signal while the movable part of the slider is being dragged. If tracking is disabled, the slider emits the valueChanged() signal only when the user releases the slider.

Tracking is enabled by default.

Parameters:
ontrue (enable) or false (disable) tracking.
See also:
isTracking(), sliderMoved()
void QwtAbstractSlider::setValid ( bool  on)

Set the value to be valid/invalid

Parameters:
onWhen true, the value is invalidated
See also:
setValue()
void QwtAbstractSlider::setValue ( double  value) [slot]

Set the slider to the specified value

Parameters:
valueNew value
See also:
setValid(), sliderChange(), valueChanged()
void QwtAbstractSlider::setWrapping ( bool  on)

If wrapping is true stepping up from upperBound() value will take you to the minimum() value and vice versa.

Parameters:
onEn/Disable wrapping
See also:
wrapping()
Returns:
Number of steps
See also:
setSingleSteps(), totalSteps(), pageSteps()
void QwtAbstractSlider::sliderMoved ( double  value) [signal]

This signal is emitted when the user moves the slider with the mouse.

Parameters:
valueNew value
See also:
valueChanged()

This signal is emitted when the user presses the movable part of the slider.

This signal is emitted when the user releases the movable part of the slider.

Returns:
True, when step alignment is enabled
See also:
setStepAlignment()
Returns:
Number of steps
See also:
setTotalSteps(), singleSteps(), pageSteps()
void QwtAbstractSlider::valueChanged ( double  value) [signal]

Notify a change of value.

When tracking is enabled (default setting), this signal will be emitted every time the value changes.

Parameters:
valueNew value
See also:
setTracking(), sliderMoved()
void QwtAbstractSlider::wheelEvent ( QWheelEvent *  event) [protected, virtual]

Wheel Event handler

In/decreases the value by s number of steps. The direction depends on the invertedControls() property.

When the control or shift modifier is pressed the wheel delta ( divided by 120 ) is mapped to an increment according to pageSteps(). Otherwise it is mapped to singleSteps().

Parameters:
eventWheel event

Reimplemented in QwtDial.

Returns:
True, when wrapping is set
See also:
setWrapping()

List of all members.

 All Classes Functions Variables Typedefs Enumerations Enumerator