Qwt User's Guide 6.3.0
Loading...
Searching...
No Matches
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

virtual void changeEvent (QEvent *) override
 
void rescale (double lowerBound, double upperBound, double stepSize)
 
void setAbstractScaleDraw (QwtAbstractScaleDraw *)
 Set a scale draw.
 
const QwtAbstractScaleDrawabstractScaleDraw () const
 
QwtAbstractScaleDrawabstractScaleDraw ()
 
void updateScaleDraw ()
 
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 ... ).

Definition at line 36 of file qwt_abstract_scale.h.

Constructor & Destructor Documentation

◆ QwtAbstractScale()

QwtAbstractScale::QwtAbstractScale ( QWidget * parent = NULL)
explicit

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.

Definition at line 57 of file qwt_abstract_scale.cpp.

◆ ~QwtAbstractScale()

QwtAbstractScale::~QwtAbstractScale ( )
virtual

Destructor.

Definition at line 65 of file qwt_abstract_scale.cpp.

Member Function Documentation

◆ abstractScaleDraw() [1/2]

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

Definition at line 293 of file qwt_abstract_scale.cpp.

◆ abstractScaleDraw() [2/2]

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

Definition at line 302 of file qwt_abstract_scale.cpp.

◆ changeEvent()

void QwtAbstractScale::changeEvent ( QEvent * event)
overrideprotectedvirtual

Change Event handler

Parameters
eventChange event

Invalidates internal caches if necessary

Reimplemented in QwtDial, QwtKnob, QwtSlider, and QwtThermo.

Definition at line 453 of file qwt_abstract_scale.cpp.

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

Definition at line 381 of file qwt_abstract_scale.cpp.

◆ isInverted()

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

Definition at line 390 of file qwt_abstract_scale.cpp.

◆ lowerBound()

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

Definition at line 88 of file qwt_abstract_scale.cpp.

◆ maximum()

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

Definition at line 409 of file qwt_abstract_scale.cpp.

◆ minimum()

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

Definition at line 399 of file qwt_abstract_scale.cpp.

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

Definition at line 429 of file qwt_abstract_scale.cpp.

◆ scaleChange()

void QwtAbstractScale::scaleChange ( )
protectedvirtual

Notify changed scale.

Reimplemented in QwtAbstractSlider, QwtDial, QwtSlider, and QwtThermo.

Definition at line 416 of file qwt_abstract_scale.cpp.

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

Definition at line 349 of file qwt_abstract_scale.cpp.

◆ scaleEngine() [1/2]

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

Definition at line 338 of file qwt_abstract_scale.cpp.

◆ scaleEngine() [2/2]

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

Definition at line 329 of file qwt_abstract_scale.cpp.

◆ scaleMap()

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

Definition at line 357 of file qwt_abstract_scale.cpp.

◆ scaleMaxMajor()

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

Definition at line 202 of file qwt_abstract_scale.cpp.

◆ scaleMaxMinor()

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

Definition at line 232 of file qwt_abstract_scale.cpp.

◆ scaleStepSize()

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

Definition at line 264 of file qwt_abstract_scale.cpp.

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

Definition at line 277 of file qwt_abstract_scale.cpp.

◆ 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

Definition at line 79 of file qwt_abstract_scale.cpp.

◆ 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

Definition at line 145 of file qwt_abstract_scale.cpp.

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

Definition at line 158 of file qwt_abstract_scale.cpp.

◆ 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

Definition at line 130 of file qwt_abstract_scale.cpp.

◆ 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.

Definition at line 316 of file qwt_abstract_scale.cpp.

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

Definition at line 189 of file qwt_abstract_scale.cpp.

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

Definition at line 219 of file qwt_abstract_scale.cpp.

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

Definition at line 251 of file qwt_abstract_scale.cpp.

◆ 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

Definition at line 102 of file qwt_abstract_scale.cpp.

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

Definition at line 369 of file qwt_abstract_scale.cpp.

◆ updateScaleDraw()

void QwtAbstractScale::updateScaleDraw ( )
protected

Recalculate ticks and scale boundaries.

Definition at line 466 of file qwt_abstract_scale.cpp.

◆ upperBound()

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

Definition at line 111 of file qwt_abstract_scale.cpp.