Qwt User's Guide
QwtAbstractScale Class Reference

An abstract base class for widgets having a scale. More...

#include <qwt_abstract_scale.h>

Inheritance diagram for QwtAbstractScale:

Public Member Functions

 QwtAbstractScale (QWidget *parent=NULL)
virtual ~QwtAbstractScale ()
 Destructor.
void setScale (double lowerBound, double upperBound)
 Specify a scale.
void setScale (const QwtInterval &)
 Specify a scale.
void setScale (const QwtScaleDiv &)
 Specify a scale.
const QwtScaleDivscaleDiv () const
void setLowerBound (double value)
double lowerBound () const
void setUpperBound (double value)
double upperBound () const
void setScaleStepSize (double stepSize)
 Set the step size used for calculating a scale division.
double scaleStepSize () const
void setScaleMaxMajor (int ticks)
 Set the maximum number of major tick intervals.
int scaleMaxMinor () const
void setScaleMaxMinor (int ticks)
 Set the maximum number of minor tick intervals.
int scaleMaxMajor () const
void setScaleEngine (QwtScaleEngine *)
 Set a scale engine.
const QwtScaleEnginescaleEngine () const
QwtScaleEnginescaleEngine ()
int transform (double) const
double invTransform (int) const
bool isInverted () const
double minimum () const
double maximum () const
const QwtScaleMapscaleMap () const

Protected Member Functions

void rescale (double lowerBound, double upperBound, double stepSize)
void setAbstractScaleDraw (QwtAbstractScaleDraw *)
 Set a scale draw.
const QwtAbstractScaleDrawabstractScaleDraw () const
QwtAbstractScaleDrawabstractScaleDraw ()
virtual void scaleChange ()
 Notify changed scale.

Detailed Description

An abstract base class for widgets having a scale.

The scale of an QwtAbstractScale is determined by a QwtScaleDiv definition, that contains the boundaries and the ticks of the scale. The scale is painted using a QwtScaleDraw object.

The scale division might be assigned explicitly - but usually it is calculated from the boundaries using a QwtScaleEngine.

The scale engine also decides the type of transformation of the scale ( linear, logarithmic ... ).


Constructor & Destructor Documentation

QwtAbstractScale::QwtAbstractScale ( QWidget *  parent = NULL)

Constructor

Parameters:
parentParent widget

Creates a default QwtScaleDraw and a QwtLinearScaleEngine. The initial scale boundaries are set to [ 0.0, 100.0 ]

The scaleStepSize() is initialized to 0.0, scaleMaxMajor() to 5 and scaleMaxMajor to 3.


Member Function Documentation

Returns:
Scale draw
See also:
setAbstractScaleDraw()
double QwtAbstractScale::invTransform ( int  value) const

Translate a widget coordinate into a scale value

Parameters:
valueWidget coordinate
Returns:
Corresponding scale coordinate for value
See also:
scaleMap(), transform()
Returns:
True, when the scale is increasing in opposite direction to the widget coordinates
double QwtAbstractScale::lowerBound ( ) const
Returns:
Lower bound of the scale
See also:
setLowerBound(), setScale(), upperBound()
double QwtAbstractScale::maximum ( ) const
Returns:
The boundary with the larger value
See also:
minimum(), lowerBound(), upperBound()
double QwtAbstractScale::minimum ( ) const
Returns:
The boundary with the smaller value
See also:
maximum(), lowerBound(), upperBound()
void QwtAbstractScale::rescale ( double  lowerBound,
double  upperBound,
double  stepSize 
) [protected]

Recalculate the scale division and update the scale.

Parameters:
lowerBoundLower limit of the scale interval
upperBoundUpper limit of the scale interval
stepSizeMajor step size
See also:
scaleChange()
Returns:
Scale boundaries and positions of the ticks

The scale division might have been assigned explicitly or calculated implicitly by rescale().

Returns:
Scale engine
See also:
setScaleEngine()
Returns:
Scale engine
See also:
setScaleEngine()
Returns:
Map to translate between scale and widget coordinates
Returns:
Maximal number of major tick intervals
See also:
setScaleMaxMajor(), scaleMaxMinor()
Returns:
Maximal number of minor tick intervals
See also:
setScaleMaxMinor(), scaleMaxMajor()
Returns:
Hint for the step size of the scale
See also:
setScaleStepSize(), QwtScaleEngine::divideScale()

Set a scale draw.

scaleDraw has to be created with new and will be deleted in the destructor or the next call of setAbstractScaleDraw().

See also:
abstractScaleDraw()
void QwtAbstractScale::setLowerBound ( double  value)

Set the lower bound of the scale

Parameters:
valueLower bound
See also:
lowerBound(), setScale(), setUpperBound()
Note:
For inverted scales the lower bound is greater than the upper bound
void QwtAbstractScale::setScale ( double  lowerBound,
double  upperBound 
)

Specify a scale.

Define a scale by an interval

The ticks are calculated using scaleMaxMinor(), scaleMaxMajor() and scaleStepSize().

Parameters:
lowerBoundlower limit of the scale interval
upperBoundupper limit of the scale interval
Note:
For inverted scales the lower bound is greater than the upper bound
void QwtAbstractScale::setScale ( const QwtInterval interval)

Specify a scale.

Define a scale by an interval

The ticks are calculated using scaleMaxMinor(), scaleMaxMajor() and scaleStepSize().

Parameters:
intervalInterval
void QwtAbstractScale::setScale ( const QwtScaleDiv scaleDiv)

Specify a scale.

scaleMaxMinor(), scaleMaxMajor() and scaleStepSize() and have no effect.

Parameters:
scaleDivScale division
See also:
setAutoScale()

Set a scale engine.

The scale engine is responsible for calculating the scale division and provides a transformation between scale and widget coordinates.

scaleEngine has to be created with new and will be deleted in the destructor or the next call of setScaleEngine.

Set the maximum number of major tick intervals.

The scale's major ticks are calculated automatically such that the number of major intervals does not exceed ticks.

The default value is 5.

Parameters:
ticksMaximal number of major ticks.
See also:
scaleMaxMajor(), setScaleMaxMinor(), setScaleStepSize(), QwtScaleEngine::divideInterval()

Set the maximum number of minor tick intervals.

The scale's minor ticks are calculated automatically such that the number of minor intervals does not exceed ticks. The default value is 3.

Parameters:
ticksMaximal number of minor ticks.
See also:
scaleMaxMajor(), setScaleMaxMinor(), setScaleStepSize(), QwtScaleEngine::divideInterval()
void QwtAbstractScale::setScaleStepSize ( double  stepSize)

Set the step size used for calculating a scale division.

The step size is hint for calculating the intervals for the major ticks of the scale. A value of 0.0 is interpreted as no hint.

Parameters:
stepSizeHint for the step size of the scale
See also:
scaleStepSize(), QwtScaleEngine::divideScale()
Note:
Position and distance between the major ticks also depends on scaleMaxMajor().
void QwtAbstractScale::setUpperBound ( double  value)

Set the upper bound of the scale

Parameters:
valueUpper bound
See also:
upperBound(), setScale(), setLowerBound()
Note:
For inverted scales the lower bound is greater than the upper bound
int QwtAbstractScale::transform ( double  value) const

Translate a scale value into a widget coordinate

Parameters:
valueScale value
Returns:
Corresponding widget coordinate for value
See also:
scaleMap(), invTransform()
double QwtAbstractScale::upperBound ( ) const
Returns:
Upper bound of the scale
See also:
setUpperBound(), setScale(), lowerBound()

List of all members.

 All Classes Functions Variables Typedefs Enumerations Enumerator