|
QWT API (English) 7.3.0
Qt Widget Library for Technical Applications - English API Documentation
|
Base class for scale engines. More...
#include <qwt_scale_engine.h>
Classes | |
| class | PrivateData |
Public Types | |
| enum | Attribute { NoAttribute = 0x00 , IncludeReference = 0x01 , Symmetric = 0x02 , Floating = 0x04 , Inverted = 0x08 } |
| Layout attributes. More... | |
Public Member Functions | |
| QwtScaleEngine (uint base=10) | |
| Constructor. | |
| void | setBase (uint base) |
| Set the base. | |
| uint | base () const |
| Return base of the scale engine. | |
| void | setAttribute (Attribute, bool on=true) |
| Set an attribute. | |
| bool | testAttribute (Attribute) const |
| Test if an attribute is enabled. | |
| void | setAttributes (Attributes) |
| Set attributes. | |
| Attributes | attributes () const |
| Return scale attributes. | |
| void | setReference (double) |
| Set the reference value. | |
| double | reference () const |
| Return the reference value. | |
| void | setMargins (double lower, double upper) |
| Set the margins. | |
| double | lowerMargin () const |
| Return the margin at the lower end of the scale. | |
| double | upperMargin () const |
| Return the margin at the upper end of the scale. | |
| virtual void | autoScale (int maxNumSteps, double &x1, double &x2, double &stepSize) const =0 |
| Align and divide an interval. | |
| virtual QwtScaleDiv | divideScale (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0.0) const =0 |
| Calculate a scale division. | |
| void | setTransformation (QwtTransform *) |
| Set the transformation. | |
| QwtTransform * | transformation () const |
| Create and return a clone of the transformation of the engine. | |
Protected Member Functions | |
| bool | contains (const QwtInterval &, double value) const |
| Check if an interval contains a value. | |
| QList< double > | strip (const QList< double > &, const QwtInterval &) const |
| Strip values outside an interval. | |
| double | divideInterval (double intervalSize, int numSteps) const |
| Divide an interval. | |
| QwtInterval | buildInterval (double value) const |
| Build an interval around a value. | |
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 |
Return scale attributes.
|
pure virtual |
Align and divide an interval.
Implemented in QwtLinearScaleEngine, QwtLogScaleEngine, 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], otherwise it is [0.5 * v, 1.5 * v]
| value | Initial value |
|
protected |
Check if an interval contains a value.
Check if an interval "contains" a value.
| interval | Interval |
| value | Value |
|
protected |
Divide an interval.
Calculate a step size for an interval size.
| intervalSize | Interval size |
| numSteps | Number of steps |
|
pure virtual |
Calculate a scale division.
Implemented in QwtLinearScaleEngine, QwtLogScaleEngine, and QwtDateScaleEngine.
| double QwtScaleEngine::lowerMargin | ( | ) | const |
Return the margin at the lower end of the scale.
The default margin is 0.
| double QwtScaleEngine::reference | ( | ) | const |
Return the reference value.
| void QwtScaleEngine::setAttribute | ( | Attribute | attribute, |
| bool | on = true |
||
| ) |
Set an attribute.
Change a scale attribute.
| attribute | Attribute to change |
| on | On/Off |
| void QwtScaleEngine::setAttributes | ( | Attributes | attributes | ) |
Set attributes.
Change the scale attribute.
| attributes | Set scale attributes |
| void QwtScaleEngine::setBase | ( | uint | base | ) |
Set the base.
Set the base of the scale engine.
| base | Base of the 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.
| void QwtScaleEngine::setMargins | ( | double | lower, |
| double | upper | ||
| ) |
Set the margins.
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 | ) |
Set the reference value.
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 | ) |
Set the transformation.
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 |
Strip values outside an interval.
Remove ticks from a list, that are not inside an interval.
| ticks | Tick list |
| interval | Interval |
| bool QwtScaleEngine::testAttribute | ( | Attribute | attribute | ) | const |
Test if an attribute is enabled.
| 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 nullptr is returned, indicating no transformation.
| double QwtScaleEngine::upperMargin | ( | ) | const |
Return the margin at the upper end of the scale.
The default margin is 0.