Qwt User's Guide
6.1.6
|
Base class for scale engines. More...
#include <qwt_scale_engine.h>
Public Types | |
enum | Attribute { NoAttribute = 0x00, IncludeReference = 0x01, Symmetric = 0x02, Floating = 0x04, Inverted = 0x08 } |
typedef QFlags< Attribute > | Attributes |
Layout attributes. | |
Public Member Functions | |
QwtScaleEngine (uint base=10) | |
virtual | ~QwtScaleEngine () |
Destructor. | |
void | setBase (uint base) |
uint | base () const |
void | setAttribute (Attribute, bool on=true) |
bool | testAttribute (Attribute) const |
void | setAttributes (Attributes) |
Attributes | attributes () const |
void | setReference (double) |
Specify a reference point. More... | |
double | reference () const |
void | setMargins (double lower, double upper) |
Specify margins at the scale's endpoints. More... | |
double | lowerMargin () const |
double | upperMargin () const |
virtual void | autoScale (int maxNumSteps, double &x1, double &x2, double &stepSize) const =0 |
virtual QwtScaleDiv | divideScale (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0.0) const =0 |
Calculate a scale division. More... | |
void | setTransformation (QwtTransform *) |
QwtTransform * | transformation () const |
Protected Member Functions | |
bool | contains (const QwtInterval &, double value) const |
QList< double > | strip (const QList< double > &, const QwtInterval &) const |
double | divideInterval (double intervalSize, int numSteps) const |
QwtInterval | buildInterval (double value) const |
Build an interval around a value. More... | |
Base class for scale engines.
A scale engine tries to find "reasonable" ranges and step sizes for scales.
The layout of the scale can be varied with setAttribute().
Qwt offers implementations for logarithmic and linear scales.
Layout attributes
Enumerator | |
---|---|
NoAttribute | No attributes. |
IncludeReference | Build a scale which includes the reference() value. |
Symmetric | Build a scale which is symmetric to the reference() value. |
Floating | The endpoints of the scale are supposed to be equal the outmost included values plus the specified margins (see setMargins()). If this attribute is not set, the endpoints of the scale will be integer multiples of the step size. |
Inverted | Turn the scale upside down. |
|
explicit |
QwtScaleEngine::Attributes QwtScaleEngine::attributes | ( | ) | const |
|
pure virtual |
Align and divide an interval
maxNumSteps | Max. number of steps |
x1 | First limit of the interval (In/Out) |
x2 | Second limit of the interval (In/Out) |
stepSize | Step size (Return value) |
Implemented in QwtLogScaleEngine, QwtLinearScaleEngine, and QwtDateScaleEngine.
uint QwtScaleEngine::base | ( | ) | const |
|
protected |
Build an interval around a value.
In case of v == 0.0 the interval is [-0.5, 0.5], otherwide it is [0.5 * v, 1.5 * v]
value | Initial value |
|
protected |
Check if an interval "contains" a value
interval | Interval |
value | Value |
|
protected |
Calculate a step size for an interval size
intervalSize | Interval size |
numSteps | Number of steps |
|
pure virtual |
Calculate a scale division.
x1 | First interval limit |
x2 | Second interval limit |
maxMajorSteps | Maximum for the number of major steps |
maxMinorSteps | Maximum number of minor steps |
stepSize | Step size. If stepSize == 0.0, the scaleEngine calculates one. |
Implemented in QwtLogScaleEngine, QwtLinearScaleEngine, and QwtDateScaleEngine.
double QwtScaleEngine::lowerMargin | ( | ) | const |
double QwtScaleEngine::reference | ( | ) | const |
void QwtScaleEngine::setAttribute | ( | Attribute | attribute, |
bool | on = true |
||
) |
Change a scale attribute
attribute | Attribute to change |
on | On/Off |
void QwtScaleEngine::setAttributes | ( | Attributes | attributes | ) |
Change the scale attribute
attributes | Set scale attributes |
void QwtScaleEngine::setBase | ( | uint | base | ) |
Set the base of the scale engine
While a base of 10 is what 99.9% of all applications need certain scales might need a different base: f.e 2
The default setting is 10
base | Base of the engine |
void QwtScaleEngine::setMargins | ( | double | lower, |
double | upper | ||
) |
Specify margins at the scale's endpoints.
lower | minimum distance between the scale's lower boundary and the smallest enclosed value |
upper | minimum distance between the scale's upper boundary and the greatest enclosed value |
Margins can be used to leave a minimum amount of space between the enclosed intervals and the boundaries of the scale.
void QwtScaleEngine::setReference | ( | double | reference | ) |
Specify a reference point.
reference | New reference value |
The reference point is needed if options IncludeReference or Symmetric are active. Its default value is 0.0.
void QwtScaleEngine::setTransformation | ( | QwtTransform * | transform | ) |
Assign a transformation
transform | Transformation |
The transformation object is used as factory for clones that are returned by transformation()
The scale engine takes ownership of the transformation.
|
protected |
Remove ticks from a list, that are not inside an interval
ticks | Tick list |
interval | Interval |
bool QwtScaleEngine::testAttribute | ( | Attribute | attribute | ) | const |
attribute | Attribute to be tested |
QwtTransform * QwtScaleEngine::transformation | ( | ) | const |
Create and return a clone of the transformation of the engine. When the engine has no special transformation NULL is returned, indicating no transformation.
double QwtScaleEngine::upperMargin | ( | ) | const |