Qwt User's Guide  6.1.6
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. More...
 
void setScale (const QwtInterval &)
 Specify a scale. More...
 
void setScale (const QwtScaleDiv &)
 Specify a scale. More...
 
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. More...
 
double scaleStepSize () const
 
void setScaleMaxMajor (int ticks)
 Set the maximum number of major tick intervals. More...
 
int scaleMaxMinor () const
 
void setScaleMaxMinor (int ticks)
 Set the maximum number of minor tick intervals. More...
 
int scaleMaxMajor () const
 
void setScaleEngine (QwtScaleEngine *)
 Set a scale engine. More...
 
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. More...
 
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::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

◆ abstractScaleDraw() [1/2]

QwtAbstractScaleDraw * QwtAbstractScale::abstractScaleDraw ( )
protected
Returns
Scale draw
See also
setAbstractScaleDraw()

◆ abstractScaleDraw() [2/2]

const QwtAbstractScaleDraw * QwtAbstractScale::abstractScaleDraw ( ) const
protected
Returns
Scale draw
See also
setAbstractScaleDraw()

◆ invTransform()

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()

◆ isInverted()

bool QwtAbstractScale::isInverted ( ) const
Returns
True, when the scale is increasing in opposite direction to the widget coordinates

◆ lowerBound()

double QwtAbstractScale::lowerBound ( ) const
Returns
Lower bound of the scale
See also
setLowerBound(), setScale(), upperBound()

◆ maximum()

double QwtAbstractScale::maximum ( ) const
Returns
The boundary with the larger value
See also
minimum(), lowerBound(), upperBound()

◆ minimum()

double QwtAbstractScale::minimum ( ) const
Returns
The boundary with the smaller value
See also
maximum(), lowerBound(), upperBound()

◆ rescale()

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()

◆ scaleDiv()

const QwtScaleDiv & QwtAbstractScale::scaleDiv ( ) const
Returns
Scale boundaries and positions of the ticks

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

◆ scaleEngine() [1/2]

QwtScaleEngine * QwtAbstractScale::scaleEngine ( )
Returns
Scale engine
See also
setScaleEngine()

◆ scaleEngine() [2/2]

const QwtScaleEngine * QwtAbstractScale::scaleEngine ( ) const
Returns
Scale engine
See also
setScaleEngine()

◆ scaleMap()

const QwtScaleMap & QwtAbstractScale::scaleMap ( ) const
Returns
Map to translate between scale and widget coordinates

◆ scaleMaxMajor()

int QwtAbstractScale::scaleMaxMajor ( ) const
Returns
Maximal number of major tick intervals
See also
setScaleMaxMajor(), scaleMaxMinor()

◆ scaleMaxMinor()

int QwtAbstractScale::scaleMaxMinor ( ) const
Returns
Maximal number of minor tick intervals
See also
setScaleMaxMinor(), scaleMaxMajor()

◆ scaleStepSize()

double QwtAbstractScale::scaleStepSize ( ) const
Returns
Hint for the step size of the scale
See also
setScaleStepSize(), QwtScaleEngine::divideScale()

◆ setAbstractScaleDraw()

void QwtAbstractScale::setAbstractScaleDraw ( QwtAbstractScaleDraw scaleDraw)
protected

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()

◆ setLowerBound()

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

◆ setScale() [1/3]

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

◆ setScale() [2/3]

void QwtAbstractScale::setScale ( const QwtScaleDiv scaleDiv)

Specify a scale.

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

Parameters
scaleDivScale division
See also
setAutoScale()

◆ setScale() [3/3]

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

◆ setScaleEngine()

void QwtAbstractScale::setScaleEngine ( QwtScaleEngine scaleEngine)

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.

◆ setScaleMaxMajor()

void QwtAbstractScale::setScaleMaxMajor ( int  ticks)

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()

◆ setScaleMaxMinor()

void QwtAbstractScale::setScaleMaxMinor ( int  ticks)

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()

◆ setScaleStepSize()

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().

◆ setUpperBound()

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

◆ transform()

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()

◆ upperBound()

double QwtAbstractScale::upperBound ( ) const
Returns
Upper bound of the scale
See also
setUpperBound(), setScale(), lowerBound()